nRF9160(SCM-LTEM1NRF)¶
[更新: 2023年12月18日]
弊社でNordic Semiconductor社のnRF9160の動作検証を行った際の作業手順です。弊社のさくらのモノプラットフォーム開発キットのボードであるSCM-LTEM1NRFを使用して検証を行っています。
SCM-LTEM1NRF概要¶
- 製品名 : SCM-LTEM1NRF
- 使用LTEモジュール : nRF9160
- 製造会社 : さくらインターネット
- LTE Mode : LTE-M, NB-IoT
- BAND : B1, B2, B3, B4, B5, B8, B12, B13, B14, B17, B18, B19, B20, B25, B26, B28 and B6
- SIM : MFF2 SIM オンボード実装
- 接続確認済キャリア : SoftBank、KDDI、Docomo
SCM-LTEM1NRF 動作確認時仕様¶
- SCM-LTEM1NRF version : nRF9160 SICA B1搭載版
- Serial LTE Modem Application for SCM-LTEM1NRF: v2.5.0_0 (ソースコード: zip , tar+gz )
- nRF9160 SiP modem firmware : 1.2.3
- 使用LTE mode : LTE-M
- 使用SIM : セキュアモバイルコネクト チップ型SIM(SCM-LTEM1NRF基板に実装済み)
SCM-LTEM1NRFの事前設定¶
Serial LTE Modem Application for SCM-LTEM1NRF v2.5.0_0 を書き込み、実行できるようにしておいてください。
注釈
SCM-LTEM1NRFにはオンボードデバッガはありません。
また、Serial LTE Modem Application for SCM-LTEM1NRFはFOTAには対応していません。
書き込みにはJ-Linkが必要です。
また何か初期状態とは異なる状態になっている可能性がある場合にはファクトリーリセットを試してください。
AT%XFACTORYRESET=0
動作の確認はSCM-LTEM1NRFのUARTポート(PIN21, PIN22)をUSB-UART変換器等を使用してPCターミナルから操作します。 任意の適切なシリアルターミナルソフトでSCM-LTEM1NRFとシリアル通信できる状態としてください。
動作確認手順¶
各ATコマンドは前のコマンドのOK等の応答を確認してから実行してください。
また、AT+CFUN=1直後のAT+CGATT?など、コマンドによってはOK応答後も処理が続いているものもあり、直前のコマンドのOK直後に発行しても期待する応答にならない場合があります。その場合は時間を置いてからコマンドを再発行してください。
各コマンドの挙動の詳細はメーカーが提供するnRF9160のドキュメントを参照してください。
LTE網への接続¶
この確認手順前に、SIM設定の変更で全てのキャリアを有効にしておく必要があります。
各キャリアでの接続¶
Docomoの場合¶
送出ATコマンド:
AT%HWVERSION
AT+CGMR
AT+CFUN=0
AT+CGDCONT=0,"IP","sakura"
AT+CEREG=5
AT+CPSMS=0
AT%XSYSTEMMODE=1,0,0,0
AT+COPS=1,2,"44010"
AT+CFUN=1
AT+COPS?
AT+CGATT?
AT%XCBAND
AT+CESQ
AT%NBRGRSRP
動作ログ:
AT%HWVERSION
%HWVERSION: nRF9160 SICA B0A
OK
AT+CGMR
mfw_nrf9160_1.2.3
OK
AT+CFUN=0
OK
+CEREG: 0,"A700","0C2D480A",7,0,0,"11100000","11100000"
AT+CGDCONT=0,"IP","sakura"
OK
AT+CEREG=5
OK
AT+CPSMS=0
OK
AT%XSYSTEMMODE=1,0,0,0
OK
AT+COPS=1,2,"44010"
OK
AT+CFUN=1
OK
+CEREG: 2,"1178","02FE7F04",7,0,0,"11100000","11100000"
+CEREG: 5,"1178","02FE7F04",7,,,"11100000","11100000"
AT+COPS?
+COPS: 1,2,"44010",7
OK
AT+CGATT?
+CGATT: 1
OK
AT%XCBAND
%XCBAND: 1
OK
AT+CESQ
+CESQ: 99,99,255,255,15,42
OK
AT%NBRGRSRP
%NBRGRSRP: 184,6100,43,201,6100,40,186,6100,35,194,6100,34
OK
KDDIの場合¶
送出ATコマンド:
AT%HWVERSION
AT+CGMR
AT+CFUN=0
AT+CGDCONT=0,"IP","sakura"
AT+CEREG=5
AT+CPSMS=0
AT%XSYSTEMMODE=1,0,0,0
AT+COPS=1,2,"44051"
AT+CFUN=1
AT+COPS?
AT+CGATT?
AT%XCBAND
AT+CESQ
AT%NBRGRSRP
動作ログ:
AT%HWVERSION
%HWVERSION: nRF9160 SICA B0A
OK
AT+CGMR
mfw_nrf9160_1.2.3
OK
AT+CFUN=0
OK
AT+CGDCONT=0,"IP","sakura"
OK
AT+CEREG=5
OK
AT+CPSMS=0
OK
AT%XSYSTEMMODE=1,0,0,0
OK
AT+COPS=1,2,"44051"
OK
AT+CFUN=1
OK
+CEREG: 2,"A700","0C2D480A",7,0,0,"11100000","11100000"
+CEREG: 5,"A700","0C2D480A",7,,,"11100000","11100000"
AT+COPS?
+COPS: 1,2,"44051",7
OK
AT+CGATT?
+CGATT: 1
OK
AT%XCBAND
%XCBAND: 18
OK
AT+CESQ
+CESQ: 99,99,255,255,20,46
OK
AT%NBRGRSRP
%NBRGRSRP: 162,5900,51
OK
SoftBankの場合¶
送出ATコマンド:
AT%HWVERSION
AT+CGMR
AT+CFUN=0
AT+CGDCONT=0,"IP","sakura"
AT+CEREG=5
AT+CPSMS=0
AT%XSYSTEMMODE=1,0,0,0
AT+COPS=1,2,"44020"
AT+CFUN=1
AT+COPS?
AT+CGATT?
AT%XCBAND
AT+CESQ
AT%NBRGRSRP
動作ログ:
AT%HWVERSION
%HWVERSION: nRF9160 SICA B0A
OK
AT+CGMR
mfw_nrf9160_1.2.3
OK
AT+CFUN=0
OK
+CEREG: 0,"1178","02FE7F14",7,0,0,"11100000","11100000"
AT+CGDCONT=0,"IP","sakura"
OK
AT+CEREG=5
OK
AT+CPSMS=0
OK
AT%XSYSTEMMODE=1,0,0,0
OK
AT+COPS=1,2,"44020"
OK
AT+CFUN=1
OK
+CEREG: 0,"1813","01832D0E",7,0,0,"11100000","11100000"
+CEREG: 2,"1813","01832D0E",7,0,0,"11100000","11100000"
+CEREG: 5,"1813","01832D0E",7,,,"11100000","11100000"
AT+COPS?
+COPS: 1,2,"44020",7
OK
AT+CGATT?
+CGATT: 1
OK
AT%XCBAND
%XCBAND: 8
OK
AT+CESQ
+CESQ: 99,99,255,255,22,55
OK
AT%NBRGRSRP
%NBRGRSRP: 124,3750,61
OK
LTEからの切断¶
各キャリアへの接続が不要になった際、キャリアや弊社の設備に対して切断を通知します。デバイスのシャットダウン時など、接続が不要になった際には明示的に切断処理を行うことを推奨します。
適切でない接続および切断を頻繁に繰り返すと、nRF9160の機能により関連する処理がロックされ一切の接続が出来なくなることがあります。 ロック状態の解除には特殊な条件と非常に長い時間を満たす必要があるため、ロックされないよう慎重な運用を推奨します。
コマンド/ログはいずれかのキャリアに接続された状態からのものになります。
送出ATコマンド:
AT+CFUN=0
AT+CFUN?
AT+CGATT?
AT%XCBAND
AT+CESQ
AT%NBRGRSRP
AT+COPS?
動作ログ:
AT+CFUN=0
OK
+CEREG: 0
AT+CFUN?
+CFUN: 0
OK
AT+CGATT?
+CGATT: 0
OK
AT%XCBAND
%XCBAND: 0
OK
AT+CESQ
+CESQ: 99,99,255,255,255,255
OK
AT%NBRGRSRP
OK
AT+COPS?
+COPS: 1
OK
キャリアサーチ¶
今利用可能なキャリア一覧を取得します。 結果が返ってくるまでは、数十秒かかります。
このSIMで認証可能かどうかを問わず通信可能圏内のキャリアが表示されます。セキュアモバイルコネクトSIMが非対応のキャリアや設定で無効にしているキャリアは、表示されたとしても接続可能なわけではありません。
送出ATコマンド:
AT%HWVERSION
AT+CGMR
AT+CFUN=1
AT+COPS=?
動作ログ:
AT%HWVERSION
%HWVERSION: nRF9160 SICA B0A
OK
AT+CGMR
mfw_nrf9160_1.2.3
OK
AT+CFUN=1
OK
AT+COPS=?
+COPS: (1,"","","44052",7),(1,"","","44010",7),(1,"","","44054",7),(1,"","","44100",7),(2,"","","44020",7),(1,"","","44051",7),(3,"","","44050",7)
OK
AT+COPS?
+COPS: 1,2,"44020",7
OK
キャリア切り替え¶
コマンド/ログはいずれかのキャリアに接続された状態からのものになります。
Docomoへの切り替え¶
送出ATコマンド:
AT+COPS=1,2,"44010"
AT+COPS?
動作ログ:
AT+COPS=1,2,"44010"
OK
AT+COPS?
+COPS: 1,2,"44010",7
OK
KDDIへの切り替え¶
送出ATコマンド:
AT+COPS=1,2,"44051"
AT+COPS?
動作ログ:
AT+COPS=1,2,"44051"
OK
AT+COPS?
+COPS: 1,2,"44051",7
OK
Softbankへの切り替え¶
送出ATコマンド:
AT+COPS=1,2,"44020"
AT+COPS?
動作ログ:
AT+COPS=1,2,"44020"
OK
AT+COPS?
+COPS: 1,2,"44020",7
OK
IPでの通信確認¶
この確認を行う際にはモバイルゲートウェイのインターネット接続機能をONにしておく必要があります。 事前いずれかのキャリアへLTE接続できている前提です。
PINGの確認¶
送出ATコマンド:
AT#XPING="www.sakura.ad.jp",45,5000,5,1000
動作ログ:
AT#XPING="www.sakura.ad.jp",45,5000,5,1000
OK
#XPING: 0.081 seconds
#XPING: 0.184 seconds
#XPING: 0.183 seconds
#XPING: 0.184 seconds
#XPING: 0.118 seconds
#XPING: average 0.150 seconds
HTTPの確認¶
最近はHTTPでの公開サービスが閉じられていることが多いためHTTPでアクセスするとHTTPSでアクセスするように促す応答が確認できます。
送出ATコマンド:
AT#XHTTPCCON=1,"www.sakura.ad.jp",80
AT#XHTTPCREQ="GET","/",""
AT#XHTTPCCON=0
動作ログ:
AT#XHTTPCCON=1,"www.sakura.ad.jp",80
#XHTTPCCON: 1
OK
AT#XHTTPCREQ="GET","/",""
OK
#XHTTPCREQ: 0
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Mon, 11 Dec 2023 08:20:40 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://www.sakura.ad.jp/
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=15768000
#XHTTPCRSP:333,1
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
#XHTTPCRSP:162,1
AT#XHTTPCCON=0
#XHTTPCCON: 0
OK