ES920LRとは
広域低消費電力で通信できるLoRa変調を使用した無線モジュールです。
同じ特定小電力機器でXbeeなどは通信距離が見通し実効で数百m程度なのに対し、ES920LRは数kmまで通信できます。
(写真は公式webページより)
必要パーツ
- ES920LR本体 2台
ハーフピッチ変換基板・アンテナ付きのものを東京デバイセズから購入しました。
追加モジュールと記載がありますが、評価ボードなしでも使用は可能です。 - 母艦PC
この記事ではTeraTermを使って説明します。 -
Xbee用USBインターフェースボード
3.3Vシリアルへ変換出来れば何でもよいのですが、3.3Vの電源が取りやすいためこれを使いました。 - ハーフピッチ変換アダプタ
Aitendoの変換アダプタにピンソケットと細ピンヘッダを使用しました。 -
ブレッドボード
試接続用。上記の変換アダプタを使う場合、横に広くなるため大きめのものが必要です。 - ジャンパーワイヤー
20本くらい
セットアップ手順
接続図
TeraTerm設定
設定->端末で
送信改行コードをCR+LF
ローカルエコーをON
に設定します。
電源投入~初回通信
電源を投入すると次のように表示されます。
(表示されない場合は配線か設定が間違っている可能性があります。)
select Mode [1.terminal or 2.processor]
ここでは説明のためTerminalモードに入ります。
「terminal」と打ち、Enterキーを押してください。
続いて設定できる項目が表示されます。
OK
Software Version : VER 1.12
Configuration Mode
------------------------------------------
a. node select Coordinator or EndDevice
b. bw select Band Width
c. sf set Spreading Factor
d. channel set channel
e. panid set PAN ID
f. ownid set Own Node ID
g. dstid set Destination ID
l. ack set Acknowledge Mode
m. retry set send retry count
n. transmode select Transfer Mode
o. rcvid set received Node ID information
p. rssi set RSSI information
q. operation select Configuration or Operation
r. baudrate select UART baudrate
s. sleep select Sleep Mode
t. sleeptime set Sleep Wakeup Timer value
u. power set Output Power
v. version software version
w. save save parameters
x. load load default parameters
y. show show parameters
z. start Transite Operation
A. format set Data Format
B. sendtime set test send interval
C. senddata set test send data
?. help help
LORA >
1台目を
node: Coordinator
OWN Node ID: 0x000
Destination ID: 0x001
Operation: Operation
2台目を
node: EndDevice
OWN Node ID 0x001
Destination ID 0x000
Operation: Operation
に設定します。
設定する項目(node,bw,sf等)を打ち込み、Enterキーを押すと
設定値の打ち込みを求められるので、設定値を打ち込みEnterキーを押します。
(Destination IDの設定例)
LORA > dstid
please set Destination ID (0000 - FFFF) > 1
Destination ID is 0x0001
全ての設定が終わったらshowコマンドで設定が正しくされているか確認します。
(1台目)
show
configuration setting is below.
-------------------------------------
Node : Coordinator
Band Width : 125kHz
Spreading Factor : 7
Effective Bitrate : 5469bps
Channel : 1
PAN ID : 0001
Own Node ID : 0000
Destination ID : 0001
Acknowledge : ON
Retry count : 3
Transfer Mode : Payload
Receive Node ID information : ON
RSSI information : OFF
Config/Operation : Operation
UART baudrate : 115200
Sleep Mode : No Sleep
Sleep Time : 50
Output Power : 13dBm
Format : ASCII
Send Time : 0
Send Data :
(2台目)
show
configuration setting is below.
-------------------------------------
Node : EndDevice
Band Width : 125kHz
Spreading Factor : 7
Effective Bitrate : 5469bps
Channel : 1
PAN ID : 0001
Own Node ID : 0001
Destination ID : 0000
Acknowledge : ON
Retry count : 3
Transfer Mode : Payload
Receive Node ID information : ON
RSSI information : OFF
Config/Operation : Operation
UART baudrate : 115200
Sleep Mode : No Sleep
Sleep Time : 50
Output Power : 13dBm
Format : ASCII
Send Time : 0
Send Data :
設定後、saveコマンドで設定を保存します。
設定保存後、通信を行うためにはstartコマンドを打ち込みます。
データの送信時は送信内容を入力後、Enterキーを押す必要があります。
通信内容は下記のように表示されます(「hogehoge」を送信した場合の例)。
(送信側)
hogehoge
<-- send data info[panid = 0001, srcid = 0000, dstid = 0001, length = 08]
(受信側)
--> receive data info[panid = 0001, srcid = 0001, dstid = 0000, length = 08]
Receive Data(hogehoge)
2回目以降の電源投入~通信
上記の設定が保存できていれば、電源投入直後から通信ができるようになります。
下記の表示が出た場合は再度設定をやり直してください。
select Mode [1.terminal or 2.processor]
動作モードと詳細設定
ConfigurationとOperation
次回起動時の動作モードを選択します。
Operationを選択した場合、次回起動時は起動直後から通信ができるようになります。
通信を行っている状態(Operation)から設定(Configuration)に入るためには、
「config」と打ちEnterキーを押した後、電源を再投入します。
(一度Configurationモードに入った場合、設定画面内でOperationを再選択しなければ次々回起動時もConfigurationモードに入ることに注意)
TerminalとProcessor
設定画面・送受信画面の表示/入力方法を指定します。
Terminalは対話形式、Processorはコマンド形式で行います。
この設定だけはConfigurationモード時の設定項目にありません。
Configurationモード電源投入時の選択が次回以降にも反映されます。
Terminalモードで設定しProcessorモードで通信を行うためには、
config
↓
再起動
↓
terminalモードを選択
↓
主目的の設定
↓
save
↓
再起動
↓
processorモードで入る
↓
operationモード設定
↓
save
↓
再起動
という手順を踏む必要があります。
Terminalモードの表示例
設定画面
コマンドを打つと、対応するオプションが表示されます。
LORA > rcvid
1. ON
2. OFF
select number > 1
Receive Node ID information is ON.
データ送受信
(データ受信時)受信したデータに加えて、データに関する情報が表示されます。
--> receive data info[panid = 0001, srcid = 0001, dstid = 0000, length = 08]
Receive Data(hogehoge)
(データ送信時)送信データに関する情報が返されます。
hogehoge
<-- send data info[panid = 0001, srcid = 0000, dstid = 0001, length = 08]
Processorモードの表示例
設定画面
コマンド+数字オプションで設定します。
rcvid 2
OK
コマンドのみの場合はNG 002が返されます。
rcvid
NG 002
データ送受信
(データ受信時)受信したデータがそのまま表示されます。
hogehoge
(データ送信時)送信できた場合はOKが返されます。
hogehoge
OK
CoordinatorとEndDevice
同一PAN内でCoordinatorが1台、他はEndDeviceに設定するものと思われます。
Coordinatorの場合、OWN Node IDは0にします。
EndDeviceのみがスリープ動作可能です。
PAN ID/OWN Node ID/Destination ID
- PAN ID(Personal Area Network ID)
ネットワークを複数設定するためのIDです。
データを送受信する機器同士は同じPAN IDにしておく必要があります。 - OWN Node ID
自機のID。ネットワーク内で重複しないようにしておく必要があります。 - Destination ID
データ送信先のOWN Node IDを指定します。
Formatオプション(ASCIIとBinary)
ASCIIモード時は、改行コード(CR+LF)が打ち込まれたら送信(最大50バイト)を行います。
Binaryモード時は、「送信バイト数(1バイト)+データ部(最大50バイト)」の形式でデータを入力します。
(Xbeeのような透過モードはありません)
帯域幅と拡散率
帯域幅を狭く、拡散率を大きくすることで通信距離を伸ばすことができます。
詳細は参考情報を参照してください。
その他
ヘッダー部を自動生成するかどうか、受信電波強度・送信元/宛先IDを併記するかどうか、スリープ設定などを指定できます。
詳しくは、公式資料を参照してください。