4006
0
0

スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボードの使い方ガイド

Published at September 6, 2023 4:08 p.m.
Edited at September 21, 2023 5:23 p.m.

このガイドでは、スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボード(以下、IoT開発ボード)の使い方について解説します。ATコマンドを使った基本操作やプリコンパイルファームウェアサンプルの書き込み手順、サンプルプログラムのビルド手順を解説します。

※注意※
この記事は参考情報の提供を目的としており、正式なドキュメントやマニュアルに基づく正確な情報を提供するものではありません。正確な情報や最新のアップデートについては、Nordic Semiconductorの公式ドキュメントを確認してください。

スイッチサイエンス nRF9160搭載 LTE-M/NB-IoT/GNSS対応 IoT開発ボード

8999_main

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コネクタが組み込まれています。

必要なもの

必要なソフトウェアのインストール

  1. nRF Connect for Desktopをダウンロードしインストールしてください。インストールが終わったらnRF Connect for Desktopを起動しLTE Link MonitorとProgrammer、Toolchain Managerをインストールしてください。

image

  1. Mynewt Manager tool (newtmgr)をダウンロードし、パスの通ったディレクトリにnewtmgr.exeをコピーしてください。

セットアップ

  1. IoT開発ボードとUSBシリアル変換アダプタを次のように接続してください。※ピンヘッダははんだ付けされていません。ご自身ではんだ付けしてください。
IoT開発ボード USBシリアル変換アダプタ
P0.28(RXD) TX
P0.29(TXD) RX
GND GND
  1. USBシリアル変換アダプタとパソコンを接続してください。
  2. IoT開発ボードとパソコンをUSB-Cケーブルで接続してください。
  3. リチウムイオンバッテリーで動作させたい場合、バッテリーコネクターにリチウムイオンバッテリーを接続してください。

IMG_2171

image

ATコマンドを使った基本操作

ATコマンドを使った基本操作を解説します。ATコマンドの詳細は下記リンクを参照してください。

nRF Connect for Desktopを起動しLTE Link Monitorを開きます。SettingsのFlow controlのチェックを外し、SELECT DEVICEをクリックしてUSBシリアル変換アダプタを選択してください。

ATコマンドはType AT command here...に入力してください。ATと入力しOKと応答があればOKです。

image

モジュールバージョンとモデムバージョンの取得

次のATコマンドを送信してください。

AT%HWVERSION
AT+CGMR

image

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アドレスが割り当てられていれば成功です。

image

LTE通信が不要になったら明示的に切断することを推奨します。LTE接続を切断する時は次のATコマンドを送信してください。

AT+CFUN=0
AT+CFUN?

Pingの送信

Pingを送信する時は次のATコマンドを送信してください。

AT#XPING="switch-science.com",45,5000,5,1000

image

HTTPでページを取得

HTTPで特定のページを取得する時は次のATコマンドを送信してください。

AT#XHTTPCCON=1,"switch-science.com",80
AT#XHTTPCREQ="GET","/",""
AT#XHTTPCCON=0

image

GNSS受信

LTE接続している場合、一度LTE接続を切断してください。

AT+CFUN=0
AT+CFUN?

GPS/GNSS 用マグネットマウントアンテナ - 3m(SMA)をSMAからU.FLに変換するケーブルを使ってIoT開発ボードに接続してください。GNSSアンテナは空の見える場所に配置してください。

IMG_2173

次のATコマンドを送信してください。座標データが出力されるまで少し時間がかかります。座標データが出力されない場合はGNSSアンテナの位置を確認してください。

AT%XSYSTEMMODE=0,0,1,0
AT%XCOEX0=1,1,1565,1586
AT+CFUN=31
AT#XGPS=1,1

image

プリコンパイルファームウェアサンプルの書き込み手順

ここではプリコンパイルファームウェアサンプルをUSBシリアル変換アダプタまたはJ-Linkで書き込む手順を解説します。下記リンクからプリコンパイルファームウェアサンプルをダウンロードしてください。

ssci-nrf9160-iot-dev-board-precompiled-samples-2023-08-08.zip

  • blinky.bin
    • LEDが点滅するサンプルです。
  • button.bin
    • BTN1を押すとLEDが点灯するサンプルです。
  • bme280.bin
  • mpu6050.bin
  • serial_lte_modem.bin
    • Serial LTE Modemです。ATコマンドで基本的な操作が行えるサンプルです。
    • 出荷時に書き込んであります。
  • hexディレクトリ
    • J-Linkで書き込む時用のファイルです。

USBシリアル変換アダプタで書き込み

  1. IoT開発ボードのBTN1を押したままRESETを押します(シリアルリカバリーモードで起動します)。
  2. コマンドプロントを開きます。
  3. プリコンパイルファームウェアサンプルのディレクトリに移動します。
  4. 次のコマンドを実行します。COM31はUSBシリアル変換アダプタのCOM番号、blinky.binには書き込みたいサンプルのファイル名を指定してください。
> newtmgr.exe --conntype=serial --connstring=COM31 image upload blinky.bin
  1. 数十秒ほどで書き込みが完了します(ファイルサイズが大きいと書き込みに時間がかかります)。
  2. RESETを押すか次のコマンドを実行しるとリセットします。リセット後サンプルが動作します。
> newtmgr.exe --conntype=serial --connstring=COM31 reset

J-Linkで書き込み

J-LinkまたはnRF5340DKを用意してください。nRF5340DKはJ-Linkデバッガ搭載されていて外部ターゲットのデバッグ・書き込みができます。

  1. IoT開発ボードとJ-LinkをSWD 10pin 1.27mmピッチケーブルで接続します。
  2. IoT開発ボードとパソコンをUSB-Cケーブルで接続します。
  3. nRF Connect for Desktopを起動しProgrammerを開きます。
  4. SELECT DEVICEをクリックしJ-Linkを選択します。
  5. Add fileをクリックしてBrowse...でプリコンパイルファームウェアサンプルのhexディレクトリからファイルを選択します(hex/blinky.hexなど)。
  6. Erase&Writeをクリックします。
  7. 書き込みが完了するまでしばらく待ちます。
  8. RESETを押すと書き込んだサンプルが動作します。

IMG_2167

スクリーンショット 2023-09-05 100136

サンプルプログラムのビルド手順

SDKのインストールとVSCodeの設定

  1. nRF Connect for Desktopを起動しToolchain Managerを開きます
  2. nRF Connect SDK v2.4.0をインストールします。
  3. IoT開発ボードのボード定義ファイルをここからダウンロードします。
  4. Toolchain ManagerのプルダウンメニューからOpen SDK directoryを選択します。
  5. ボード定義ファイルを解凍したらboardsディレクトリをコピーして次のように配置します。
v2.4.0\boards\arm\ssci_nrf9160_iot_dev_board
  1. ssci_nrf9160_iot_dev_board.confファイルをコピーして次のように配置します。
v2.4.0\bootloader\mcuboot\boot\zephyr\boards\ssci_nrf9160_iot_dev_board.conf
  1. Toolchain ManagerからOpen VS Codeをクリックします。
  2. メニューからファイル→ユーザ設定→設定を選択しVS Codeの拡張機能をインストールします。
  3. 拡張機能のnRF Connect→Board RootsにSDKディレクトリのパスを入力して保存します。

image

VSCodeでblinkyのビルド

  1. Toolchain ManagerからOpen VS Codeをクリックします。
  2. Open an existing applicationをクリックしblinkyを開きます。
v2.4.0\zephyr\samples\basic\blinky
  1. Add Build Configurationをクリックします。

image

  1. Custom boardsをチェックしてssci_nrf9160_iot_dev_boardを選択します。

image

  1. Build Configurationをクリックするとコンフィグレーションが行われ最初のビルドが行われます。少し時間がかかります。
  2. 2回目以降ビルドするにはACTIONS→Buildをクリックします。
  3. J-Linkで書き込む場合、ACTIONS→Flashをクリックします。
  4. 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