読者です 読者をやめる 読者になる 読者になる

ウェアラブルデバイスを自作してみる「TWE-Lite Setup編」

f:id:karaage:20150516164839j:plain:w640

はじめに

 だいぶ時間が空いてしまったので、もう誰も覚えていないとは思いますが、ウェラブルデバイスを作ろうと思ったことがあったりしました。

 実は、この記事約3ヶ月前に書いて、ずっと放置していましたがようやく重い腰を上げて再開することにしました。

TWE-Liteマイコン一式 購入したもの

 全部秋月電子で購入。全部で約8000円也。

 持ってない人はUSBケーブルも用意しましょう。

TWE-Lite 2525A

 私が放置していた3ヶ月間に、加速度センサと電池ケースが一体になった素晴らしいセットが販売されました。代わりにこちらを使う方がよいかもしれません。というか、断然こっちを買った方がよいですね。

akizukidenshi.com

TWE-Lite マイコンセットアップ・ファーム書き込み

 以下Macでセットアップ前提。基本は以下の記事を参考にしましたが、自分が迷ったところを補足。ArduinoやRaspberry Piに比べるとずっと情報が少なく、公式サイトも分かりにくいところがあって結構時間かかりました。
 以下は、TWE-Lite R(ライタ)+TWE-Lite(DIP)、ToCoStick両方とも共通です(異なる場合は個別に記載)。

USBアダプター TWE-Lite R(トワイ・ライター) - MONO-WIRELESS.COM

FTDIドライバインストール

 以下から自分の環境に合わせてダウンロードしてパッケージをダブルクリックしてインストール。自分の場合、Mac 64bit。

デバイスの接続確認

 TWE-Lite R+TWE-Lite DIPかToCoStickを接続して、ターミナルから以下実行

$ ls /dev/tty.usb*
/dev/tty.usbserial-AHXFIBPQ

 表示された /dev/tty.usbserial-AHXFIBPQ がTWE-Liteのポート。環境によって違う場合もありますので、各自以下は読み替えて実行して下さい。何も表示されないとFTDIのドライバがうまく入っていないので入れ直すか、USBを接続しなおして再度試して下さい。

 その後、以下実行

$ sudo cu -s 115200 -l /dev/tty.usbserial-AHXFIBPQ 

connected. と表示されるので+++ と+を0.1秒〜1秒間隔程度で入力。以下が表示されたら無事マイコンが動いていることが確認できます。

--- CONFIG/TOCOS TWELITE DIP APP V1-04-1/SID=0x81005cfe/LID=0x00 ---
 a: set Application ID (0x67720102) 
 i: set Device ID (121=0x79) 
 c: set Channels (18) 
 x: set Tx Power (3) 
 t: set mode4 sleep dur (1000ms) 
 y: set mode7 sleep dur (10s) 
 f: set mode3 fps (32) 
 z: set PWM HZ (1000) 
 o: set Option Bits (0x00000020) 
 b: set UART baud (38400) 
 p: set UART parity (N) 
---
 S: save Configuration
 R: reset to Defaults

切断するときは ~. を入力
Disconnected.が表示されて切断

ファーム書き換え

 ファーム書き換えるのですが、注意事項として、TWE-Liteをプログラム書き込みモードにする必要があります。私はここに気づかず少しはまりました。

プログラムモードへの入り方

 TWE-Lite R(ライタ)+TWE-Lite(DIP)の場合は、プログラムボタンがあるので、押しながらUSB接続すればプログラムモードに入れます。ToCoStickの場合は、ボタンが無いので、tweusbというツールを使ってプログラムモードに変更します。

tweusbは以下の記事からMac OS X 版をダウンロード

TWE-Lite SDK - MONO-WIRELESS.COM

 最初にマニュアル通り以下実行してドライバをアンロードします。理由はよくわからないです。

$ sudo kextunload -bundle com.apple.driver.AppleUSBFTI
$ sudo kextunload -bundle com.FTDI.driver.FTDIUSBSerialDriver

 以下の通り実行。

$ ./tweusb -l
# TWEUSB device list (num=1)
# ID,S/N,Desc
0,AHXFIBPQ,TWE-Lite-USB

 上記の場合は、0というのがTWE-LiteのID以下実行すると、TWE-Liteをプログラムモードに変更できます。

./tweusb -p 0
AHXFIBPQ

 ただ、このままだと次のファーム書き換えを実行できなかったので、以下を実行してドライバをロード。ここらへんはマニュアルにないので、はまるかも。

$ sudo kextload -bundle com.FTDI.driver.FTDIUSBSerialDriver

Pyserialインストール

 以下から「pyserial-2.7.tar.gz」をダウンロード

 ファイルを解凍してフォルダに移動して、以下のコマンド実行でインストール

$ sudo python setup.py install


 以下 jenprog というツールを使ってファームの書き換えを行います。jenprogはtweusbと同じく以下にあります。

TWE-Lite SDK - MONO-WIRELESS.COM

 以下実行して、 TWE-Liteのidが表示されることを確認して下さい。

$ ./jenprog -t /dev/tty.usbserial-AHXFIBPQ -s
*** jenprog ver 1.3 ***
  flash   : JN516x Internal Flash
  chip id : 0x10008686

 以下のようなエラーが表示されたら、TWE-Liteがプログラムモードに入っていないので上記のプログラムモードの入り方を参照にやり直して下さい。他のエラーの場合は、Pyserialのインストールを見直してみて下さい。

$ ./jenprog -t /dev/tty.usbserial-AHXFIBPQ 
*** jenprog ver 1.3 ***

ERROR(2): communicate with the target

 次にファームウェアを書き込みます。今回は、以下の「ねこったー」用のファームをダウンロードします。

ねこったー(猫ツイッター)!- ソフトウエア

 以下は親機のParent.binのファームの例。

$ ./jenprog -t /dev/tty.usbserial-AHXFIBPQ Parent.bin 
*** jenprog ver 1.3 ***
 file info: 04 03 0008
writing...
  0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..done - 7.91 kb/s
done

 これで書き換え完了!

まとめと次回

 ウェアラブルデバイスの準備ができたので、次はいよいよウェアラブルデバイスを製作します。

関連記事