ゆるく楽しむプログラミング

TWELITE PAL と 環境センサーパルを使う

TWELITE DIP にコイン電池を搭載したTWELITE PAL
温湿度と環境光を計測できる環境センサーPALを合わせて使用してみました。
TWELITE BLUE PAL & AMBIENT SENSE PALセットでも販売されています。

TWELITE PALはコイン電池(CR2032)で4年間動作します。
※カタログスペックなので使用条件によると思いますが1年使えれば充分かなと思います。

コイン電池を押し出す専用の冶具が売ってたりします。
なくてもペンの先とかで押し出せますし、3Dプリント用の形状データが配付されているので、3Dプリンタがあれば自分で作れます。
複数のTWELITE PALを同時に使用する場合にはデバイスIDが重複しないように変更する必要がありますが、使用するTWELITE PALが1個だけなら、ディフォルトの設定で使えます。

親機の設定

TWELITE PALは子機なので、TWELITE PALが発信するデータを受け散る親機が必要ですので
TWELITE DIPを親機として使用します。

TWELITE DIPに書き込まれている「標準アプリ」では」TWELITE DIPの情報を受信できないので
「親機・中継機アプリ(App_Wings)」を書き込んで親機にします。


一応、USB-シリアル変換アダプタで接続してプログラムモードで接続する事も出来る・・・らしいのですが・・・
「UART-USBケーブルでの書き込み」の説明の接続でプログラム書き換えアプリに接続できませんでした。
  ※M5Stamp用のESP32-DOWNLODERがTWELITE STAGEに認識されませんでした。
なので、アプリの書き換えにはTWELITE-R2を使用しました。

アプリ書き込みツール TWELITE STAGEのインストール

TWELITEにアプリを書き込むために、TWELITE STAGEをインストールします。
※ダウンロードしたZIPファイルを解凍して、適切なフォルダ名に変更するだけです。
※長すぎる(階層が深すぎる)フォルダや、フォルダ名に日本語や空白が入っているとダメっぽいです。

TWELITER STAGEの実行ファイルはTWELITE_Stage.exeです。ショートカットを作成しておくと良いかも。

親機設定前の確認

親機の設定を行う前に、子機(TWELITE PAL)の情報を確認しておきます。
TWELITE PALをPCに接続して インタラクティブモードから子機のアプリケーションIDと、デバイスIDを確認しておきます。
多分、出荷状態では アプリケーションID: 0x67726305  チャンネル: 15 になっていると思います。



親機アプリの書き込みと設定

TWELITE DIP(TWELITE PALではありません)をPCに接続してTWERITE STAGEを起動します。
「アプリ書換」
「App_Wings」
書換た後、インタラクティブモードで設定を確認。
アプリケーションIDとチャンネルを確認
TWERITE PALのアプリケーションIDとチャンネルに合わせてSAVEします。
SAVEしないと設定が変更されません。
TWELITE親機とTWELITE APL(With 環境センサーPAL)の通信状態を確認するために
ビューアを開きます。
「簡易簡易モニタ」
TWELITE PAL(With 環境センサーPAL)の項目はないので、機能が似ている
「TWELITE AREAの簡易モニタ」を開きます。
通信は1分間隔なので、表示されるまでチョット時間がかかります。
TWERITE AREAには照度計はなく、TEWRITE PAL(With 環境センサーPAL)には磁力センサーはないので表示されない項目がありますが
共通の項目は表示されます。
表示が出れば問題なく通信が出来ています。

暫く(1分以上)まっても表示されない場合は、アプリケーションIDとチャンネルを再度確認してください。

TWELITE PAL(With 環境センサーPAL)から送られてくるデータ

TWELITE PALから送られてくるデータの形式は基本的は「標準アプリ」の場合と同じです。
ASCIIキャラクタ ’:’で始まり、1バイトを2文字の16進数で現した16進数の文字列で終端は<0D>(CR)<0A>(LF)です。

ヘッダー部
番号 意味 備考
1 中継機のシリアルID 中継していない場合は80000000
2
3
4
5 LQI 0が最小で255が最大
6 続き番号
7
8 送信元のシリアルID
9
10
11
12 送信元の論理デバイスID
13 センサー種別 80で固定
14 PAL基板バージョンとPAL基板ID 82:環境センサーパル Ver.1
15 センサーデータの数

センサーデータ部 【電源電圧】
番号 意味 備考
16 各種情報ビット値 11:拡張バイトあり 符号なしShort型
17 データソース 30:ADC
18 拡張バイト 08:電源電圧
19 データ長
20 データ
21

センサーデータ部 【ADC1】
番号 意味 備考
22 各種情報ビット値 11:拡張バイトあり 符号なしShort型
23 データソース 30:ADC
24 拡張バイト 01:ADC1
25 データ長 2バイト
26 データ
27

センサーデータ部 【温度】
番号 意味 備考
28 各種情報ビット値 05:拡張バイトなし符号ありShort
29 データソース 1:温度
30 拡張バイト 0
31 データ長 2バイト
32 データ 温度(℃)の100倍の値
33

センサーデータ部 【湿度】
番号 意味 備考
34 各種情報ビット値 01:拡張バイトなし符号なしShort
35 データソース 2:湿度
36 拡張バイト 0
37 データ長 2バイト
38 データ 湿度(%)の100倍の値
39

センサーデータ部 【照度】
番号 意味 備考
40 各種情報ビット値 02:拡張バイトなし符号ありLong
41 データソース 3:照度
42 拡張バイト 0
43 データ長 4バイト
44 データ ルクス
45
46
47

番号 意味 備考
48 チェックサム1 CRC8-Maxim ( 生成多項式 X^8+X^5+X^4+1 )
49 チェックサム2 LRC (合計値の2の補数)

センサーデータ部の順序は変わる可能性もありますし、環境センサーパル以外(TWELITE AREAとか)でも使えるように、データ部毎に訳て取り出した方が良いです。

M5Stack BASICでのサンプルスケッチ

YuruPuro/TWELITE_PAL

TWELITE-PAL (環境センサー1個用)

M5Stack BASICで TWELITE PAL 環境センサーPAL の情報を表示する。
  TWELITE-PAL2 (環境センサー2個用)

M5Stack BASICで TWELITE PAL 環境センサーPAL の情報を表示する。

解説動画