中移物联网硬件接入协议:LWM2M协议,EDP协议,MQTT协议,HTTP协议,TCP透传,MODBUS协议,JT/T808协议,RCMP协议
8种通信协议的区别在哪?
详细比较
EDP:OneNET平台自己开发的协议,消息类型(用于设备与服务器交互,类型越多即功能越多)多,接收数据时的支持格式多(达到7种)。是官方平台力推且功能强大的协议。
MQTT:早于OneNET平台就有的协议,消息类型、数据格式与EDP支持的数量相当。OneNET使用的协议似乎与通用的MQTT略有不同,开发文档上说"只介绍不同的部分"。疑似EDP的原型,OneNET平台虽然支持使用,但开发文档似乎故意没有翻译完全......
HTTP:直观看就是直接使用RestFul API对服务器进行数据传输。特点是不能使用服务器向设备下发命令。
ModBus:严格以ModBus协议进行通信。如果是已经使用这种协议的设备,那么连接服务器后很容易传输数据。反之,就要面临着数据不易打包、可传输数据格式少且严格等问题。
JT\T800:J为T/T808协议提供的拓展协议,车载终端设备专用,需要的可以细看
TCP透传:在服务器上用自己编写的脚本解释设备上传的数据。即将设备要做的数据打包工作交给服务器去做,而服务器的依据是用户上传的自定义脚本。
总的来说,给人的感觉是OneNET 平台支持旧的物联网协议MQTT,基于其制作了自己的协议EDP,允许使用人数众多的ModBus协议和JT\T800协议直接接入平台,将RestFul API整合作为HTTP协议,剩下用自己方式写数据的去使用TCP透传协议编写Lua脚本自己解释自己的数据。
补充:我尝试过用HTTP修改移动平台上的变量,来控制下方硬件。不过效率不高。
体验过程中的不适
1.在例程中EDP,MQTT傻傻分不清,效果没感觉多大区别