ESP32物联网智能硬件开发实战-PPT课件.ppt

  1. 1、本文档共317页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(6)MQTT协议中的方法。 MQTT协议中定义了一些方法(也被称为动作),表示对确定资源进行操作。这个资源可以代表预先存在的数据或动态生成数据,取决于服务器端的实现。通常来说,资源指服务器端上的文件或输出。主要方法有: Connect:等待与服务器端建立连接。 Disconnect:等待MQTT客户端完成所做的工作,并与服务器端断开TCP/IP会话。 Subscribe:等待完成订阅。 UnSubscribe:等待服务器端取消客户端的一个或多个主题订阅。 Publish:MQTT客户端发送消息请求,发送完成后返回应用程序线程。 (7)MQTT协议数据包结构。 在MQTT协议中,一个MQTT数据包:固定头(Fixed header)、可变头(Variable header)、消息体(Payload)三部分构成。MQTT数据包结构如下: 固定头(Fixed header)。存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识。可变头(Variable header)。存在于部分MQTT数据包中,数据包类型决定了可变头是否存在及其具体内容。消息体(Payload)。存在于部分MQTT数据包中,表示客户端收到的具体内容。 * 7.3.1 MQTT数据类型 ESP32开发板支持基于TCP的MQTT,具有mbedtls的SSL,基于Websocket的MQTT和Websocket Secure的MQTT,易于设置URI,支持多个实例(一个应用程序中有多个客户端)、支持订阅、发布、身份验证、最终消息,保持连接和所有3个QoS级别(即一个功能齐全的客户端) * 1.esp_mqtt_event_id_t类型 MQTT事件类型,是枚举类型,定义如下: typedef enum { MQTT_EVENT_ANY = -1, MQTT_EVENT_ERROR = 0, /*错误事件*/ MQTT_EVENT_CONNECTED, /*连接事件*/ MQTT_EVENT_DISCONNECTED, /*断开事件*/ MQTT_EVENT_SUBSCRIBED, /*订阅事件*/ MQTT_EVENT_UNSUBSCRIBED, /*取消订阅事件 */ MQTT_EVENT_PUBLISHED, /*发布事件*/ MQTT_EVENT_DATA, /*数据事件,包括相关变量处理*/ MQTT_EVENT_BEFORE_CONNECT, /*该事件在连接之前发生*/ } esp_mqtt_event_id_t; 2.esp_mqtt_connect_return_code_t类型 通过ERROR事件传播的MQTT连接返回码,是枚举类型,定义如下: typedef enum { MQTT_CONNECTION_ACCEPTED = 0, /*接收连接*/ MQTT_CONNECTION_REFUSE_PROTOCOL, /*错误的协议*/ MQTT_CONNECTION_REFUSE_ID_REJECTED, /*ID被拒绝*/ MQTT_CONNECTION_REFUSE_SERVER_UNAVAILABLE, /*服务器端不可用*/ MQTT_CONNECTION_REFUSE_BAD_USERNAME, /*错误的用户名*/ MQTT_CONNECTION_REFUSE_NOT_AUTHORIZED /*错误的用户名和密码*/ } esp_mqtt_connect_return_code_t; * 3.esp_mqtt_error_type_t类型 通过ERROR事件传播的MQTT错误类型码,是枚举类型,定义如下: typedef enum { MQTT_ERROR_TYPE_NONE = 0, /*无错误*/ MQTT_ERROR_TYPE_ESP_TLS, /*TLS错误*/ MQTT_ERROR_TYPE_CONNECTION_REFUSED, /*拒绝连接*/ } esp_mqtt_error_type_t; 4.esp_mqtt_transport_t类型 MQTT传输层的选择,是枚举类型,定义如下: typedef enum { MQTT_TRANSPORT_UNKNOWN = 0x0, /*未知*/ MQTT_TRANSPORT_OVER_TCP, /*MQTT通过TCP,使用``mqtt`` */ MQTT_TRANSPORT_OVER_SSL, /*MQTT通过SSL,使用`

文档评论(0)

粱州牧 + 关注
实名认证
内容提供者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档