スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボードの使い方ガイド
このガイドでは、スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボード(以下、IoT開発ボード)の使い方について解説します。ATコマンドを使った基本操作やプリコンパイルファームウェアサンプルの書き込み手順、サンプルプログラムのビルド手順を解説します。
※注意※
この記事は参考情報の提供を目的としており、正式なドキュメントやマニュアルに基づく正確な情報を提供するものではありません。正確な情報や最新のアップデートについては、Nordic Semiconductorの公式ドキュメントを確認してください。
スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボード
LTE-M/NB-IoTモデムとGNSSを統合したNordic SemiconductorのnRF9160モジュールを搭載したIoT開発ボードです。アプリケーションプロセッサはARM Cortex-M33で1 MBのフラッシュと256 KBのRAMを備えており、高度なアプリケーションの開発が単一のプロセッサで可能です。LTEアンテナは実装されており、すぐにLTE通信が開始できます。さらに、GNSSアクティブアンテナ用の3.3 V電源、64 Mbitの外部フラッシュ、リチウムイオン電池コネクタと充電回路、そして2つのQwiicコネクタが組み込まれています。
必要なもの
- スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボード
- USB-Cケーブル
- USBシリアル変換アダプタ
- 開発用パソコン
- この記事ではWindowsを想定して執筆しています。
必要なソフトウェアのインストール
-
nRF Connect for Desktopをダウンロードしインストールしてください。インストールが終わったらnRF Connect for Desktopを起動し
LTE Link Monitor
とProgrammer
、Toolchain Manager
をインストールしてください。
-
Mynewt Manager tool (newtmgr)をダウンロードし、パスの通ったディレクトリに
newtmgr.exe
をコピーしてください。
セットアップ
- IoT開発ボードとUSBシリアル変換アダプタを次のように接続してください。※ピンヘッダははんだ付けされていません。ご自身ではんだ付けしてください。
IoT開発ボード | USBシリアル変換アダプタ |
P0.28(RXD) | TX |
P0.29(TXD) | RX |
GND | GND |
- USBシリアル変換アダプタとパソコンを接続してください。
- IoT開発ボードとパソコンをUSB-Cケーブルで接続してください。
- リチウムイオンバッテリーで動作させたい場合、バッテリーコネクターにリチウムイオンバッテリーを接続してください。
ATコマンドを使った基本操作
ATコマンドを使った基本操作を解説します。ATコマンドの詳細は下記リンクを参照してください。
nRF Connect for Desktop
を起動しLTE Link Monitor
を開きます。Settings
のFlow control
のチェックを外し、SELECT DEVICE
をクリックしてUSBシリアル変換アダプタを選択してください。
ATコマンドはType AT command here...
に入力してください。AT
と入力しOK
と応答があればOKです。
モジュールバージョンとモデムバージョンの取得
次のATコマンドを送信してください。
AT%HWVERSION
AT+CGMR
LTE接続
SORACOMの特定地域向け IoT SIM(plan-D)を使った接続方法です。SIMカードをSIMカードソケットに挿入し、次のATコマンドを送信してください。
AT+CFUN=0
AT%XSYSTEMMODE=1,0,0,0
AT%XBANDLOCK=1,"1100000000010000101"
AT+CGDCONT=0,"IP","soracom.io","sora","sora"
AT+CFUN=1
AT+CFUN?
左上のインディケーターが緑色に変化しIPアドレスが割り当てられていれば成功です。
LTE通信が不要になったら明示的に切断することを推奨します。LTE接続を切断する時は次のATコマンドを送信してください。
AT+CFUN=0
AT+CFUN?
Pingの送信
Pingを送信する時は次のATコマンドを送信してください。
AT#XPING="switch-science.com",45,5000,5,1000
HTTPでページを取得
HTTPで特定のページを取得する時は次のATコマンドを送信してください。
AT#XHTTPCCON=1,"switch-science.com",80
AT#XHTTPCREQ="GET","/",""
AT#XHTTPCCON=0
GNSS受信
LTE接続している場合、一度LTE接続を切断してください。
AT+CFUN=0
AT+CFUN?
GPS/GNSS 用マグネットマウントアンテナ - 3m(SMA)をSMAからU.FLに変換するケーブルを使ってIoT開発ボードに接続してください。GNSSアンテナは空の見える場所に配置してください。
次のATコマンドを送信してください。座標データが出力されるまで少し時間がかかります。座標データが出力されない場合はGNSSアンテナの位置を確認してください。
AT%XSYSTEMMODE=0,0,1,0
AT%XCOEX0=1,1,1565,1586
AT+CFUN=31
AT#XGPS=1,1
プリコンパイルファームウェアサンプルの書き込み手順
ここではプリコンパイルファームウェアサンプルをUSBシリアル変換アダプタまたはJ-Linkで書き込む手順を解説します。下記リンクからプリコンパイルファームウェアサンプルをダウンロードしてください。
ssci-nrf9160-iot-dev-board-precompiled-samples-2023-08-08.zip
-
blinky.bin
- LEDが点滅するサンプルです。
-
button.bin
-
BTN1
を押すとLEDが点灯するサンプルです。
-
-
bme280.bin
- BME280温湿度気圧センサーから温度と湿度を読み出すサンプルです。
- QwiicコネクタにQwiic - BME280搭載 環境センサモジュールなどを接続してください。
-
mpu6050.bin
- MPU6050加速度センサーから加速度を読み出すサンプルです。
- QwiicコネクタにSTEMMA QT/Qwiic互換 MPU-6050搭載 6DoF 加速度/ジャイロセンサモジュールなどを接続してください。
-
serial_lte_modem.bin
- Serial LTE Modemです。ATコマンドで基本的な操作が行えるサンプルです。
- 出荷時に書き込んであります。
-
hex
ディレクトリ- J-Linkで書き込む時用のファイルです。
USBシリアル変換アダプタで書き込み
- IoT開発ボードの
BTN1
を押したままRESET
を押します(シリアルリカバリーモードで起動します)。 - コマンドプロントを開きます。
- プリコンパイルファームウェアサンプルのディレクトリに移動します。
- 次のコマンドを実行します。
COM31
はUSBシリアル変換アダプタのCOM番号、blinky.bin
には書き込みたいサンプルのファイル名を指定してください。
> newtmgr.exe --conntype=serial --connstring=COM31 image upload blinky.bin
- 数十秒ほどで書き込みが完了します(ファイルサイズが大きいと書き込みに時間がかかります)。
-
RESET
を押すか次のコマンドを実行しるとリセットします。リセット後サンプルが動作します。
> newtmgr.exe --conntype=serial --connstring=COM31 reset
J-Linkで書き込み
J-LinkまたはnRF5340DKを用意してください。nRF5340DKはJ-Linkデバッガ搭載されていて外部ターゲットのデバッグ・書き込みができます。
- IoT開発ボードとJ-LinkをSWD 10pin 1.27mmピッチケーブルで接続します。
- IoT開発ボードとパソコンをUSB-Cケーブルで接続します。
-
nRF Connect for Desktop
を起動しProgrammer
を開きます。 -
SELECT DEVICE
をクリックしJ-Link
を選択します。 -
Add file
をクリックしてBrowse...
でプリコンパイルファームウェアサンプルのhex
ディレクトリからファイルを選択します(hex/blinky.hex
など)。 -
Erase&Write
をクリックします。 - 書き込みが完了するまでしばらく待ちます。
-
RESET
を押すと書き込んだサンプルが動作します。
サンプルプログラムのビルド手順
SDKのインストールとVSCodeの設定
-
nRF Connect for Desktop
を起動しToolchain Manager
を開きます -
nRF Connect SDK v2.4.0
をインストールします。 - IoT開発ボードのボード定義ファイルをここからダウンロードします。
-
Toolchain Manager
のプルダウンメニューからOpen SDK directory
を選択します。 - ボード定義ファイルを解凍したら
boards
ディレクトリをコピーして次のように配置します。
v2.4.0\boards\arm\ssci_nrf9160_iot_dev_board
-
ssci_nrf9160_iot_dev_board.conf
ファイルをコピーして次のように配置します。
v2.4.0\bootloader\mcuboot\boot\zephyr\boards\ssci_nrf9160_iot_dev_board.conf
-
Toolchain Manager
からOpen VS Code
をクリックします。 - メニューから
ファイル
→ユーザ設定
→設定
を選択しVS Codeの拡張機能をインストールします。 - 拡張機能の
nRF Connect
→Board Roots
にSDKディレクトリのパスを入力して保存します。
VSCodeでblinkyのビルド
-
Toolchain Manager
からOpen VS Code
をクリックします。 -
Open an existing application
をクリックしblinky
を開きます。
v2.4.0\zephyr\samples\basic\blinky
-
Add Build Configuration
をクリックします。
-
Custom boards
をチェックしてssci_nrf9160_iot_dev_board
を選択します。
-
Build Configuration
をクリックするとコンフィグレーションが行われ最初のビルドが行われます。少し時間がかかります。 - 2回目以降ビルドするには
ACTIONS
→Build
をクリックします。 - J-Linkで書き込む場合、
ACTIONS
→Flash
をクリックします。 - UARTで書き込む場合、
app_update.bin
をnewtmgr.exe
を使って書き込みます。
v2.4.0\zephyr\samples\basic\blinky\build\zephyr\app_update.bin
参考
Getting started with nRF9160 DK
Developing with nRF9160 DK
nRF Connect for VS Code - Get started