ToCoStickのアプリはデフォルト(超簡単!TWEアプリ)のまま利用。
Raspberry PiのUSBポートにToCoStickを挿し、dmesgを確認。ttyUSB0として認識されたようだ。
user@raspberrypi ~ $ dmesg (中略) [ 554.996366] usb 1-1.2: Product: TWE-Lite-USB [ 554.996382] usb 1-1.2: Manufacturer: TOCOS [ 554.996398] usb 1-1.2: SerialNumber: XXXXXXXX [ 555.003578] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected [ 555.003774] usb 1-1.2: Detected FT232RL [ 555.004697] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0シリアル通信を行うため、cuコマンドを使えるようにする。
しかし、Raspberry Piの初期ユーザであるpi以外で接続を試みると、権限がないと言われてしまう。
user@raspberrypi ~ $ sudo apt-get install cu user@raspberrypi ~ $ cu -l /dev/ttyUSB0 -s 115200 cu: open (/dev/ttyUSB0): Permission denied cu: /dev/ttyUSB0: Line in useどうやら、シリアルポートはdialoutというグループに属していないと一般ユーザはもちろん、rootであっても利用できないようだ(初期ユーザであるpiは登録されているので使える)。なので使用しているユーザを追加してやる。
user@raspberrypi ~ $ sudo vigr - dialout:x:20:pi + dialout:x:20:root,userすると「整合性を保つために /etc/gshadow を変更する必要があるかもしれません。」とメッセージが出る。なので/etc/gshadowも同じように修正する。
user@raspberrypi ~ $ sudo vim /etc/gshadow - dialout:x:20:pi + dialout:x:20:root,user一度ログアウトし、再度cuコマンドで接続。無事接続され、TWE-Lite-2525Aを叩いたり動かすとログが出力される。ちなみにシリアル通信を終了させるには~.と入力する。Ctrl+Cでは終了できない。
user@raspberrypi ~ $ cu -s 115200 -l /dev/ttyUSB0 Connected. :788115017B81020950002F2C000BCD00080F403C3A5E5EDE :788115018A81020950002F34000BCD00010F3E3E3A5E66C6 :788115018A81020950002F3C000BCD00000F3E3E3A5E56CF :788115017881020950002F44000BCD00000F3E3E3A5E56D9 ~. Disconnected.続いて、公式で用意されているPythonによる読み出しスクリプトを動かしてみる。
このスクリプト(twelite_read.py)は引数に指定したポートへ接続し、TWE-Lite標準アプリの出力を整理して表示してくれる。
user@raspberrypi ~/python $ python twelite_read.py /dev/ttyUSB0 open serial port: /dev/ttyUSB0 :788115019081020950002F64000BC500010F3E3E3A5E56A8 command = 0x81 (data arrival) src = 0x78 src long = 0x81020950 dst = 0x00 pktid = 0x15 prtcl ver = 0x01 LQI = 144 / -48.10 [dbm] time stmp = 189.562 [s] relay flg = 0 volt = 3013 [mV] DI1=1/1 DI2=0/1 DI3=0/1 DI4=0/1 AD1=1000 AD2=0996 AD3=0932 AD4=1508 [mV]DI0~4はそれぞれ下記の動作に対応している。上記の例ではDI1が1/1になっているので、TWE-Lite-2525Aを1回叩いたことを意味している。
- DI1: 軽く1回叩く
- DI2: 軽く2回叩く
- DI3: 落とす(50cm~?)
- DI4: 動かす
0 件のコメント:
コメントを投稿