LoRa 開発シールドのデータを enebular で受け取る
花粉がまだ名残惜しく思っているようで、鼻がまだむずむずしています。
ぽかぽか陽気が続いていますが、みなさんいかがお過ごしでしょうか。
デバプラ部のはらだです。先日ジャパリカフェにいきました٩( ‘ω’ )و
先日LoRa開発シールドが SORACOM さんより届きました!💪
早速疎通確認をしてみたので、手順など記載していきます。
GateWayを設置する
あけまして。
内容物は、GW本体とアンテナ2本、アダプタとSIM入りのUSBドングル。
GWの設定はとくになしで、配線繋げるだけでおっけーでした👌
LoRa Space とにらめっこして、 LoRa Space をより拡充できそうな方角へ設置しました。 SORACOM さんと cloudpack さんがウフルから見て北東にあるので、逆の南西方面の窓際です。
以前のPoCキットでの知見があるので、なるべく高めに。
Soracom Harvestでデータの送信を確認する
詳しくは SORACOM さんの LoRaWAN デバイス設定ガイド へどうぞ。画像付きで詳しく書かれております。
まず、受け取ったときに入っていた箱の側面及び、kiwi と書いてあるモジュールのバーコードの下部にdevEUIが記載されているので、検証する個体のdevEUIを確認しましょう👀
SORACOM ユーザーコンソール にログインし、メニューからLoRa デバイス管理の画面へ遷移します。
先ほど確認したdevEUIのものがわかりやすいように名前を付けましょう。
確認するデバイスにグループを割り当て、上記リンクの手順に従って設定を進めます。
私は こちら で提供されている AL-050 ユーザーズガイド を見ながら行いました。
AL-050 と PC を直接繋ぎ、シリアルモニタを開きます。
[code lang=”text”]
> lorawan join abp
>> Ok
>> accepted
[/code]
まずは LoRaWAN のネットワークに join します。
暗号/認証キーをネットワーク上で交換するOTAAまたは製造時に暗号/認証Keyを固定するABPの2つから Activation mode を選択することができます。詳しくは SORACOM さんの LoRaWANの仕様とネットワークアーキテクチャー に記載されています。
ネットワークを切り替える際はOTAAが有効だと思いますが、SORACOM Air を使うので基本 ABP でいいんですかね。
[code lang=”text”]
> lorawan set_dr 5
>> Ok
[/code]
次にデータレートを設定します。0~6の値でそれぞれMax.Payload Sizeが決まっています。
詳しくはユーザーズガイドに。
[code lang=”text”]
> lorawan tx ucnf 15 1111
>> Ok
>> tx Ok
[/code]
ポート番号を指定してデータを送信します。
16進数なので0~fの値にしましょう。
SORACOM ユーザーコンソール の画面に戻り、データが送信されていることを確認しましょう。
確かに、データが受信できています。
PoCキットの際のものとデータフォーマットが違うので注意しましょう。
1次処理のところでアスキーコード変換も行われているようですね。
ちなみに複数GWからデータが送られたときにはこのようになりました。
集約されていますが、enebular で確認した際も同様なデータでした。
[code lang=”text”]
{
"data": "aaaa",
"date": "2017-04-27T02:27:31.278724",
"deveui": "xxxxxxxxxxxxxxx",
"gatewayData": [
{
"channel": 926400000,
"date": "2017-04-27T02:27:31.278724",
"gwid": "000b78fffeb000a1",
"rssi": -53,
"snr": 8.5
},
{
"channel": 926400000,
"date": "2017-04-27T02:27:31.362446",
"gwid": "000b78fffeb0008d",
"rssi": -111,
"snr": -13.5
}
]
}
[/code]
enebular でデータを受け取ってみる
まずは SORACOM Beam で設定するエントリポイントを enebular から取得します。
Deploy 横の information の丸アイコンにオンマウスすると、現在のインスタンスURL情報がわかります。永続的なものではないので注意してください
※永続的に使用するのなら、外部サービスへデプロイし、URLを設定する必要があります。
Beamにはこのように設定しました。
パスの /lora は任意のもので大丈夫です。/任意のもの のように設定します。後程 enebular の中で使います
検証のためにカスタムヘッダを設定しています。
簡単ですが、 Beam が転送するのを受けるだけのフローを作りました。
http ノードの中で先ほど入力したパスを設定します。
enebular 側の設定はこれで完了。
そして Harvest での疎通確認同様、 LoRa からコマンドを送信します。
来ました!🙌
ここから中のデータを10進数に変換したり意味づけしていくといいですね。
ちなみに先ほど設定したヘッダは msg.headers.custom に格納されていました。
msg.headers.x-soracom-lora-device-id には デバイスid も格納されています。
LoRaWAN も Harvest も enebular も簡単に接続出来ちゃいますね。手早いのはいいことだ!🏍
それでは~