- 作業マシン: macOS Sierra
- 親機側: MONOSTICK BLUE
- 子機側: TWE-Lite DIP RED
- 設定に TWELITE R を用いる
全体の流れ
親機子機ともに、
- ファームウェアを書き込む
- インタラクティブモードを有効にしてシリアルコンソールから設定を行う
といった流れになります。
親機・子機で共通の作業
ソフトウエア開発環境 TWELITE NET SDKから「最新版のダウンロード RED用」の「macOS版」をダウンロードする。
書き込みツールもサンプルのソースコードもビルド済みバイナリも含まれているので他に何もダウンロードする必要なし。
ダウンロードできたら展開する。
$ cd MWSDK
$ ls
000manifest Documents MkFiles Tools tweterm.py
ChipLib License TWENET Wks_TWELITE
依存するパッケージをインストールする
MWSDK$ brew install libusb
MWSDK$ pip3 install --upgrade pip
MWSDK$ pip3 install pyserial
MWSDK$ pip3 install pyftdi
親機の設定
MONOSTICK BLUEをMacに挿す。
FTDIドライバを無効にする。
MWSDK$ sudo kextunload -b com.apple.driver.AppleUSBFTDI
/dev/
からデバイスが消えていることを確認する。
MWSDK$ ls -1 /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.iMiminashi5s-WirelessiAP
tweterm.py
でMONOSTICKのデバイスID(?)を確認する。
MWSDK$ ./Tools/tweprog_py/tweterm.py -p ftdi:///?
Available interfaces:
ftdi://ftdi:232:MW2GON6K/1 (MONOSTICK)
Please specify the USB device
判明したデバイスIDを指定して、無線タグ親機アプリのバイナリ ./Wks_TWELITE/App_Tag/Parent/Build/App_Tag_Parent_BLUE_MONOSTICK_L1101_V2-0-3.bin
を書き込む。
MWSDK$ ./Tools/tweprog_py/tweterm.py -p ftdi://ftdi:232:MW2GON6K/1 -F ./Wks_TWELITE/App_Tag/Parent/Build/App_Tag_Parent_BLUE_MONOSTICK_L1101_V2-0-3.bin -b 115200
書き込みが完了したら、親機アプリの出力がずらずらっと流れてくる。
Ctrl+C
を2回押すと終了する。
FTDIドライバをロードしなおす。
MWSDK$ sudo kextload -b com.apple.driver.AppleUSBFTDI
USBシリアルデバイスが復活していることを確認する。
$ ls -1 /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.iMiminashi5s-WirelessiAP
/dev/cu.usbserial-MW2GON6K
あとはscreenで受信データを確認したりインタラクティブモードで各種設定が行える。
MWSDK$ screen /dev/cu.usbserial-MW2GON6K 115200
親機のインタラクティブモードの利用方法は以下。
https://mono-wireless.com/jp/products/TWE-APPS/App_Tag/interactive.html#parent
子機の設定
TWE-Lite DIP REDをTWELITE Rに搭載してMacに挿す。
FTDIドライバを無効にする。
MWSDK$ sudo kextunload -b com.apple.driver.AppleUSBFTDI
/dev/
からデバイスが消えていることを確認する。
MWSDK$ ls -1 /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.iMiminashi5s-WirelessiAP
tweterm.py
でTWE-Lite DIP REDのデバイスID(?)を確認する。
MWSDK$ ./Tools/tweprog_py/tweterm.py -p ftdi:///?
Available interfaces:
ftdi://ftdi:232:MW1SEWE2/1 (TWE-Lite-R)
Please specify the USB device
判明したデバイスIDを指定して、無線タグ子機アプリのバイナリ ./Wks_TWELITE/App_Tag/EndDevice_Input/Build/App_Tag_EndDevice_Input_RED_L1101_V2-0-3.bin
を書き込む。
MWSDK$ ./Tools/tweprog_py/tweterm.py -p ftdi://ftdi:232:MW1SEWE2/1 -F ./Wks_TWELITE/App_Tag/EndDevice_Input/Build/App_Tag_EndDevice_Input_RED_L1101_V2-0-3.bin -b 115200
書き込みが完了したら、Ctrl+C
を2回押してtwetermから抜ける。
FTDIドライバをロードしなおす。
MWSDK$ sudo kextload -b com.apple.driver.AppleUSBFTDI
USBシリアルデバイスが復活していることを確認する。
MWSDK$ ls -1 /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.iMiminashi5s-WirelessiAP
/dev/cu.usbserial-MW1SEWE2
ここまでできたら、MacからTWELITE Rをいちど取り外す。
インタラクティブモードを有効にするために、TWE-Lite DIP REDの2番ピンをGNDに繋ぐ。
無線タグアプリのインタラクティブモードの解説ではTWE-Lite DIPの場合について触れられてなくてかなり困ったが、こっちに書いてあった。
(BLUE PALの場合もやはり2番ピンをGNDに繋ぐとインタラクティブモードになった)
再度TWELITERをMacに接続したら、screenでシリアルデバイスを開く。
MWSDK$ screen /dev/tty.usbserial-MW1SEWE2 115200
おそらくなにも表示されていないので、TWELITE RのRSTボタンを押す。
以下のような組み込み機器でありがちなクソデカプロンプトが表示されたらインタラクティブモードにアクセス成功。
--- CONFIG/App_Tag V2-00-3/SID=0x820213f5/LID=0x00/RC=10268 ---
a: set Application ID (0x67726305)
i: set Device ID (--)
c: set Channels (15)
x: set Tx Power (13)
b: set UART baud (38400)
B: set UART option (8N1)
k: set Enc Key (0xA5A5A5A5)
o: set Option Bits (0x00000001)
d: set Sleep Dur (5000)
w: set Sensor Wait Dur (30)
m: set Sensor Mode (0x10)
p: set Sensor Parameter (0)
P: set Sensor Parameter2 ( )
---
S: save Configuration
R: reset to Defaults
子機のインタラクティブモードの設定方法は以下。
https://mono-wireless.com/jp/products/TWE-APPS/App_Tag/interactive.html#enddevice
To be continued...