MENU

Soracom

Users

LoRa Arduino 開発シールドを使用して LoRa Space に接続ポイントを登録する

はじめに

SORACOM LoRa Space では、ソラコムの提供する共有サービスモデルの LoRa ゲートウェイを使用できるエリアを確認できます。また、お持ちの LoRa Arduino 開発シールド (以降、LoRa デバイス) を使用して、接続ポイントを登録し、他のユーザーとも共有できます。

LoRaSpaceの画像

当ガイドでは、 LoRa デバイス(AL-050) を使用して、 LoRa Space に接続ポイントを登録する手順を紹介します。 USB バッテリーなどを使用して、以下のようなデバイスを持ち歩くだけで、LoRa ゲートウェイの接続ポイントを確認し、位置情報を登録できます。

本ドキュメントには Arduino、GPS モジュールを使用した操作ガイドを掲載しますが、あくまでもサンプルとしてのご紹介となります。ソラコムのサービス以外についてはサポート対象外となりますので、あらかじめご了承ください。GPS モジュールの使い方等はメーカーにお問い合わせください。

Device

接続履歴の参照

接続エリア

前提事項

このガイドでは、以下のデバイスの使用を前提としています。

「NEO-6M NEO-6M-0-001」 は、以下のような GPS モジュールです。 Amazon.co.jp でも入手できます。

NEO-6M-0-001

スルーホール用テストワイヤは、Arduino と GPS モジュールの接続用に使用します。当ガイドでは 4 本必要です。 こちらも Amazon.co.jp などで購入可能です。

スルーホール用テストワイヤ

デバイスの初期設定

ここでは、LoRa デバイスと Arduino、GPS モジュールを取り付けます。 まず、LoRa デバイスと Arduino を接続します。 以下のように接続します。

Arduino と LoRa デバイス

Arduino と LoRa デバイス

次に、スルーホール用テストワイヤを使用して、Arduino と GPS モジュールを取り付けます。

  • Arduino の GND - GPS モジュールの GND
  • Arduino の 3.3V - GPS モジュールの VCC
  • Arduino の 8 ピン - GPS モジュールの TX
  • Arduino の 9 ピン - GPS モジュールの RX

Arduino と LoRa デバイス Arduino と LoRa デバイス

ユーザーコンソールを使用した LoRa デバイスの設定

LoRa デバイスの確認

LoRa デバイスは、ソラコムのユーザーコンソールから購入できます。購入方法は、 SORACOM Air for LoRaWAN の利用方法 をご確認ください。

以下の手順に沿って、ユーザーコンソール上で購入したデバイスが表示されていることを確認してください。

  • ユーザーコンソール にログインする
  • ユーザーコンソール左上のメニューから「LoRa デバイス管理」を開きます。
  • デバイス一覧に自分が所有している デバイスが表示されていることを確認します。
デバイスの受け入れ処理を行っていない場合、ユーザーコンソールに LoRaWAN デバイスが表示されません。ユーザーコンソールの「発注」画面で「受け取り確認」ボタンをクリックしてください。

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/OFFON に設定
プロトコルHTTPS
ホスト名lora-space.soracom.io
ポート番号443
パス/api/v1/logs

Beam

デバイスを 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 形式のライブラリをインストール を選択します。 IDE menu

  • ファイル選択画面が表示されたら、先に 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 ケーブルで接続してください。

PC と Arduino の接続

次に、IDE を設定します。

  • メニューバー>ツール>ボード> Arduino Genuino Uno を選択し、書き込み対象のボードを指定します。
  • メニューバー>ツール>シリアルポート を選択し、Arduino が接続されているポートを選択します。

スケッチの実行

いよいよスケッチを実行します。

  • IDE を起動し、メニューバー > ファイル > スケッチ例 > SORACOM-LoRaWAN-1.0.5SLS_GPS_LoRa を選択します。
    • (注) ライブラリのバージョンによって SORACOM-LoRaWAN-1.0.5 の末尾の数字が変わることがあります。
  • IDE の画面上にサンプルスケッチが表示されます。
  • ボードとシリアルポートの選択ができたら、サンプルスケッチをコンパイルします。IDE のウィンドウ左上にあるチェックマークのボタンをクリックし、しばらくしてコンパイル完了のメッセージが画面下部に表示されることを確認してください。
  • コンパイルができたら、Arduino にスケッチを書き込みます。IDE のウィンドウ左上にある矢印マークのボタンをクリックし、書き込み完了のメッセージが表示されたことを確認してください。
  • 書き込み完了すると Arduino 上で自動的にスケッチが実行されます。IDE のウィンドウ右上にある虫眼鏡マークのボタンをクリックし、シリアルモニタを開くとスケッチの実行状況とデータ送信ログを確認できます。

LoRa Space に送信されたデータを確認する

LoRa Space に送信された位置情報を確認します。

SORACOM LoRa Space にアクセスし、左上の「接続エリアを登録する」をクリックします。

LoRa Space

ログイン画面が表示されますので、ソラコムのアカウントでログインします。

LoRa Space

以下の画面で、対象の LoRa デバイスを選択し、「設定を確認」をクリックします。 LoRa Space

画面の下部に送信された 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 モジュールが青く点滅しますので、ご確認ください。

    LoRa Space

  • SORACOM Beam を使用していますので、サービス利用料が課金されます。

    • 1 リクエストごとに料金が発生します。
    • エントリーポイント (Beam) へのリクエスト、Beam から転送先へのリクエスト、それぞれを個別に 1 リクエストとカウントします。
    • 新規のお客様を対象として無料利用枠をご提供しています。
    • 詳細は、 SORACOM Beam のご利用料金 をご確認ください。