LoginSignup
11
17

More than 5 years have passed since last update.

LoRaWAN開発Arduinoシールド "AL-050" を Raspberry PiやPCで使う

Last updated at Posted at 2017-06-11

IoT向けの中距離無線として注目されているLPWA
その中でも今すぐ使えるLPWAとして LoRaWAN があります

ソラコムからLoRaWANで通信ができるArduino UNO R3のシールド(拡張ボード)を販売していますが、実はこのシールド、Arduinoだけでなく Raspberry PiやPCからでも使える方法があるので、その紹介です

概要

AL-050の販売ページからダウンロードできるドキュメントの5ページ目にこんなことが書いてあります

al-050-manual-p5.png

※PDFより抜粋

要するに シールドのD12をD0と、D11をD1とそれぞれ接続し、USBポートで接続するとPL2303HXDなUARTデバイスとして見えるよ ということです
別にArduinoじゃなくても良かったんだ!

論より実証

  1. マニュアル通りに接続

ファイル_000 (1).jpeg

  1. PL2303HXDのWindows 10のドライバをProlific Technologyからダウンロード & インストール

  2. おもむろにターミナル(TeraTerm)で接続、動かしてみる

al-050-teraterm.png

> mod get_ver
>> V1.3.1-ar-Mar 18 2017-16:32:02
> mod get_hw_model
>> TLM922S-P01A-ffffffffffffffffffffffff

mod get_vermod get_hw_model が AL-050 のコマンドです。ほかのコマンドはマニュアルに書いてありますので、それを参照ください

Raspberry Pi等のLinuxから使う場合はscreenコマンドとか使ってください

LoRaWANを使ってみる

ソラコムからAL-050を購入すると、SORACOM Air for LoRaWANのネットワークサーバに登録された状態で、手元に届きます

そのため、誰でも使える共有ゲートウェイ※があれば、すぐにでもLoRaWANを試すことができます。具体的なコマンドシーケンスを掲示しておきます
※共有ゲートウェイがどこに設置されているかは SORACOM LoRa Space で確認できます。お近くにあるといいですね

> が入力 >> がレスポンスです

モジュールのリセットを行った後、over-the-air activation(OTAA)モードでLoRaWANネットワークにjoinし、 Hi!LoRaWAN! というデータを送信している例

> mod factory_reset
>> OK
> lorawan join otaa
>> accepted
> lorawan tx ucnf 1 4869214c6f526157414e21
>> Ok
>> tx_ok

送受信に使うASCII HEX表現について

AL-050 は送受信のデータ表現にASCII HEX(hexadecimal)を使います。これにより、non-printable なデータを送ることが可能です

これを操作する簡単な方法として pack/unpack があります

Ruby で操作する

# 作る(送信時の操作)
> "Hi!LoRaWAN!".unpack("H*").first
=> "4869214c6f526157414e21"

# 戻す(受信時の操作)
> ["4869214c6f526157414e21"].pack("H*")
=> "Hi!LoRaWAN!"

あとがき

UARTプログラミング、ばんざい

11
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
17