ESP-IDF 例程——MQTT、http、sockets、modbus
16. protocols 目录
16.1 mqtt/tcp 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | mqtt/tcp |
| 所在文件夹路径 | examples\protocols\mqtt\tcp |
| 核心功能说明 | 演示如何使用ESP-MQTT库实现MQTT客户端,通过TCP传输连接到MQTT broker。实现了连接到broker、订阅/取消订阅主题、发布消息等功能。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mqtt_event_handler():处理MQTT事件- esp_mqtt_client_init():初始化MQTT客户端- esp_mqtt_client_start():启动MQTT客户端- esp_mqtt_client_publish():发布MQTT消息- esp_mqtt_client_subscribe():订阅MQTT主题- esp_mqtt_client_unsubscribe():取消订阅MQTT主题 |
| 输入输出参数说明 | 输入: - 配置的MQTT broker URI(通过menuconfig设置) - Wi-Fi SSID和密码 输出: - MQTT连接状态 - 消息发布结果 - 订阅/取消订阅结果 - 接收到的MQTT消息 |
| 适用场景及典型应用案例 | 适用于: - 学习MQTT协议的实现和使用 - 开发物联网设备与云平台的通信 - 构建基于MQTT的传感器网络 - 智能家居设备的远程控制 - 作为MQTT客户端应用的参考模板 |
16.2 http_request 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | http_request |
| 所在文件夹路径 | examples\protocols\http_request |
| 核心功能说明 | 演示如何使用POSIX socket API实现简单的HTTP请求。通过创建TCP连接、发送HTTP请求和接收HTTP响应,展示了HTTP客户端的基本实现。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- http_request_task():执行HTTP请求的任务- socket():创建socket- getaddrinfo():解析域名- connect():建立TCP连接- send():发送HTTP请求- recv():接收HTTP响应 |
| 输入输出参数说明 | 输入: - 目标URL(硬编码在程序中) - Wi-Fi SSID和密码 输出: - HTTP请求结果 - 服务器返回的HTTP响应 - 连接状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习HTTP协议的基本实现 - 了解POSIX socket API的使用 - 开发简单的HTTP客户端应用 - 测试网络连接 - 作为HTTP客户端应用的参考模板 |
16.3 sockets/tcp_client 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | sockets/tcp_client |
| 所在文件夹路径 | examples\protocols\sockets\tcp_client |
| 核心功能说明 | 演示如何使用POSIX socket API实现TCP客户端。实现了TCP连接的建立、数据发送和接收,支持IPv4和IPv6两种协议。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- tcp_client_task():TCP客户端任务- socket():创建socket- getaddrinfo():解析域名或IP地址- connect():建立TCP连接- send():发送数据- recv():接收数据 |
| 输入输出参数说明 | 输入: - 目标服务器IP地址或域名 - 目标端口号 - Wi-Fi SSID和密码 输出: - TCP连接状态 - 发送的数据 - 接收的数据 |
| 适用场景及典型应用案例 | 适用于: - 学习TCP客户端的基本实现 - 了解POSIX socket API的使用 - 开发基于TCP的客户端应用 - 测试TCP服务器 - 作为TCP客户端应用的参考模板 |
16.4 https_request 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | https_request |
| 所在文件夹路径 | examples\protocols\https_request |
| 核心功能说明 | 演示如何使用ESP-IDF的HTTPS客户端API实现安全的HTTP请求。支持TLS加密、服务器证书验证,并展示了如何获取服务器时间。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- https_request_task():执行HTTPS请求的任务- esp_https_client_init():初始化HTTPS客户端- esp_https_client_open():打开HTTPS连接- esp_https_client_read():读取HTTPS响应- esp_https_client_close():关闭HTTPS连接- esp_https_client_cleanup():清理HTTPS客户端资源 |
| 输入输出参数说明 | 输入: - 目标HTTPS URL(硬编码在程序中) - 服务器根证书(硬编码在程序中) - Wi-Fi SSID和密码 输出: - HTTPS请求结果 - 服务器返回的HTTPS响应 - 服务器时间信息 |
| 适用场景及典型应用案例 | 适用于: - 学习HTTPS客户端的基本实现 - 了解TLS加密和证书验证 - 开发安全的HTTP客户端应用 - 连接需要身份验证的云服务 - 作为HTTPS客户端应用的参考模板 |
16.5 modbus/serial/mb_slave 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | modbus/serial/mb_slave |
| 所在文件夹路径 | examples\protocols\modbus\serial\mb_slave |
| 核心功能说明 | 演示如何使用ESP-IDF的Modbus组件实现Modbus RTU从机。支持线圈、离散输入、保持寄存器和输入寄存器四种数据类型,通过串行接口与Modbus主机通信。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mb_slave_init():初始化Modbus从机- mb_slave_start():启动Modbus从机- mb_example_init_gpio():初始化GPIO- mb_register_callbacks():注册回调函数- 各种Modbus数据处理函数 |
| 输入输出参数说明 | 输入: - Modbus主机发送的命令 输出: - Modbus从机的响应 - 寄存器数据 - 线圈状态 |
| 适用场景及典型应用案例 | 适用于: - 学习Modbus协议的基本实现 - 了解Modbus从机的工作原理 - 开发基于Modbus的工业设备 - 构建工业自动化系统 - 作为Modbus从机应用的参考模板 |
16.6 dns_over_https 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | dns_over_https |
| 所在文件夹路径 | examples\protocols\dns_over_https |
| 核心功能说明 | 演示如何使用DNS over HTTPS (DoH) 协议进行域名解析,通过HTTPS加密通道发送DNS查询,提高域名解析的安全性和隐私性。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- dns_over_https_init():初始化DoH客户端- dns_over_https_query():执行DoH查询- 时间同步功能 - HTTPS客户端API |
| 输入输出参数说明 | 输入: - 要解析的域名 - DoH服务器URL 输出: - 解析结果(IP地址) - 查询状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习DoH协议的实现和使用 - 开发需要安全域名解析的应用 - 保护用户隐私的网络应用 - 作为DoH客户端应用的参考模板 |
16.7 esp_http_client 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | esp_http_client |
| 所在文件夹路径 | examples\protocols\esp_http_client |
| 核心功能说明 | 演示如何使用ESP-IDF的HTTP客户端库进行HTTP请求,支持HTTP/HTTPS、GET/POST方法、重定向、认证等功能。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_http_client_init():初始化HTTP客户端- esp_http_client_open():打开HTTP连接- esp_http_client_write():写入HTTP请求数据- esp_http_client_read():读取HTTP响应- esp_http_client_close():关闭HTTP连接 |
| 输入输出参数说明 | 输入: - HTTP请求URL - 请求方法(GET/POST等) - 请求数据 输出: - HTTP响应状态码 - 响应头 - 响应体 |
| 适用场景及典型应用案例 | 适用于: - 学习ESP-IDF HTTP客户端库的使用 - 开发需要HTTP通信的应用 - 连接Web API和云服务 - 作为HTTP客户端应用的参考模板 |
16.8 esp_local_ctrl 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | esp_local_ctrl |
| 所在文件夹路径 | examples\protocols\esp_local_ctrl |
| 核心功能说明 | 演示如何使用ESP Local Control组件实现设备的本地控制,支持通过HTTP或HTTPS进行设备配置和管理。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_local_ctrl_init():初始化本地控制服务- esp_local_ctrl_register_service():注册服务- esp_local_ctrl_start():启动本地控制服务 |
| 输入输出参数说明 | 输入: - 设备配置参数 输出: - 设备状态信息 - 配置结果 |
| 适用场景及典型应用案例 | 适用于: - 学习本地设备控制的实现 - 开发需要本地配置的设备 - 智能家居设备的本地管理 - 作为本地控制服务的参考模板 |
16.9 http_server 例程
16.9.1 http_server/simple 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | http_server/simple |
| 所在文件夹路径 | examples\protocols\http_server\simple |
| 核心功能说明 | 演示如何使用ESP-IDF的HTTP服务器库创建简单的HTTP服务器,支持基本的HTTP请求处理和响应。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- httpd_start():启动HTTP服务器- httpd_register_uri_handler():注册URI处理程序- 各种HTTP请求处理函数 |
| 输入输出参数说明 | 输入: - HTTP客户端请求 输出: - HTTP服务器响应 |
| 适用场景及典型应用案例 | 适用于: - 学习HTTP服务器的基本实现 - 开发需要本地Web界面的设备 - 物联网设备的配置界面 - 作为HTTP服务器应用的参考模板 |
16.9.2 http_server/file_serving 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | http_server/file_serving |
| 所在文件夹路径 | examples\protocols\http_server\file_serving |
| 核心功能说明 | 演示如何使用HTTP服务器提供文件服务,支持从SPIFFS或SD卡读取文件并通过HTTP提供给客户端。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- httpd_start():启动HTTP服务器- httpd_register_uri_handler():注册URI处理程序- 文件系统操作函数 |
| 输入输出参数说明 | 输入: - HTTP客户端请求的文件路径 输出: - 请求的文件内容 - 文件不存在时的错误响应 |
| 适用场景及典型应用案例 | 适用于: - 学习HTTP文件服务的实现 - 开发需要提供静态文件的Web应用 - 物联网设备的Web界面 - 作为文件服务器应用的参考模板 |
16.10 https_mbedtls 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | https_mbedtls |
| 所在文件夹路径 | examples\protocols\https_mbedtls |
| 核心功能说明 | 演示如何使用mbedTLS库实现HTTPS客户端,支持TLS加密和服务器证书验证。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mbedTLS初始化和配置函数 - SSL/TLS连接函数 - 网络套接字操作函数 |
| 输入输出参数说明 | 输入: - HTTPS服务器URL - 服务器根证书 输出: - HTTPS连接状态 - 服务器响应 |
| 适用场景及典型应用案例 | 适用于: - 学习mbedTLS库的使用 - 开发安全的HTTPS客户端应用 - 连接需要TLS加密的服务 - 作为HTTPS客户端应用的参考模板 |
16.11 https_server 例程
16.11.1 https_server/simple 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | https_server/simple |
| 所在文件夹路径 | examples\protocols\https_server\simple |
| 核心功能说明 | 演示如何使用ESP-IDF的HTTPS服务器库创建安全的HTTPS服务器,支持TLS加密和客户端连接。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- httpd_ssl_start():启动HTTPS服务器- httpd_register_uri_handler():注册URI处理程序- SSL/TLS配置函数 |
| 输入输出参数说明 | 输入: - HTTPS客户端请求 输出: - HTTPS服务器响应 |
| 适用场景及典型应用案例 | 适用于: - 学习HTTPS服务器的基本实现 - 开发需要安全Web界面的设备 - 物联网设备的安全配置界面 - 作为HTTPS服务器应用的参考模板 |
16.12 https_x509_bundle 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | https_x509_bundle |
| 所在文件夹路径 | examples\protocols\https_x509_bundle |
| 核心功能说明 | 演示如何使用X.509证书 bundle 验证HTTPS服务器证书,提高HTTPS连接的安全性和可靠性。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_https_client_init():初始化HTTPS客户端- 证书验证函数 - HTTPS客户端API |
| 输入输出参数说明 | 输入: - HTTPS服务器URL - X.509证书 bundle 输出: - HTTPS连接状态 - 服务器响应 |
| 适用场景及典型应用案例 | 适用于: - 学习X.509证书验证 - 开发需要安全HTTPS连接的应用 - 提高HTTPS客户端的安全性 - 作为证书验证的参考模板 |
16.13 icmp_echo 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | icmp_echo |
| 所在文件夹路径 | examples\protocols\icmp_echo |
| 核心功能说明 | 演示如何使用ICMP协议实现Ping功能,用于测试网络连接和测量网络延迟。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- icmp_echo_task():执行ICMP echo请求的任务- 套接字操作函数 - ICMP包构建和解析函数 |
| 输入输出参数说明 | 输入: - 目标IP地址 - Ping次数和间隔 输出: - Ping结果(成功/失败) - 往返时间 - 网络延迟统计 |
| 适用场景及典型应用案例 | 适用于: - 学习ICMP协议的实现 - 开发网络诊断工具 - 测试网络连接状态 - 作为Ping工具的参考模板 |
16.14 l2tap 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | l2tap |
| 所在文件夹路径 | examples\protocols\l2tap |
| 核心功能说明 | 演示如何使用L2TAP(Layer 2 Tunneling Access Protocol)在网络层和数据链路层之间建立隧道,实现网络数据的转发。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- l2tap_init():初始化L2TAP- l2tap_send():发送L2TAP数据- l2tap_recv():接收L2TAP数据 |
| 输入输出参数说明 | 输入: - 要发送的数据 输出: - 接收到的数据 - 隧道状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习L2TAP协议的实现 - 开发网络隧道应用 - 实现网络数据转发 - 作为L2TAP应用的参考模板 |
16.15 modbus/serial/mb_master 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | modbus/serial/mb_master |
| 所在文件夹路径 | examples\protocols\modbus\serial\mb_master |
| 核心功能说明 | 演示如何使用ESP-IDF的Modbus组件实现Modbus RTU主机。支持线圈、离散输入、保持寄存器和输入寄存器四种数据类型的读写操作,通过串行接口与Modbus从机通信。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mb_master_init():初始化Modbus主机- mb_master_start():启动Modbus主机- mb_master_send_request():发送Modbus请求- 各种Modbus数据处理函数 |
| 输入输出参数说明 | 输入: - 从机地址 - 寄存器地址和数量 输出: - 从机响应数据 - 操作结果状态 |
| 适用场景及典型应用案例 | 适用于: - 学习Modbus主机的实现 - 开发工业控制系统 - 构建Modbus网络的主站 - 作为Modbus主机应用的参考模板 |
16.16 modbus/tcp 例程
16.16.1 modbus/tcp/mb_tcp_master 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | modbus/tcp/mb_tcp_master |
| 所在文件夹路径 | examples\protocols\modbus\tcp\mb_tcp_master |
| 核心功能说明 | 演示如何使用ESP-IDF的Modbus组件实现Modbus TCP主机。通过TCP/IP网络与Modbus TCP从机通信,支持四种数据类型的读写操作。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mb_tcp_master_init():初始化Modbus TCP主机- mb_tcp_master_start():启动Modbus TCP主机- mb_tcp_master_send_request():发送Modbus TCP请求 |
| 输入输出参数说明 | 输入: - 从机IP地址和端口 - 寄存器地址和数量 输出: - 从机响应数据 - 操作结果状态 |
| 适用场景及典型应用案例 | 适用于: - 学习Modbus TCP协议的实现 - 开发基于网络的工业控制系统 - 构建Modbus TCP网络的主站 - 作为Modbus TCP主机应用的参考模板 |
16.16.2 modbus/tcp/mb_tcp_slave 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | modbus/tcp/mb_tcp_slave |
| 所在文件夹路径 | examples\protocols\modbus\tcp\mb_tcp_slave |
| 核心功能说明 | 演示如何使用ESP-IDF的Modbus组件实现Modbus TCP从机。通过TCP/IP网络与Modbus TCP主机通信,支持四种数据类型的读写操作。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mb_tcp_slave_init():初始化Modbus TCP从机- mb_tcp_slave_start():启动Modbus TCP从机- 各种Modbus数据处理函数 |
| 输入输出参数说明 | 输入: - Modbus TCP主机发送的命令 输出: - Modbus TCP从机的响应 - 寄存器数据 - 线圈状态 |
| 适用场景及典型应用案例 | 适用于: - 学习Modbus TCP从机的实现 - 开发基于网络的工业设备 - 构建Modbus TCP网络的从站 - 作为Modbus TCP从机应用的参考模板 |
16.17 mqtt/ssl 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | mqtt/ssl |
| 所在文件夹路径 | examples\protocols\mqtt\ssl |
| 核心功能说明 | 演示如何使用ESP-MQTT库实现MQTT客户端,通过SSL/TLS加密连接到MQTT broker,提高通信安全性。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mqtt_event_handler():处理MQTT事件- esp_mqtt_client_init():初始化MQTT客户端- esp_mqtt_client_start():启动MQTT客户端- 证书验证相关函数 |
| 输入输出参数说明 | 输入: - 配置的MQTT broker URI(通过menuconfig设置) - 服务器根证书 - Wi-Fi SSID和密码 输出: - MQTT连接状态 - 消息发布结果 - 订阅/取消订阅结果 - 接收到的MQTT消息 |
| 适用场景及典型应用案例 | 适用于: - 学习MQTT over SSL/TLS的实现 - 开发需要安全通信的物联网设备 - 连接需要加密的MQTT broker - 作为安全MQTT客户端应用的参考模板 |
16.18 mqtt/ws 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | mqtt/ws |
| 所在文件夹路径 | examples\protocols\mqtt\ws |
| 核心功能说明 | 演示如何使用ESP-MQTT库实现MQTT客户端,通过WebSocket连接到MQTT broker,适用于需要通过Web端口进行MQTT通信的场景。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mqtt_event_handler():处理MQTT事件- esp_mqtt_client_init():初始化MQTT客户端- esp_mqtt_client_start():启动MQTT客户端 |
| 输入输出参数说明 | 输入: - 配置的MQTT broker WebSocket URI(通过menuconfig设置) - Wi-Fi SSID和密码 输出: - MQTT连接状态 - 消息发布结果 - 订阅/取消订阅结果 - 接收到的MQTT消息 |
| 适用场景及典型应用案例 | 适用于: - 学习MQTT over WebSocket的实现 - 开发需要通过Web端口通信的物联网设备 - 绕过防火墙限制的MQTT通信 - 作为WebSocket MQTT客户端应用的参考模板 |
16.19 mqtt/wss 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | mqtt/wss |
| 所在文件夹路径 | examples\protocols\mqtt\wss |
| 核心功能说明 | 演示如何使用ESP-MQTT库实现MQTT客户端,通过WebSocket over SSL/TLS加密连接到MQTT broker,提高通信安全性。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mqtt_event_handler():处理MQTT事件- esp_mqtt_client_init():初始化MQTT客户端- esp_mqtt_client_start():启动MQTT客户端- 证书验证相关函数 |
| 输入输出参数说明 | 输入: - 配置的MQTT broker WSS URI(通过menuconfig设置) - 服务器根证书 - Wi-Fi SSID和密码 输出: - MQTT连接状态 - 消息发布结果 - 订阅/取消订阅结果 - 接收到的MQTT消息 |
| 适用场景及典型应用案例 | 适用于: - 学习安全的MQTT over WebSocket实现 - 开发需要安全WebSocket通信的物联网设备 - 连接需要加密的WebSocket MQTT broker - 作为安全WebSocket MQTT客户端应用的参考模板 |
16.20 mqtt5 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | mqtt5 |
| 所在文件夹路径 | examples\protocols\mqtt5 |
| 核心功能说明 | 演示如何使用ESP-MQTT库实现MQTT 5.0客户端,支持MQTT 5.0的新特性,如用户属性、消息过期时间、共享订阅等。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- mqtt_event_handler():处理MQTT事件- esp_mqtt_client_init():初始化MQTT客户端- esp_mqtt_client_start():启动MQTT客户端- MQTT 5.0特性相关函数 |
| 输入输出参数说明 | 输入: - 配置的MQTT broker URI(通过menuconfig设置) - Wi-Fi SSID和密码 输出: - MQTT连接状态 - 消息发布结果 - 订阅/取消订阅结果 - 接收到的MQTT消息 |
| 适用场景及典型应用案例 | 适用于: - 学习MQTT 5.0协议的新特性 - 开发需要MQTT 5.0功能的物联网设备 - 利用MQTT 5.0特性优化通信 - 作为MQTT 5.0客户端应用的参考模板 |
16.21 smtp_client 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | smtp_client |
| 所在文件夹路径 | examples\protocols\smtp_client |
| 核心功能说明 | 演示如何使用ESP-IDF的SMTP客户端发送电子邮件,支持TLS加密和附件发送。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- smtp_client_init():初始化SMTP客户端- smtp_client_send_mail():发送邮件- TLS加密相关函数 |
| 输入输出参数说明 | 输入: - SMTP服务器配置 - 发件人、收件人、主题、内容 - 附件(可选) 输出: - 邮件发送结果 - 服务器响应 |
| 适用场景及典型应用案例 | 适用于: - 学习SMTP客户端的实现 - 开发需要发送邮件的应用 - 设备状态通知 - 报警和事件通知 - 作为SMTP客户端应用的参考模板 |
16.22 sntp 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | sntp |
| 所在文件夹路径 | examples\protocols\sntp |
| 核心功能说明 | 演示如何使用SNTP(Simple Network Time Protocol)同步设备时间,从网络时间服务器获取准确的当前时间。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- sntp_init():初始化SNTP- sntp_setoperatingmode():设置SNTP操作模式- sntp_setservername():设置NTP服务器- sntp_get_time():获取当前时间 |
| 输入输出参数说明 | 输入: - NTP服务器地址 输出: - 同步后的系统时间 - 同步状态信息 |
| 适用场景及典型应用案例 | 适用于: - 学习SNTP协议的实现 - 开发需要准确时间的应用 - 日志记录和时间戳 - 证书验证和安全通信 - 作为时间同步应用的参考模板 |
16.23 sockets/tcp_server 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | sockets/tcp_server |
| 所在文件夹路径 | examples\protocols\sockets\tcp_server |
| 核心功能说明 | 演示如何使用POSIX socket API实现TCP服务器。实现了TCP连接的监听、接受、数据发送和接收,支持IPv4和IPv6两种协议。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- tcp_server_task():TCP服务器任务- socket():创建socket- bind():绑定端口- listen():监听连接- accept():接受连接- send():发送数据- recv():接收数据 |
| 输入输出参数说明 | 输入: - 服务器端口号 输出: - 客户端连接状态 - 接收到的数据 - 发送的数据 |
| 适用场景及典型应用案例 | 适用于: - 学习TCP服务器的基本实现 - 了解POSIX socket API的使用 - 开发基于TCP的服务器应用 - 构建网络服务 - 作为TCP服务器应用的参考模板 |
16.24 sockets/udp_client 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | sockets/udp_client |
| 所在文件夹路径 | examples\protocols\sockets\udp_client |
| 核心功能说明 | 演示如何使用POSIX socket API实现UDP客户端。实现了UDP数据包的发送和接收,支持IPv4和IPv6两种协议。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- udp_client_task():UDP客户端任务- socket():创建socket- getaddrinfo():解析域名或IP地址- sendto():发送UDP数据包- recvfrom():接收UDP数据包 |
| 输入输出参数说明 | 输入: - 目标服务器IP地址或域名 - 目标端口号 - 要发送的数据 输出: - 发送状态 - 接收到的UDP数据包 |
| 适用场景及典型应用案例 | 适用于: - 学习UDP客户端的基本实现 - 了解POSIX socket API的使用 - 开发基于UDP的客户端应用 - 构建低延迟通信应用 - 作为UDP客户端应用的参考模板 |
16.25 sockets/udp_server 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | sockets/udp_server |
| 所在文件夹路径 | examples\protocols\sockets\udp_server |
| 核心功能说明 | 演示如何使用POSIX socket API实现UDP服务器。实现了UDP数据包的接收和发送,支持IPv4和IPv6两种协议。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- udp_server_task():UDP服务器任务- socket():创建socket- bind():绑定端口- recvfrom():接收UDP数据包- sendto():发送UDP数据包 |
| 输入输出参数说明 | 输入: - 服务器端口号 输出: - 接收到的UDP数据包 - 发送状态 |
| 适用场景及典型应用案例 | 适用于: - 学习UDP服务器的基本实现 - 了解POSIX socket API的使用 - 开发基于UDP的服务器应用 - 构建低延迟通信服务 - 作为UDP服务器应用的参考模板 |
16.26 static_ip 例程
| 字段 | 描述 |
|---|---|
| 例程名称 | static_ip |
| 所在文件夹路径 | examples\protocols\static_ip |
| 核心功能说明 | 演示如何为ESP32设备配置静态IP地址,而不是使用DHCP自动获取IP地址。 |
| 主要调用的内部/外部函数或模块 | - app_main():程序入口函数- esp_netif_init():初始化网络接口- esp_netif_create_default_wifi_sta():创建默认Wi-Fi STA接口- esp_netif_dhcpc_stop():停止DHCP客户端- esp_netif_set_ip_info():设置静态IP信息 |
| 输入输出参数说明 | 输入: - 静态IP地址 - 子网掩码 - 网关地址 - DNS服务器地址 输出: - 网络接口状态 - IP配置结果 |
| 适用场景及典型应用案例 | 适用于: - 学习静态IP配置的实现 - 开发需要固定IP地址的应用 - 构建需要稳定网络地址的设备 - 企业网络中的设备配置 - 作为静态IP配置的参考模板 |
ESP-IDF 例程——MQTT、http、sockets、modbus
https://blog.zhaosn.top/ESP32-examples/16.protocols/