今回、ちょっとイレギュラーでTWELITEでセンサーからデータを得て、RaspberryPIをGatewayとしてデータをクラウドに送信することになりました。
TWELITEは、以前に触れたことはあるのですが、すっかりと忘れているので、改めて記載したいと思います。
設計としては、[センサー] – [TWELITE] <無線> [TWELITE] – [RaspberryPI]として、TWELITEはシリアル通信の透過モードにしたいと思います。なおセンサーとTWELITEはUART接続です。
まずWindowsマシンに次URLから書き込みツールをダウンロードし実行します。なお、インストーラは無く、TWE-Programmer.exeを実行します。
TWELITEプログラマ - MONO-WIRELESS.COM
次に次URLからシリアル通信(App_Uart)をダウンロードします。
シリアル通信アプリ(App_Uart)ダウンロード- MONO-WIRELESS.COM
ファームウェアを選択し、書き込み、+++ボタンを押すとターミナル画面に次のような表示が行われます。こちらは、RaspberryPI側でUSBドングルです。
次にセンサー側も同様に書き込みます。こちらはTWELITE DIPですので、TWELITE Rに装着します。この時、 TWELITE DIP の向きと TWELITE R のPINショートを下写真のように行います。
パソコンに接続し、同様に書き込み、+++ボタンを押すと次のように表示されます。
ここで次の通り設定します。記載は変更点のみです。
コマンド | 設定項目 | 設定値 | 説明 |
a | アプリケーションID | 0x810C0756 | 0x80000000にシリアル番号を加えたものが通例 0x810C0756とする。 |
i | 論理デバイスID | 120 / 121 | 120: 子機(ID設定無し) 121: 親機 |
c | 周波数チャンネル | 18,21 | 18,21 |
b | UARTボーレート | 9600 | センサーにあわせます |
m | UARTモード | D | C: チャットモード D: 透過モード A: 書式モード、アスキー形式 B: 書式モード、バイナリ形式 T: 透過モード(ペアリング) |
これで電源を入れれば、センサーからのデータがRaspberryPI側で受信できるはずです。確認してみます。
まずpip3 install pyserialとして、簡単なプログラムを記載してみます。
import serial ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=3) while True: buffer_RTT = ser.read() if (0 < len(buffer_RTT)): print(buffer_RTT) ser.close()
b'\x00' b't' b'\x02' b'h' b'\x00' b'\x00'
ん~、簡単に遠隔にあるセンサーのデータが手元で取得できるようになりました。