Dragino社LG01-JP（LoRaゲートウェイ）の新ファームウェアでThe Things Networkに接続する！


【概要】
Dragino社のLG01-JPで、The Things Networkにデータをアップする手順を説明します。

１．The Things Networkにアカウントを作成し、ログインします。

・https://www.thethingsnetwork.org/country/japan/ をブラウザで開き、右上の「SIGN UP」をクリックします。ガイダンスに従って、アカウントを作成してください。
![WS000003.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/fbf15860-dbd8-3cee-7c61-42877908aac1.jpeg)

・ログインします。
https://account.thethingsnetwork.org/users/login をブラウザで開き、登録したユーザID、パスワードでログインします。
![WS000004.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/095f680d-8559-cb1d-3af9-6701772423b5.jpeg)


２．ゲートウェイの登録を行います。

・コンソールに移動します。
画面上の「CONSOLE」をクリックしてコンソール画面に移動します。
![WS000055.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/e69159b6-7e2a-16b2-5e3e-1107e17df1c8.jpeg)

・ゲートウェイの登録画面に移動します。
画面右側の「GATEWAYS」の画像をクリックします。
![WS000007.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/183346d3-4e64-cded-a40e-8cd85916c795.jpeg)

・ゲートウェイの登録を行います。
「register gateway」をクリックします。
![WS000008.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/a50ea952-3cf5-f7d9-90ca-8cf14b511ce0.jpeg)

・必要な項目を設定します。
「I'm using the legacy packet forwarder」にチェックを入れます。
![WS000009.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/30acbde0-92b1-faaf-04aa-eae42dec09ee.jpeg)

上記チェック後、「Gateway ID」が、「Gateway EUI」に変わります。
項目を入力します。
![WS000010.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/c9cb2fb1-476e-6126-827d-c2bd59caf5b6.jpeg)
「Gateway EUI」：　LG01-JP本体のeth1のMACアドレス（※１　LG01-JPの設定でも使います）
　　※SSHで接続し、「ifconfig -a | grep eth1」でMACアドレスを確認し、
　　　「:」抜きで入力します。また、４バイト目と、５バイト目に、「FF」を追加します。
　　　例：A8:40:41:17:C6:28 の場合、A8 40 41 FF FF 17 C6 28 となります。
「Description」：　ゲートウェイの名前を設定します（適当）。
「Frequency Plan」：　「Asia 920-923MHz」を選択します。
「Router」：　「ttn-router-asia-se」を選択します。
「Location」：　地図上で、LG01-JPの設置場所を選択します。
　　　　　　　　（※２　地図右上に、「lat」、「lng」の値があります。
　　　　　　　　　　　　LG01-JPの設定設定で使うので覚えておきましょう。）
「Antenna Placement」：　「indoor」(屋内)、「outdoor」(屋外)から選択します。

右上の「Settings」をクリックします。
![WS000013.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/581245da-11de-1c13-e665-12613568920d.jpeg)

「Information」をクリックし、「Brand」、「Model」、「Antenna」を入力します。
![WS000014.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/cd965fca-044e-bc5c-40d9-e491bc854dbf.jpeg)

以上で、ゲートウェイの登録は完了です。引き続き、アプリケーションの登録を行います。

３．アプリケーションの登録

・アプリケーションの登録画面に移動します。
「APPLICATIONS」の画像をクリックします。
![WS000015.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/dfc33636-d836-e23e-5c14-21c345e0173a.jpeg)

右上の「add application」をクリックします。
![WS000016.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/39e070e0-df32-f606-a3e7-a7ada012c7e7.jpeg)

各項目を設定します。
![WS000017.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/3b8e8403-dd7b-0ff0-00ec-d15f5154b907.jpeg)

「Application ID」：　半角英数、「_（アンダーバー）」でIDを設定します。
「Description」：　このアプリケーションの名前を設定します。
「Application EUI」：　（設定不要）
「Handler registration」：　「ttn-handler-asia-se」を選択します。

・アプリケーションにデバイスを追加します。
「Devices」をクリックします。
![WS000020.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/910b9007-b53a-c5d2-d714-e6c6451b2641.jpeg)

右上の「register device」をクリックします。
![WS000021.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/6bdf7fa5-5bb8-3ac1-f5eb-8a2a7a44f30e.jpeg)

必要な項目を設定します。
![WS000023.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/f4a051cd-3c20-f42e-e42c-6a353e7bbc66.jpeg)

「Device ID」：　半角英数、「_（アンダーバー）」でIDを設定します。
「Device EUI」：　適当で良いようです。 YY MM DD 連番 FF FF FF FF で登録しました。
「App Key」：　設定不要です。　
「App EUI」：　そのままでOKです。

デバイスを選択します（OTAA→ABPの設定変更を行います）。
![WS000024.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/2b15d1db-baab-cbe0-3c14-6140366bc438.jpeg)

右上の「Settings」をクリックします。
![WS000025.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/16d97479-8d9a-fc08-824c-190c0d7398c3.jpeg)

「Activation Method」で、「ABP」を選択します。
![WS000026.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/fe340135-bbae-2470-d4b9-110028919311.jpeg)

元の画面に戻り、下の方に、「EXAMPLE CODE」に、デバイスアドレス、ネットワークキー、アプリケーションキーがコードで表示されているのでコピーしておきます（※１）。
![WS000027.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/34cc8358-2cb2-c344-a86b-5709bbeb47c7.jpeg)

以上で、「The Things Network」の設定は完了です。続いて、Dragino LG01-JPの設定を行います。


４．ゲートウェイ（LG01-JP）の設定

・ゲートウェイのLoRaWAN関連の設定を行います。
ブラウザで、LG01-JPの設定画面を開きます（デフォルトでは、http://10.130.1.1 です）。
ログインします。
初期ユーザID、パスワードは、root / dragino です。ログインしたらパスワードを変更するようにしましょう。
![WS000028.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/9131ce0b-4dfa-4287-205d-97a23a42ccd8.jpeg)

・MCU（LG01-JP上のLoRaMiniの書き換えになります）のプログラムの書き換えを行います。
画面上部の「Sensor」→「Flash MCU」をクリックします。
![WS000041.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/4c46d6df-98b7-376b-53e2-fd1043461239.jpeg)

https://www.openwave.co.jp/opwcloud/index.php/s/xvxoieFyT7eEeuO から、「single_pkt_fwd_v002.hex」をダウンロードします。
ダウンロードしたら、「ファイルを選択」ボタンをクリックして、ダウンロードしたファイル「single_pkt_fwd_v002.hex」を選択し、「Flash Image」をクリックします。
MCUの書き換えが始まります。
![WS000043.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/b447d1f9-202b-36a3-c748-f6391794baa0.jpeg)

・LG01-JPのIoTサーバの種類を選択します（MQTT、LoRaWANなど）。
画面上部の「Sensor」→「IoT Server」をクリックします。
![WS000046.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/713c8372-7a41-2a05-d81b-6b64d815fd04.jpeg)

「IoT Server」で、「LoRaWAN」を選択します。「Save & Apply」をクリックします。
![WS000045.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/b4a7c2dd-0af5-85c1-f666-dbd4773edfd3.jpeg)

・LoRaWAN関連の設定（接続先、Frequencyなど）を行います。
画面上部の「Sensor」→「LoRa/LoRaWAN」をクリックします。
![WS000032.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/c27980c1-4aa2-79a6-0baa-e7695b2fe93b.jpeg)

設定します。設定が完了したら、画面右下にある「Save & Apply」をクリックします。
![WS000056.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/86beb127-42bd-52ab-23e4-1267346862b5.jpeg)
![WS000049.JPG](https://qiita-image-store.s3.amazonaws.com/0/169302/7ea6b303-34c8-2a9c-6c16-cc79f6b72a05.jpeg)


「Server Address」：　router.as2.thethings.network
「Server Port」：　1700
「Gateway ID」：　「※１」と同じ値（空白は無し）
「Mail Address」：　実在するアドレス
「Latitude」：　※２の「lat」の値
「Longtitude」：　※２の「lng」の値
「TX Frequency」：　923200000
「RX Frequency」：　923200000
「Encryption Key」：　空
「Spreading Factor」：　SF10
「Coding Rate」：　4/5
「Signal Bandwidth」：　125kHz
「Preamble Length」：　8


以上で、LG01-JPの設定は完了です。引き続き、エンドデバイス(LoRa Mini Dev JP)のプログラムの書き込みを行います。



５．エンドデバイス（LoRa Mini Dev JP）のプログラム書き込み

・ArduinoIDEをインストールします。
https://www.arduino.cc/en/main/software
からインストーラーをダウンロードし、インストールしてください。

・LMIC（LoraWAN-in-C library）のライブラリをインストールします。
　以下のライブラリは、AS923に対応したライブラリとなっています。
https://github.com/openwave-co-jp/arduino-lmic-master-for-LG01-JP
ダウンロードしたら、解凍して、ArduinoIDEをインストーリしたディレクトリの中にある、librariesフォルダの中に移動します。
例：C:\Program Files (x86)\Arduino\libraries

・TTNに接続するプログラムをダウンロードします。センサーデータを上げる場合などは、適宜変更してください。ダウンロードできるサンプルプログラムでは、「Hello, world!」と送るようになっています。
https://www.openwave.co.jp/opwmine/attachments/download/821/LoRaMiniTTN.zip
解凍したら、中にある「LoRaMiniTTN.ino」をArduinoIDEで開きます。

・40行目のNWKSKEY、45行目のAPPSKEY、51行目のDEVADDRをそれぞれ、「３．アプリケーションの登録」の、※１で控えておいた値に変更します。
　　NWKSKEY：ネットワークキー
　　APPSKEY：アプリケーションキー
　　DEVADDR：デバイスアドレス

・コンパイルして、書き込みを行います。

以上で完了です。

The Things Networkのコンソールで、データの受信が確認できます。