ChinoDuino(Chino × Arduino)

自発性のないプログラマーがArduinoと出会って悪戦苦闘する様を綴っていく⇒今はいろいろ(^^;

TWELITEをいじってみる(センサデータをみてみる)

この記事は↓の続きになります!

chinoppy.hatenablog.com

今回は、TWELITE DIPにセンサを繋いで、MONOSTICKで受信したセンサデータをみてみます!

こちらのページが参考になりますが、スイッチサイエンスで購入したBME280は配線が違うため、あわせて記載していきます📝

mono-wireless.com

前提

センサデータをみてみる

準備

ハード側

配線はこちら

f:id:chinoppy:20220321134957j:plain:w800

ソフトの書き換え、設定の編集・変更

手順としては無線タグアプリ (App_Tag) - MONO-WIRELESS.COMをMONOSTICK、TWELITE DIPに書き込み、設定等をインタラクティブモードで編集・設定します!

  • TWELITE DIPに子機用の「App_Tag_EndDevice_Input」を書き込み
  • MONOSTICKにOTAでTWELITE DIP側の設定を変更する「App_Tag_EndDevice_Input_OTA」を書き込み
  • インタラクティブモードで子機用の設定を行う
  • 子機(TWELITE DIP)の設定を変更
  • MONOSTICKでデータを受信するための「App_Tag_Parent_MONOSTICK」を書き込み
TWELITE DIPに子機用の「App_Tag_EndDevice_Input」を書き込み
  • TWELITE DIPをTWELITE R2に装着して、PCとUSB接続
    • ⚠⚠⚠差し込む方向を間違えるとTWELITE DIP側が壊れてしまう可能性があるので注意!⚠⚠⚠
  • TWELITE STAGEを起動
  • シリアルポートは「TWELITE R2」を選択
  • 「アプリ書き換え」⇒「TWELITE_APPSビルド&書換」⇒「App_Tag」⇒「App_Tag_EndDevice_Input」を選択
  • ⇒アプリがTWELITE DIPに書き込まれます

youtu.be

  • 書き込みが完了したら、TWELITE STAGEを終了させて、TWELITE R2もPCから外し、TWELITE DIPをブレッドボードに装着する
  • ブレッドボード装着後、まだ電源はいれない!
MONOSTICKにOTAでTWELITE DIP側の設定を変更する「App_Tag_EndDevice_Input_OTA」を書き込み
  • MONOSTICKをPCとUSB接続
  • TWELITE STAGEを起動
  • シリアルポートは「MONOSTICK」を選択
  • 「アプリ書き換え」⇒「TWELITE_APPSビルド&書換」⇒「App_Tag」⇒「App_Tag_EndDevice_Input_OTA」を選択
  • ⇒アプリがMONOSTICKに書き込まれます

youtu.be

インタラクティブモードで子機用の設定を行う

次にインタラクティブモードで子機に設定する内容を編集します

  • 上記の続き
  • TWELITE STAGEの「インタラクティブモード」を選択
  • 設定を変更する
    • 「b」キーでUART baundを変更:115200
    • 「o」キーでOption Bitsを変更:0x00010001
    • 「d」キーでSleep Durを変更(ms):60000(※ 1分ごと送信するようにする)
    • 「w」キーでSensor Waitを変更(ms):30
    • 「m」キーでSensor Modeを変更:0x39
    • 「p」キーでParameterを変更:0
  • 「Shift + S」キーで設定を保存

各設定の詳細はこちらを参照

無線タグアプリ インタラクティブモード - MONO-WIRELESS.COM

youtu.be

子機(TWELITE DIP)の設定を変更

上記に引き続き、TWELITE STAGEを起動したままで、子機に電源をいれて、以下のように表示されれば、TWELITE DIP側に設定が反映されたことになるようです!

SUCCESS [TWELITE DIPのED]

f:id:chinoppy:20220321151846p:plain

youtu.be

⚠障害物などに弱いので、なるべくMONOSTICKとTWELITE DIPを近い距離にして、TWELITE DIPの電源をいれてください⚠

MONOSTICKでデータを受信するための「App_Tag_Parent_MONOSTICK」を書き込み
  • MONOSTICKをPCとUSB接続
  • TWELITE STAGEを起動
  • シリアルポートは「MONOSTICK」を選択
  • 「アプリ書き換え」⇒「TWELITE_APPSビルド&書換」⇒「App_Tag」⇒「App_Tag_Parent_MONOSTICK」を選択
  • ⇒アプリがMONOSTICKに書き込まれます

youtu.be

センサデータを確認!📈

TWELITE STAGEを起動して、シリアルポートは「MONOSTICK」を選択をすると1分ごと、センサデータを確認できます!🙌

  • tm: 温度(100倍されているので、22.44℃)
  • hu: 湿度(こちらも100倍されているので、39.08%)
  • at: 気圧(975hPa)
::rc=80000000:lq=183:ct=0018:ed=82015460:id=0:ba=3180:a1=1138:a2=0689:tm=2244:hu=3908:at=0975

youtu.be

Pythonで確認してみる

Raspberry PiにMONOSTICKを装着すると /dev/ttyUSBx として認識されます

$ ls -la /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0  3月 19 23:19 /dev/ttyUSB0

Pythonでserial関連のライブラリをインストールします

$ pip3 install pyserial

コードはこんな感じ

import serial
import time

ser = serial.Serial('/dev/ttyUSB0', 115200)

while True:

    time.sleep(1)

    recv_list = ser.readline().decode('utf-8').split(':')
    if len(recv_list) < 13:
        # いったん、受信データの要素数で不要なデータ時は出力しないようにする
        continue

    print(recv_list)

実行すると以下のように受信したデータを確認できます🙌

$ python3 app_tag_loop.py
['', '', 'rc=80000000', 'lq=159', 'ct=0002', 'ed=8201C109', 'id=0', 'ba=3190', 'a1=0916', 'a2=0612', 'tm=2270', 'hu=4060', 'at=0975\r\n']

Let's Enjoy センシング!!!!!!!! 📊