TOCOS TWE Liteを使ってGPSデータを無線で飛ばすのに少し躓いたので
TOCOS TWE Liteを使ってGPSデータを飛ばすのに、単純に接続しただけでは通信ができなかったので詰まるところだと思ってメモ
以前はstrongタイプのを使ってたけど
TWE-Strongにファームウェアを書き込む方法(てこずった) - ネット偽善者でもいいじゃない
とりあえず簡易的に、TWE-Lite DIPを使います
結論から言うと、ボーレートの設定をしてあげないとデータが飛ばない
TWE同士の通信はシリアル通信アプリで、ボーレートは115200で通信します
が、子機(GPSとつなげる方)のほうはインタラクティブモードに移った後データの通信としてのボーレートを、GPSのボーレートに合わせてあげなければいけません
そして、デバイス(今回はGPS)との通信レートをTWEに反映させるため、BPSピンをGNDに落とす必要あり
ここがわからなかったので最初つまづきました
以下に詳細を記載
用いた機器
親機はTOCOSTICK
東京コスモス電機 TWE-Lite USBドングル(ToCoStick:クリア版) TWE-LITE-USB-C
- 出版社/メーカー: 東京コスモス電機
- メディア: その他
- この商品を含むブログを見る
子機はTWE-Lite DIP
東京コスモス電機 TWE-Lite DIPシリーズ ピンヘッダー端子なし(マッチ棒アンテナタイプ) TWE-001L-DPC-WA
- 出版社/メーカー: 東京コスモス電機
- メディア: その他
- この商品を含むブログを見る
GPSはなんでもいいですが、今回はSWITCH SCIENCEから購入したAdafruit のGPSモジュールを用いました
このGPSモジュールのボーレートは9600でした、後で設定に使います
通信アプリ
シリアル通信アプリを用います
App_Uart (シリアル通信専用アプリ) - MONO-WIRELESS.COM
TWE Lite-Rなどを用いてDIPに書き込んで下さい
東京コスモス電機 TWE-Lite Dip用書き込み基板 ピンヘッダー/ソケットあり TWE-LITE-R-IC
- 出版社/メーカー: 東京コスモス電機
- メディア: その他
- この商品を含むブログを見る
windowsマシンがあれば、アプリを使って簡単に書き込めますが、無ければjenprogというソフトを用いて書き込まなければなりません
TWE Strongの時もそうだったけどこれがちょっとめんどい・・・
そしてTOCOSTICKはプログラム書き込みスイッチなどが無いので、windowsマシンでないとアプリを書き換えられないと思います
書き込み方法がわからない方などいましたらコメントでもなんでもください
シリアル通信アプリで、透過モード(T)にして通信する
シリアル通信アプリにしたら、ターミナルソフトで設定を行います
Windowsの場合は、TeraTermというソフトが良いです
Tera Term (テラターム) プロジェクト日本語トップページ - OSDN
TOCOSTICK もしくは TWE-Lite DIP & TWE Lite-R & USBケーブルをつなげたものを、windowsマシンのUSBの穴に挿したら
まずは認識するためにドライバがインストールされます
ドライバのインストールが終わったら、TeraTermを開いて
「シリアル(E) ポート」のほうから表示されてるポート(COM3とか、COM + 数字で表示されるはずです)を選択して -> 「OK」
2つほど設定してあげる必要があるので、メニューバーから
① 「設定」->「端末」-> 「送信(M)」のプルダウンメニューが「CR」になっているので「CR+LF」にして -> 「OK」 ② 「設定」->「シリアルポート(E)」->「ボーレート」のプルダウンメニューが「9600」になっているので「115200」に変更して -> 「OK」
115200は、TWE 同士が無線通信するときに必要な速度(ボーレート)です
これ以降はMacと同じなので、Macの説明の後の「インタラクティブモードに突入」に進んで下さい
Macの場合
僕は通信などにはMacを使っているので、ターミナルを起動してscreenでの通信します
ターミナルを開く
↓
$ ls -l /dev/tty.usb*
と入力してエンターすると、接続されてるUSBポートが表示されるので (例えば僕の場合だと、/dev/tty.usbserial-AHXFI9Q2 と表示されました)
$ screen /dev/tty.usbserial-xxxxxxxx 115200
のようにして接続してあげます(xxxxxxxxの部分にはご自身のシリアルポートのアルファベット+数字を入力して下さい)
インタラクティブモードに突入
接続できたら、ターミナル画面で「+++」とキーボードから打つとインタラクティブモードに入れます
下のようなのが画面に表示されます
--- CONFIG/TWE UART APP xxxxxxxxxxxxxxxxxxx-------- a: set Application ID (xxxxxxxxxxxxx) i: set Device ID (121=0x79) c: set Channels (18) x: set RF Conf (3) r: set Role (0x0) l: set Layer (0x1) b: set UART baud (9600) B: set UART option (8N1) m: set UART mode (T) k: set Tx Trigger (sep=0x0d, min_bytes=1 dly=100[ms]) h: set handle name [] C: set crypt mode (0) o: set option bits (0x00000000) --- S: save Configuration R: reset to Defaults
(出していいかわからなかったとこはぼかしています)
見方がわからない場合は、もしかしたら設定されているかもしれませんがまぁ以下の操作を行います
① キーボードの「b」を押す -> 「9600」を入力、エンター
UART baud !NOTE: only effective when BPS=Lo Input (DEC:9600-230400): 9600
↑こんなのが出てきます
ここで入力する数字はGPSに必要なボーレートになります、僕はAdafruitのボーレート9600のGPSを用いているので この数字になります。お使いのGPSのボーレートを確認して入力してください
② キーボードの「m」を押す -> 「T」を入力、エンター
UART mode A: ASCII, B: Binary formatted C: Chat (TXonCR), D: Chat (TXonPAUSE, no prompt) T: Transparent Input: T
↑こんなのが出てきます
③ キーボードから「i」を押す -> 「120」を入力、エンター
ここではとりあえず親機を121, 子機を120とします。後でもうひとつのほうも変更します
④ キーボードから「S」を入力する
これで子機(TWE-Lite DIP)の設定が終わりました
次に親機(TOCOSTICK、もちろんDIPでもStrongでもなんでもいいですが)も同様にインタラクティブモードに入りますが ボーレートは設定必要ないので
① キーボードの「m」を押す -> 「T」を入力、エンター
UART mode A: ASCII, B: Binary formatted C: Chat (TXonCR), D: Chat (TXonPAUSE, no prompt) T: Transparent Input: T
↑こんなのが出てきます
② キーボードから「i」を押す -> 「120」を入力、エンター
ここではとりあえず親機を121, 子機を120とします。後でもうひとつのほうも変更します
③ キーボードから「S」を入力する
で大丈夫です
ここまでできたら次に通信をします
ブレッドボードを用いて通信
3.3Vの定圧にしたかったのでコンバーターを接続していますが、まぁ無視してかまいません
TWE-Lite(子機)に必要な接続は
VCC (28ピン)
GND(1ピン)
RX(UART受信, 3ピン, GPSのTXへ接続)
TX(UART送信, 10ピン, GPSのRXへ接続)
です。 インタラクティブモードで設定したボーレート(僕の場合は9600)は、BPSピンをGNDに接続しないと反映されないので注意です
以上で、あとは2つのTWEの電源を入れれば(今回は乾電池を用いましたが、3.3V程度を出力できるならなんでもいいです)
通信が始まります
親機はパソコンにつないでる(はず、もちろんMacだったらscreenコマンドなどでシリアル通信をおこなってください)なので、ターミナル上に
$GPGGA ......... $GPGSA ............ $GPRMC ............. $GPVTG ............
のようにデータが出てきていたら成功です!
つらつら書いたので、わからないところがあったらコメント欄にでも書いていただければ対応できるときに返しますので