物联网嵌入式工程师、物联网平台开发人员、需要掌握物联网应用层通信协议的研发人员。
理解物联网通信协议的特点(轻量级、低功耗、异步)。
掌握MQTT协议的发布/订阅模式、QoS级别与实现方法。
掌握CoAP协议的REST风格、观察模式与实现方法。
能够独立完成基于MQTT/CoAP的物联网设备接入开发。
物联网通信协议概述:物联网通信协议的分层(物理层、链路层、网络层、传输层、应用层);应用层协议的选择因素(功耗、带宽、实时性、安全性);MQTT与CoAP的定位与对比。
MQTT协议基础:MQTT的历史与发展(OASIS标准);MQTT的发布/订阅模式;MQTT代理(Broker)的作用;MQTT客户端的概念;MQTT协议的优势(轻量、异步、一对多)。
MQTT协议详解:MQTT控制报文类型(CONNECT、CONNACK、PUBLISH、SUBSCRIBE、SUBACK、PINGREQ等);固定头与可变头的格式;主题(Topic)的层级结构与通配符(+、#);服务质量(QoS 0、1、2)的含义与实现机制;保持连接(Keep Alive)与心跳。
MQTT保留消息与遗嘱:保留消息(Retained Message)的作用(新订阅者获取最新状态);遗嘱消息(Will Message)的用途(异常断线通知);遗嘱消息的设置与触发条件。
MQTT Broker搭建与配置:主流MQTT Broker(Mosquitto、EMQX、VerneMQ、HiveMQ)的对比;Mosquitto的安装与配置(监听端口、认证、权限控制);EMQX集群的搭建;Broker的监控与管理。
MQTT客户端开发:基于C语言的MQTT客户端(Eclipse Paho)的移植与使用;MQTT连接参数的设置(ClientID、用户名、密码、KeepAlive);主题的订阅与消息接收;消息的发布;QoS的实现差异。
MQTT-SN协议:MQTT-SN(MQTT for Sensor Networks)的设计目标(适应低功耗、低带宽网络);MQTT-SN与MQTT的对比;MQTT-SN的网关机制;MQTT-SN的报文格式。
CoAP协议基础:CoAP(受限应用协议)的设计目标(类似HTTP的REST风格,适用于受限节点);CoAP与HTTP的对比;CoAP的消息层(Message Layer)与请求/响应层(Request/Response Layer)。
CoAP协议详解:CoAP的报文结构(Header、Token、Options、Payload);CoAP的方法(GET、POST、PUT、DELETE);CoAP的响应码(2.xx、4.xx、5.xx);CoAP的消息类型(CON、NON、ACK、RST);可靠传输机制(CON报文的重传)。
CoAP观察模式与发现:CoAP的观察(Observe)模式(服务器通知客户端资源变化);CoAP的资源发现(/.well-known/core);CoAP的块传输(Block-wise Transfer)处理大块数据。
CoAP客户端开发:基于C语言的CoAP客户端库(libcoap)的使用;CoAP服务器的搭建;CoAP资源的定义与处理;CoAP观察模式的实现;CoAP与DTLS(CoAPS)的安全通信。
综合实战项目:基于MQTT/CoAP的物联网设备接入开发,包含MQTT Broker部署、MQTT客户端实现、主题设计、QoS配置;或CoAP服务器搭建、资源定义、观察模式实现与云端平台对接。