1. 程式人生 > >NB-IoT SIM7000C除錯筆記 01 NB-IoT及GPRS加網測試

NB-IoT SIM7000C除錯筆記 01 NB-IoT及GPRS加網測試

一、前言

NB-IoT現在有華為和高通兩種最主流的方案,兩個方案的代表分別是移遠和SIMCOM。

前頭試玩了移遠BC95,這次玩玩SIM7000C。本小能手作為IoT的弄潮兒,自然是不能拉下。(拉倒吧,人家4月出的模組,你11月才來玩。)

BC95-B8 : 900MHz
BC95-B5 : 850MHz
BC95-B20 : 800MHz
BC95-B28 : 700MHz
BC95-G*: B1/B3/B5/B8/B20/B28

在移遠的多頻NB-IoT還沒出來的時候,SIM7000C顯得領先了很多。SIM7000C是一款多頻LTE-FDD及雙頻GPRS/EDGE無線模組,支援LTE CAT-M1(eMTC)、NB-IoT和GPRS/EDGE。

所以用SIM7000C的便利性很明顯了,一個板子做出來幾乎可以打天下,不用NB-IoT時,那就可以用GPRS,也可以趕時髦上 eMTC。本文在同一個板子分別使用電信NB卡和移動GPRS物聯網絡卡做了驗證測試,初步都能打通。

二、開發板準備

這裡最主要參考官方文件《《SIMCOM_EVB KIT_User Guide_V1.01.pdf》》。不難看到,SIMCOM的一系列模組都是用這個評估板 8PYA00-SIMCOM-EVB。因此這裡我們首先熟悉官方的評估板。

1 SIM卡

這是主卡座,NB卡放這裡就好。

2 除錯串列埠

Enhanced COM port: AT communication
Standard COM port: Debug
CP2105 driver is available here:
http://www.silabs.com/products/interface/usb-bridges/Pages/usb-bridges.aspx

USB線一連線PC,在裝置管理器就可以看到兩個串列埠。這個CP2105還挺厲害。本尊算是第一次見到這種雙串列埠操作,挺酷的。

3 上電

	5.2 Power on Module:

	1) Connect the SIMCOM-TE to the 2x60pins connector on EVB, plug in 5V DC adapter, switch S201 to “ON”
	state; keep S401 to “ON” position.

	2) Press the POWER_ON button for more than 1.5 second and then release, SIMCOM module power on.After
	the module is on, the LED light D402 will be bright ,and the LED light D401will blink at a certain frequency.
	Through the state of LED, you can judge registering status of the module. For detailed description, please
	refer to SIMCOM HD document.

POWER_ON 按鍵按住1.5秒以上,就可以啟動了。

三、NB-IoT註冊網路思路

1. 手冊梳理

流程操作,可參考《SIM7000 系列_TCPIP_應用文件_V1.00.pdf》,但這裡頭僅有TCP/UDP等處理。額外的NB-IoT操作示例在公開渠道上還沒有,聯絡FAE會拿到。當然我的讀者朋友們就有這個福利,如下是NB-IoT的操作範例。

AT+CGMR
Revision:1351B01SIM7000_TEST_20170801

OK
AT+CSUB
+CSUB: V01

OK
AT+CNMP?
+CNMP: 38

OK
AT+CMNB?
+CMNB: 2

OK
AT+CGREG?
+CGREG: 0,1

OK
AT+CGATT?
+CGATT: 1

OK
AT+CPSI?
+CPSI: LTE NB-IOT,Online,460-01,0x6106,53663716,171,EUTRAN-BAND8,3797,0,0,-6,-91,-85,12

OK
AT+COPS?
+COPS: 0,0,"460 01",9

OK
AT+CSQ
+CSQ: 14,99

OK
AT+CGNAPN
+CGNAPN: 1,"CUIOT"

OK
AT+CSTT="CUIOT"
OK
AT+CIICR
OK
AT+CIFSR
10.48.3.213 

AT+CIPSTART="TCP","47.94.228.89",4066
OK
AT+CIPSTATUS
OK

STATE: TCP CONNECTING

CONNECT OK
AT+CIPATS=1,3
OK
AT+CIPSEND
> 1234567890ABCDEFGHIJ

SEND OK
1234567890ABCDEFGHIJ

2.NB設定

SIM7000C由於是多頻模組,不能直接使用NB-IoT。具體的NB相關模式還要再配置下,參考操作示例,發現涉及兩條命令。

5.2.20 AT+CNMP Preferred mode selection

5.2.21 AT+CMNB Preferred selection between CAT-M and NB-IoT

[17:57:06.704]發→◇AT+CNMP?
□
[17:57:06.707]收←◆AT+CNMP?
+CNMP: 51

OK

[17:57:34.167]發→◇AT+CMNB?
□
[17:57:34.172]收←◆AT+CMNB?
+CMNB: 3

OK

所以我手頭這個模組是 CAT-M and NB-IoT 的模式,按照示例改成單NB模式。

四、NB-IoT加網測試具體細節

1.SIM卡狀態

[17:53:09.094]收←◆
RDY

[17:53:11.488]收←◆
+CFUN: 1

[17:53:11.796]收←◆
+CPIN: READY

[17:53:13.005]收←◆
SMS Ready

打印出這個說明SIM卡識別到了,這是由於 AT+CPIN 命令就是查詢SIM卡狀況。
另外也可使用AT+CIMI查詢IMSI號,如果反饋錯誤,那說明卡沒識別到,或者卡有問題。

2.訊號強度

[18:02:52.867]發→◇AT+CSQ
□
[18:02:52.872]收←◆AT+CSQ
+CSQ: 23,99

OK
Parameters
<rssi>
0 -115 dBm or less
1 -111 dBm
2...30 -110... -54 dBm
31 -52 dBm or greater
99 not known or not detectable

看來這個訊號強度是 -110… -54 dBm 之間。

3.網路註冊情況

這個網路註冊需要1分鐘左右。

[19:03:36.179]發→◇AT+COPS?
□
[19:03:36.182]收←◆AT+COPS?
+COPS: 0,0,"460 11 ????",9

OK

最後1位數字,為9的話,就表示是NB網路。

<netact> 
0 User-specified GSM access technology
8 User-specified LTE M1 A GB access technology
9 User-specified LTE NB S1 access technology
[19:04:19.232]發→◇AT+CGREG?
□
[19:04:19.237]收←◆AT+CGREG?
+CGREG: 0,1

OK

4.網路附著情況

[19:04:53.581]發→◇AT+CGATT?
□
[19:04:53.585]收←◆AT+CGATT?
+CGATT: 1

OK

5.設定APN

主要設下APN,範例中給的是中國聯通NB的APN “cuiot”,如果是中國電信的,那APN應當是 “ctnb”。

發→◇AT+CGNAPN
□
收←◆AT+CGNAPN
+CGNAPN: 1,"ctnb"

OK

CSTT要設定對應的APN。

發→◇AT+CSTT?
□
收←◆AT+CSTT?
+CSTT: "CMNET","",""

OK

發→◇AT+CSTT="ctnb"
□
收←◆AT+CSTT="ctnb"
OK


6.啟用移動場景

[20:24:10.748]發→◇AT+CIICR
□
[20:24:10.752]收←◆AT+CIICR
[20:24:10.800]收←◆
OK

[20:26:20.768]發→◇AT+CIFSR
□
[20:26:20.773]收←◆AT+CIFSR
10.163.190.175

7.TCP連線及資料收發

AT+CIPSTART="TCP","xx.xx.xx.xx",xx // 連線 TCP 伺服器
OK
CONNECT OK // 收到 CONNECT 表示已經連線成功
AT+CIPSEND=12 // 傳送資料(12 代表只發送 12 位元組資料)
> 1234567890ABCDEFGHIJ // 輸入對應的資料(12 位元組後的資料被丟棄)
SEND OK
1234567890AB // 伺服器返回資料

早期電信那邊貌似有個說法:因為電信的業務預設是定向,受理時需要在白名單中加入伺服器地址,不新增IP是不會通的。

現在測試了一個沒有新增的伺服器地址,照例連線上了。看來之前的限制取消掉了。

8.斷開連線


[21:04:38.011]發→◇AT+CIPCLOSE=1
□
[21:04:38.014]收←◆AT+CIPCLOSE=1
CLOSE OK

[21:04:51.087]發→◇AT+CIPSHUT
□
[21:04:51.090]收←◆AT+CIPSHUT
SHUT OK

五、GSM模式測試

1.模式調整為GSM

[21:06:14.415]發→◇AT+CNMP=13
□
[21:06:14.418]收←◆AT+CNMP=13
OK

[21:06:41.514]發→◇AT+CMNB=1
□
[21:06:41.519]收←◆AT+CMNB=1
OK

2.基礎查詢

[21:17:27.264]發→◇AT+CSQ
□
[21:17:27.268]收←◆AT+CSQ
+CSQ: 27,99

OK

[21:17:35.098]發→◇AT+CREG?
□
[21:17:35.103]收←◆AT+CREG?
+CREG: 0,1

OK

[21:17:41.905]發→◇AT+CGATT?
□
[21:17:41.910]收←◆AT+CGATT?
+CGATT: 1

OK

[21:17:56.977]發→◇AT+CSTT?
□
[21:17:56.982]收←◆AT+CSTT?
+CSTT: "CMNET","",""

OK

3 APN設定

[21:18:59.080]發→◇AT+CSTT=”CMNET”
□
[21:18:59.084]收←◆AT+CSTT=”CMNET”
OK

[21:19:07.305]發→◇AT+CIICR
□
[21:19:07.308]收←◆AT+CIICR
[21:19:08.146]收←◆
OK

[21:19:20.248]發→◇AT+CIFSR
□
[21:19:20.252]收←◆AT+CIFSR
10.184.208.143

4 TCP連線及資料收發

[21:19:33.103]發→◇AT+CIPSTART="TCP","xx.xx.xx.xx",xx // 連線 TCP 伺服器
□
[21:19:33.112]收←◆AT+CIPSTART="TCP","xx.xx.xx.xx",xx
OK

[21:19:33.643]收←◆
CONNECT OK

[21:20:02.407]發→◇AT+CIPSEND
□
[21:20:02.410]收←◆AT+CIPSEND
> 
[21:20:12.519]發→◇xy
□
[21:20:12.522]收←◆xy

[21:20:58.670]發→◇xy
□
[21:20:58.673]收←◆xy

[21:21:01.565]收←◆
[21:21:02.303]收←◆
SEND OK

[21:21:15.175]發→◇AT+CIPSEND
□
[21:21:15.178]收←◆AT+CIPSEND
> 
[21:21:29.342]發→◇xy
□
[21:21:29.345]收←◆xy

[21:21:31.816]收←◆
[21:21:32.542]收←◆
SEND OK

CIPSEND這條命令是用 CTRL+Z 傳送,發了兩包資料,伺服器都收到了。

六 總結

剛除錯完,還是有點小興奮,SIM7000C這“多模”搞地真的挺帥。意味著一個硬體定型後,前期宣傳可以用NB-IoT,考慮實際網路覆蓋還能用GPRS撐上去,非常方便。

另外一點,就是支援TCP連線,這也很方便。很多舊的TCP業務就可以無縫遷移到NB體系中。

End