目錄
前言
最近一直在做NB模塊對接電信雲平臺的項目,在此分享下NB模塊接入雲平臺流程,這次介紹的是移遠BC26芯片,電信的雲平臺也換到了他們的新平臺。
一、電信平臺註冊
登錄電信新平臺後(https://www.ctwing.cn/page.html#/aepuserhelp),先創建產品。產品分類以具體產品爲準,產品選項中選擇網絡類型爲NB-IOT,通信協議是LWM2M,其他選項參考圖1-1.其中是否透傳按實際需求爲準。
圖1-1
創建產品成功後,需要在該產品下定義屬性列表以及服務列表。兩者是平臺對設備上報數據的解析,所以如果是設置爲透傳模式,則無法定義屬性列表和服務列表。最後再進行添加設備,在雲平臺上設備以對應的IMEI碼做區分。注意:必須要先在平臺上添加好設備,相應的實體設備才能連接上。
二、BC26串口收發
在電信IOT註冊好相應產品和設備後,再對BC26模組進行串口通信實現網絡連接。BC26模組,通過設置PWRKEY引腳進行開機,開機後收到上電初始化信息如圖2-1所示。即可以通過接收圖中字符串來判斷NB模塊是否上電初始化成功。
圖2-1
其串口通信過程參考網絡文檔和BC26的LWM2M手冊,其手冊中例子如圖2-2所示,其雲平臺接收數據如圖2-3所示。具體串口通信的收發內容如下測試記錄所示:
TX: AT //確認NB模塊串口通信正常
RX: OK
TX: AT+QSCLK=1 //禁止NB模塊進入休眠
RX: OK
TX: AT+CPSMS=0 //禁止進入PSM
RX: OK
TX: AT+CGSN=1 //查詢IMEI卡號
RX: +CGSN: 866971033129151
TX: AT*MICCID //查詢SIM卡號
RX: *MICCID: 89861118209000154265
TX: AT+CESQ //查詢當前網絡信號質量
RX: +CESQ: 32,0,255,255,26,56 //第五項爲rsrq,範圍0-34,數值越高信號越好
TX: AT+CGPADDR=1 //查詢IP地址,確保模組注網成功
RX: +CGPADDR: 1,10.138.137.41 //查詢到的IP地址
RX: OK
TX: AT+CGATT? //查詢網絡附着狀態
RX: +CGATT: 1 //1表示附着成功,0表示未附着成功
TX: AT+QLWSERV=”221.229.214.202”,5683
//設置IOT平臺IP地址和端口號,電信平臺可查看
RX: OK
TX: AT+QLWCONF="866971033129151" //設置IOT平臺註冊的IMEI號
RX: OK
TX: AT+QLWADDOBJ=19,0,1,"0" //添加LWM2M對象19/0/0--uplink 上行鏈路
RX: OK
TX: AT+QLWADDOBJ=19,1,1,"0" //添加LWM2M對象19/0/0--uplink 下行鏈路
RX: OK
TX: AT+QLWOPEN=0 //註冊IOT平臺
RX: OK //可以在平臺看到設備已上線
TX: AT+QLWCFG=”dataformat”,1,1 //設置發送和接收數據格式爲十六進制的字符串模式
RX: OK
TX: AT+QLWDATASEND=19,0,0,5,68656C6C6F,0x0000
//5表示發送內容爲5個字節,後面是對應數據域內容,其他格式內容固定。
RX: OK
圖2-2
圖2-3
三、注意事項
1.BC26模塊也是串口波特率自適應,故串口流程第一條也是發AT確認通信
2.BC26模塊的休眠和PSM是分開的,這是和技術支持詢問以及自己測試結果看到的,PSM時串口仍然可以收發,但無法和雲平臺通信,休眠模式下禁止串口通信。這些在做低功耗時會開啓,後續博客會專門講下低功耗
3.章節二中的串口收發例子中,發數據那條AT+QLWDATASEND=19,0,0,5,68656C6C6F,0x0000,結尾的0x0000改爲0x0100
就可以在串口發送後收到OK,然後還會收到SEND OK,這個表示數據成功發送到基站,這在實際項目中判斷數據是否發送成功很重要。具體例子參考圖3-1
圖3-1