2.1 UDP与TCP特点
(1)TCP的特点
TCP协议是一种有连接、可靠的、面向字节流、相对比较慢、点对点的传输层协议。TCP协议适用于对可靠性要求比较高的场合。
(2)UDP的特点
UDP协议是一种无连接,不可靠、面向数据报、速度比较快、可实现一对一,多对一的传输层协议。UDP协议适用于对实时性有要求的场合。因为UDP不保证可靠性,所以UDP也没有重传机制,也没有拥塞机制,它只是尽最大努力交付数据。
2.2 CoAP与MQTT
MQTT(基于TCP)和CoAP(基于UDP)其实都比较适用于物联网设备上,但是还是要根据实际场景来选择使用。比如设备运行在一个不需要考虑功耗,但是需要实时被控制的场景,例如充电桩、快递柜等场景,则使用MQTT协议比较合适。如果设备通常只有上报数据,且对功耗很敏感的场景,例如水表、燃气表等场景,则使用CoAP协议比较合适。所以在净水机中使用MQTT跟符合实际上需要。
2.3 CoAP和LWM2M
LwM2M的消息没有对称的反馈消息,由于LwM2M承载在CoAP协议上,使用CoAP的get、post、put、delete方式,对于相应消息成功或失败的反馈是通过CoAP协议本身的交互来实现的。LwM2M载荷支持四种格式 plain text、Opaque、TLV、JSON,这四种协议要求服务器端必须都要支持,而在客户端必须支持TLV格式。
2.4 MQTT与MQTTS
1)MQTT的消息模型为publish-subscribe
发布-订阅模式),接收者(subscriber)向中介(broker)提交订阅自己感兴趣的内容,发送者(broker)把消息发送给中介,再由中介发送给订阅者。
这种模式这种通信模式的好处是接收者和发送者轻耦合,双方都只需与中介打交道,不需要关心另一方是谁和在哪里,并且方便接收者、发送者数量的增加和减少,很适用于分布式环境中。
2)尽管MQTT-SN被设计成尽可能接近于MQTT,但那些低功耗、电池驱动、资源受限的设备所在网络场景为低速带宽、高连接失败、物理层数据包上线为128字节
3.1常见AT指令
3.2使用方法
4.1在 MQTT物联网套件(新版)中创建产品添加设备获得以下信息:
产品ID 329008
设备ID 588933402
设备名称 M5311
用户ID 179658
设备key:UBm0A2Q/xK1EW/3HSc2aF59plEif2hryIrg4PQMvK+Q=
access_key :ih8PNp4P/bnB2rnpgAiMb82a2fwDgVVv25mqFDJATFI=
链接:https://open.iot.10086.cn/doc/mqtt/book/device-develop/manual.html
连接 协议证书 地址 端口 说明
MQTT 证书下载 183.230.40.16 8883 加密接口
MQTT 无 183.230.40.96 1883 非加密接口
4.2 token密钥生成(链接:https://open.iot.10086.cn/doc/mqtt/book/manual/auth/introduce.html)
|
|
|
|
|
4.3与onenet数据发送与接收
4.3.1 经过①②③完成数据发送,经过④开启订阅现实数据接收
具体内容为test1=30,发送给平台。
注:
②AT+MQTTOPEN=1(置位代表使用用户名),1(置位代表使用密码),0,0,0,"",""(will项不设置)
AT+MQTTPUB="$sys/329008/M5311/dp/post/json",(主题)1,0( 服务器是否存储该消息),0,0,"{"id":123,"dp":{"test1":[{"v":30}]}}"(json发送test1=30)
④AT+MQTTSUB="$sys/329008/M5311/cmd/request/+"(订阅主题),1 (QoS1 )
4.3.2 ONENET对应2个数据流用于应用层提取数据
5.在mqtt.fx模拟收发(20200523更新)
5.1配置账号:
5.2发送时的topic
5.3.1接收时的topic配置
5.3.2平台端发送