公开协议产品 

特点

优点

缺点

EDP

亲儿子,旗舰级,功能全面

功能丰富,接收数据格式多样

数据需要最低限度的打包

MQTT

功耗低,轻量级,协议成熟

资料多,One net对其支持同EDP

同上

HTTP

设备只能发送数据,不能接收

无需建立HTTP连接,格式简单

服务器不能控制设备

ModBus

基于ModBus的数据经过简单封装即可传输

使用方便(对已使用ModBus协议的设备)

使用困难(非Modbus协议设备)

JT\T800

车载终端设备优先选择的接入协议

针对性强

通用性差

TCP透传

自定义脚本对数据进行解析

传输数据灵活,可自定义格式

需要编写Lua脚本

详细比较

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脚本自己解释自己的数据。



以上只是一个单片机开发人员的主观感受,如果有大神前来指导,不胜感激。