TWELITEでの通信(シリアル透過モードの設定)

今回、ちょっとイレギュラーで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 0x810C07560x80000000にシリアル番号を加えたものが通例
0x810C0756とする。
i 論理デバイスID 120 / 121120: 子機(ID設定無し)
121: 親機
c周波数チャンネル18,2118,21
bUARTボーレート9600センサーにあわせます
mUARTモードDC: チャットモード
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'

ん~、簡単に遠隔にあるセンサーのデータが手元で取得できるようになりました。