1. 本記事の目標
2. 準備物
-
セットアップ用PC (ここでは今回使用したものを記載)
- Panasonic社 Let's note CF-SV1 (Windows 11)
-
制御用マイコン
- Nordic Semiconductor社 nRF52840 DK 2台
- nRF52840を手軽に動かすためのキット
- Nordic Semiconductor社 nRF52840 DK 2台
-
UWB信号受信デバイス
- Qorvo社 DWM3000EVB 2台
- DWM3000を手軽に動かすためのキット
- Qorvo社 DWM3000EVB 2台
-
アクセサリ
- ケーブル (MicroUSB <-> USB Type-A) 4本
- USB Type-A ハブ 1つ
-
PC上のソフトウェア (インストール手順も含めて後述します)
-
Segger Embedded Studio (SES) for ARM V6.20
- nRF52840にプログラムを書き込むための統合開発環境
-
DWM3000 API Software and API Guide
- UWB送受信デバイスをnRF52840で動作させるためのサンプルプログラム
-
nRF52840のSoftware Development Kit (SDK)
- nRF52840でサンプルプログラムを動かすときに必要となるプログラム一式
- Tera Term (Windowsのみ対応)
- 画面を持たないnRF52840に仮想的な画面を用意して動作確認を行う
- Mac OSの場合はTerminalで代用可能
-
Segger Embedded Studio (SES) for ARM V6.20
-
本実験は電波暗室で実施
3. ソフトウェアのインストールなどはこちら
4. SES上でのデモプロジェクトのビルド
-
デモプロジェクトを選択
-
デモプロジェクトをビルド
5. デバイスのセットアップ
-
nRF52840 DKの各種スイッチを揃える
-
DWM3000EVBのスイッチを揃える
-
nRF52840 DKとDWM3000EVBを連結
-
上記手順を2セット分行う
6. デバイスへのデモプログラム書き込み
-
デバイス2台をPCに接続
- nRF52840のアダプタ (microUSB) とPC (USB Type-A) をデバイスごとに2本のケーブルで接続
- PC側のUSBポートが不足する場合は別途USBハブを用意してください
-
各デバイスの電源をONにする
- nRF52840の電源スイッチをONにする
- 起動直後にLED4つが一定時間点滅すれば正常起動
-
各デバイスをSESに接続
-
上記手順をもう1台のデバイスでも行う
- Connect J-Linkでは先ほど選択したものと別のものを選択
- あとは上記とまったく同様です
7. Tera Termのインストール
-
こちらのページからexeをダウンロード
-
インストーラを用いてインストール
- 各項目はデフォルトのままインストールを進めてください
8. サンプルプログラムの実行 (Windows)
-
Tera Term1つ目を起動
-
Tera Term2つ目を起動
- もう一方のUSBシリアルデバイスを選択
-
Tera Term上での動作確認
-
Tera Term1つ目をUWB信号受信側に設定
- "listener"と入力してEnter
- listenerは後述のtagが送信するUWBパケットを受信して表示するコマンド
- コマンドが実行されるとDWM3000EVBのLED2が緑色で点滅
- 実行を止めるときは"stop"を入力してEnter
-
Tera Term2つ目をUWB信号送信側に設定
- "tag"と入力してEnter
- tagはUWBパケットをひたすら送信するコマンド
- 実行を止めるときは"stop"を入力してEnter
-
通信が確立されていることを確認して喜ぶ
9. サンプルプログラムの実行 (Mac OS)
-
Tera Termの代用としてTerminalを使用
-
Terminal1つ目を起動してdevディレクトリへ移動
cd ../ cd ../ cd dev
-
devディレクトリ内で以下のコマンドを入力してTTYを確認
ls -l tty.*
-
1つ目のTerminalでscreenコマンドを実行
screen tty.usbmodem6
-
Terminal2つ目を起動して同じくdevディレクトリ内でscreenコマンドを実行
screen tty.usbmodem0000000000001
-
以降はWindowsと同様に"listener"と"tag"コマンドを入力してパケットの送受信を行う