1. 程式人生 > >BC28對接移動onenet平臺

BC28對接移動onenet平臺

背景

在用移柯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。