LoRa Arduino 開発シールドを使用して、LoRa Space に接続ポイントを登録する
はじめに
SORACOM LoRa Space では、ソラコムの提供する共有サービスモデルの LoRa ゲートウェイを使用できるエリアを確認できます。また、お持ちの LoRa Arduino 開発シールド(以降、LoRa デバイス)を使用して、接続ポイントを登録し、他のユーザーとも共有できます。
当ガイドでは、LoRa デバイス(AL-050)を使用して、LoRa Spaceに接続ポイントを登録する手順を紹介します。 USBバッテリーなどを使用して、以下のようなデバイスを持ち歩くだけで、LoRa ゲートウェイの接続ポイントを確認し、位置情報を登録できます。
※本ドキュメントには Arduino、GPS モジュールを使用した操作ガイドを掲載しますが、あくまでもサンプルとしてのご紹介となります。ソラコムのサービス以外についてはサポート対象外となりますので、あらかじめご了承ください。GPS モジュールの使い方等はメーカーにお問い合わせください。
接続履歴の参照
前提事項
このガイドでは、以下のデバイスの使用を前提としています。
- LoRa Arduino 開発シールド AL-050
- ソラコムのユーザーコンソールから購入できます。購入方法は、SORACOM Air for LoRaWAN の利用方法をご確認ください。
- Arduino UNO R3(以降、Arduino)
- GPS モジュール 「NEO-6M NEO-6M-0-001」(以降、GPSモジュール)
- スルーホール用テストワイヤ
「NEO-6M NEO-6M-0-001」 は、以下のようなGPSモジュールです。Amazon.co.jp でも入手できます。
スルーホール用テストワイヤは、Arduino と GPS モジュールの接続用に使用します。当ガイドでは 4 本必要です。 こちらも Amazon.co.jpなどで購入可能です。
ステップ
当ガイドでは以下のステップで紹介します。
- デバイスの初期設定
- Arduino に LoRa デバイス、GPSモジュールを取り付けます。
- ユーザーコンソールからの LoRa デバイスの設定
- LoRa Space にデータを送信するための設定を行います。
- GPS データを送信する
- LoRa Space で送信されたデータを確認する
デバイスの初期設定
ここでは、LoRa デバイスとArduino、GPSモジュールを取り付けます。 まず、LoRa デバイスと Arduino を接続します。 以下のように接続します。
次に、スルーホール用テストワイヤを使用して、Arduino と GPS モジュールを取り付けます。
- Arduino の GND - GPSモジュールの GND
- Arduino の 3.3V - GPSモジュールの VCC
- Arduino の 8ピン - GPSモジュールの TX
- Arduino の 9ピン - GPSモジュールの RX
ユーザーコンソールを使用した LoRa デバイスの設定
LoRa デバイスの確認
LoRa デバイスは、ソラコムのユーザーコンソールから購入できます。購入方法は、SORACOM Air for LoRaWAN の利用方法をご確認ください。
以下の手順に沿って、ユーザーコンソール上で購入したデバイスが表示されていることを確認してください。
- ユーザーコンソールにログインする
- ユーザーコンソール左上のメニューから「LoRa デバイス管理」を開きます。
- デバイス一覧に自分が所有している デバイスが表示されていることを確認します。
LoRa グループを作成する
データ送信先の設定をするために LoRa グループを作成します。設定手順は以下のとおりです。
- ユーザーコンソール左上のメニューボタンから「LoRa グループ」をクリックします。
- LoRa グループ一覧画面が表示されたら、画面左上の「追加」ボタンをクリックします。
- LoRa グループ名を入力し「作成」ボタンをクリックするとグループの作成は完了です。
LoRa グループを設定する
続いて LoRa グループに設定を行い、LoRa Space に接続エリアを登録できるようにセットアップします。LoRa グループの設定画面では、以下の手順で LoRa Space の共有ゲートウェイの利用の設定とデータ送信先の設定を行うことができます。
- ユーザーコンソール左上のメニューボタンから「LoRa グループ」をクリックします。
- LoRa グループ一覧画面で設定を確認・変更したいグループをクリックすると、LoRa グループの詳細画面が表示されます。
- LoRa グループの詳細画面で、「SORACOM Air for LoRaWAN 設定」のメニューを開きます。この設定項目では2つの設定を行うことができます。
- LoRa Space を利用するかどうか:共有サービスモデルのゲートウェイを使用するので、ここでは「利用する」を選択します。
- 最後に「保存」ボタンをクリックすると設定完了です。
次に、Beamの設定を行います。これにより LoRa Space に位置情報を送信できます。
項目 | 設定内容 |
---|---|
設定名 | 任意です |
ON/OFF | ONに設定 |
プロトコル | HTTPS |
ホスト名 | lora-space.soracom.io |
ポート番号 | 443 |
パス | /api/v1/logs |
デバイスを LoRa グループに登録する
続いて、先に設定した LoRa グループにデバイスを登録します。通信を行うためには、LoRa デバイスは必ず LoRa グループに所属させる必要があります。
- ユーザーコンソール左上のメニューボタンから「LoRa デバイス管理」をクリックします。
- LoRa デバイス一覧が表示されたら、LoRa グループに登録したい デバイスにチェックマークを付けます。
- 画面左上の「操作」ボタンをクリックし、「所属グループ変更」をクリックして、デバイスを所属させたいグループをセットします。
- 最後に「グループ変更」ボタンをクリックするとグループ設定完了です。
以上で、ユーザーコンソールを使用した LoRa デバイスの設定は完了です。
GPS データを送信する
GitHubで公開されている Arduino のライブラリを使用してGPS データを送信します。
Arduino Desktop IDE のインストール
Arduino Desktop IDE(以降、IDE)は、オフラインでも利用可能な Arduino スケッチ開発環境です。Arduino 公式Webサイトの Getting Started Guide の「Install the Arduino Desktop IDE」の中にあるリンクから自分の PC の OS をクリックします。各 OS での操作方法が表示されますので、手順を見ながらインストールを進めてください。
ライブラリのセットアップ
IDE のインストールが完了したら、以下の2つのライブラリをインストールします。
- Arduino library for LoRaWAN Device
- TinyGPS
Arduino library for LoRaWAN Device
ライブラリはGitHubで公開しています。ZIP形式でファイルをダウンロードし、IDEでインストールを行ってください。
- GitHub リポジトリにアクセスし、画面上の「Source code (zip)」リンクをクリックして、ZIP ファイルをダウンロードします。
IDE を起動し、メニューバー > スケッチ > ライブラリをインクルード > .ZIP 形式のライブラリをインストール を選択します。
ファイル選択画面が表示されたら、先に GitHub からダウンロードしたZIPファイルを指定し「選択」ボタンをクリックします。
IDE の画面下部に「ライブラリが追加されました。「ライブラリをインクルード」メニューを確認してください」とメッセージが表示されたらインストール完了です。
TinyGPS
TinyGPS は、GPSモジュールの情報の読み込みに使用します。 GitHubで公開されていますので、同様にZIP形式でファイルをダウンロードし、IDE にインストールします。
- GitHub リポジトリにアクセスし、画面上の「Source code (zip)」リンクをクリックして、ZIP ファイルをダウンロードします。
- IDE を起動し、メニューバー > スケッチ > ライブラリをインクルード > .ZIP 形式のライブラリをインストール を選択します。
- ファイル選択画面が表示されたら、先に GitHub からダウンロードしたZIPファイルを指定し「選択」ボタンをクリックします。
- IDE の画面下部に「ライブラリが追加されました。「ライブラリをインクルード」メニューを確認してください」とメッセージが表示されたらインストール完了です。
IDE のメニューバー > Arduino > Quit Arduino をクリックして IDE をいったん終了し、再起動してください。
PC と Arduino の接続
以下のように PC と Arduino をUSBケーブルで接続してください。
次に、IDE を設定します。
- メニューバー>ツール>ボード>Arduino Genuino Uno を選択し、書き込み対象のボードを指定します。
- メニューバー>ツール>シリアルポート を選択し、Arduino が接続されているポートを選択します。
スケッチの実行
いよいよスケッチを実行します。
- IDE を起動し、メニューバー > ファイル > スケッチ例 >
SORACOM-LoRaWAN-1.0.5
>SLS_GPS_LoRa
を選択します。- (注)ライブラリのバージョンによって
SORACOM-LoRaWAN-1.0.5
の末尾の数字が変わることがあります。
- (注)ライブラリのバージョンによって
- IDE の画面上にサンプルスケッチが表示されます。
- ボードとシリアルポートの選択ができたら、サンプルスケッチをコンパイルします。IDE のウィンドウ左上にあるチェックマークのボタンをクリックし、しばらくしてコンパイル完了のメッセージが画面下部に表示されることを確認してください。
- コンパイルができたら、Arduino にスケッチを書き込みます。IDE のウィンドウ左上にある矢印マークのボタンをクリックし、書き込み完了のメッセージが表示されたことを確認してください。
- 書き込み完了すると Arduino 上で自動的にスケッチが実行されます。IDE のウィンドウ右上にある虫眼鏡マークのボタンをクリックし、シリアルモニタを開くとスケッチの実行状況とデータ送信ログを確認できます。
LoRa Space に送信されたデータを確認する
LoRa Space に送信された位置情報を確認します。
SORACOM LoRa Spaceにアクセスし、左上の「接続エリアを登録する」をクリックします。
ログイン画面が表示されますので、ソラコムのアカウントでログインします。
以下の画面で、対象の LoRa デバイスを選択し、「設定を確認」をクリックします。
画面の下部に送信された GPS 情報と地図にマッピングされた位置情報を確認できます。
参考: LoRa Space にデータ登録する際のデータ・フォーマット
LoRa Spaceに位置情報を登録する際のデータ・フォーマットは以下のとおりです。
バイトオフセット | 内容 |
---|---|
0(先頭) | ヘッダー。0x21 固定 |
1-4 (signed 32bit) | latitude(緯度) を100万倍したもの。 例)北緯35.669465度の場合、35669465。南緯はマイナス |
5-8 (signed 32bit) | longitude(経度)を100万倍したもの。 例)東経139.744276度の場合、139744276。西経はマイナス |
9-10 (signed 16bit) | altitude(高度)単位はメートル。 例)高度 3776 メートルの場合は 3776。地下、水面下の場合はマイナス |
※整数値はすべてリトルエンディアンです。
注意点
- GPS モジュールが位置情報を取得するまで時間がかかる場合があります。また、屋内では位置情報を取得できない場合があります。位置情報を取得した場合は、GPS モジュールが青く点滅しますので、ご確認ください。
- SORACOM Beam を使用していますので、サービス利用料が課金されます。
- 1 リクエストごとに料金が発生します。
- エントリーポイント (Beam) へのリクエスト、Beamから転送先へのリクエスト、それぞれを個別に 1 リクエストとカウントします。
- 新規のお客様を対象として無料利用枠をご提供しています。
- 詳細は、SORACOM Beam のご利用料金をご確認ください。