中移物聯網硬件接入協議: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傻傻分不清,效果沒感覺多大區別