BC28對接移動onenet平臺
阿新 • • 發佈:2018-11-07
背景
在用移柯L620兩週之後終於放棄了。。真的奇葩做了個1.8V串列埠,1.8V串列埠是為了低功耗能理解,但是也要做的穩定啊,經常亂碼,就是波特率有問題,還有其他種種硬體出問題,希望移柯能夠改進一下。
改變
最後決定使用移遠的BC28模組,主要原因是全網通,考慮以後產品相容問題,還有產品的體積問題,BC28與BC35其實基本都一樣,就是BC28超緊湊型,體積可以做的很小。
移遠 、移柯模組使用上基本一致很像,但是產品穩定性和易用性上真的不是一個檔次的。。
在使用上基本一樣,可以參考L620接入onenet平臺。
主要還是下列幾個命令,下面詳細介紹一下
AT+MIPLCREATE AT+MIPLADDOBJ=0,3303,1,1,1,0 AT+MIPLOPEN=0,36000 AT+MIPLOBSERVERSP=0,68348,1 AT+MIPLDISCOVERRSP=0,78162,1,4,"5701"
命令詳解
AT+MIPLCREATE :The command is used to create an instance of OneNET communication suite.
這個命令就是用來建立onenet通訊套接字例項。一般情況不會出錯,但是也有困難出錯,那就是你的NB模組韌體版本不支援對接移動onenet平臺,需要進行NB韌體升級。可以參考我的另一篇文章
AT+MIPLADDOBJ=0,3303,1,1,1,0 :The command is used to add a LwM2M object.
這個命令時用來新增LWM2M例項的,舉個格式如下
MIPLADDOBJ:<ref>,<objId>,<insCount>,<insBitmap>,<attrCount>,<actCount>
- ref :通訊套接字的例項號
- objId :物件所對應的號碼。這個查詢OneNET之IPSO和OMA模型規範
- insCount :物件例項個數。
- insBitmap :物件例項序號。
- attrCount :屬性個數。
- actCount :action個數,我目前一直是寫的0,沒有搞懂具體含義,有誰知道,歡迎評論。
AT+MIPLOPEN=0,36000,50 :The command is used to send register request to OneNET platform.
這個命令時用來向Onenet平臺傳送註冊資訊的,具體格式如下
MIPLOPEN: <ref>,<lifetime>[,<timeout>]
- ref :通訊套接字的例項號。
- lifetime :整個連線生命週期。
- timeout :回覆超時時間。這個我也不太清楚,也沒說明白,到底是哪個超時時間,歡迎評論留言。
這個命令發出後,會有很多回復,在回覆中包含了兩個重要的MsgID,涉及資源的上報和資料上報。如
AT+MIPLOPEN=0,3600000,50
OK
+MIPLEVENT: 0,1
+MIPLEVENT: 0,2
+MIPLEVENT: 0,4
+MIPLEVENT: 0,6
+MIPLOBSERVE: 0,66273,1,3303,0,-1 #這個66273就是MIPLNOTIFY 的時候的MsgID號
+MIPLDISCOVER: 0,738,3303 #這個738就是MIPLDISCOVERRSP的時候的MsgID號
+MIPLDISCOVER: 0,738,3303
AT+MIPLDISCOVERRSP=0,738,1,4,"5700"
OK
+MIPLEVENT: 0,25,91557
AT+MIPLNOTIFY=0,66273,3303,0,5700,4,4,163.85,0,0
OK
AT+MIPLDISCOVERRSP=0,78162,1,4,“5701” :The command is used to respond to the discover request from OneNET platform
這個命令是用來回應Onenet平臺的 discover請求的,具體格式如下
MIPLDISCOVERRSP: <ref>,<msgId>,<result>[,<length>,<valuestring>[,<raiMode>]]
- length:就是資源的屬性代號的長度
- valuestring:就是資源屬性代號,是個字串,不同屬性代號之間用;隔開。具體代號可以參考OneNET之IPSO和OMA模型規範
AT+MIPLNOTIFY=0,66273,3303,0,5700,4,4,163.85,0,0
The command is used to notify the data to OneNET platform or Application Server.
這個命令是用來上傳資料到Onenet平臺或者應用伺服器的,具體格式如下
MIPLNOTIFY: <ref>,<msgId>,<objId>,<insId>,<resId>,<valueType>,<len>,<value>,<index>,<flag>[,<ackid>[,<raiMode>]]
- objId:就是物件的號,3303表示溫度。
- insId:就是例項的號,0表示Tempatue_0 這個instance。
- resId:就是例項的來源吧(具體意思自己意會),5700表示 Sensor Value
- valueType:就是資料的型別,4表示float型別。
- len:就是資料的長度,4表示4個位元組。
- value:就是具體的資料,163.85就是資料。
- index,flag:這兩個引數目前還沒理解,一般都是寫0。