SSブログ

arduinoとTWE-LITEその8(3GIM 含む) [別館]

すごくはまったこと。

その①
twe-lite親機の20番ピンはGNDに落とさないと設定ボーレートを反映しない。
無線タグアプリを入れてボーレートを設定していてもGNDに落とさないとダメみたい。
無駄な線を整理したとき、抜いてしまったせい(かと思われる)でarduinoのシリアル通信が届かなくなって気づくのに大分時間をかけた。

その②
逆電圧や過電圧で「わりと」すぐ逝く。(と思われる)
子機として継続して使えるがプログラマで個別IDを認識しなくなる。子機のまま使える様だがパラメータ設定ができない。(Tera Termで設定画面にいけない)粗忽な私にはとってもつらい。

その③
無線タグアプリの子機設定画面にいたるまでがわかり辛い。
メーカーサイトにさりげなく書いてあるが、図解か写真がほしかった。
Tera Term画面で当該ポートを開く。
ボーレート115200を選んでOKボタン。
なにがしかの方法(ブレッドボードに使うジャンパーピン等)でDIPのM2ピンとGNDを短絡。
これで設定画面にいける。センサー種別やボーレートを変更したらSAVEを忘れずに(shift+s)。

親機の設定は
Tera Term画面で当該ポートを開く。
ボーレート115200を選んでOKボタン
ゆっくり+キーを連続3回で行ける。(インタラクティブモードと呼ばれている)

親機の設定は、ボーレート9600、オプションビットを0x00000100に変更。
オプションビットを0x00000100に変更すると子機から収集した温度データがアスキー形式で飛んでくる。それの特定の場所にある個別IDと温度データ(16進数)をarduino上で取り出す。
ボーレートを9600にしたのは3GIMを9600で使用するので合わせた方が何かと不具合はないだろうぐらい。(3GIMはsoftwareSerialを使用するので関係ないちゃ無いかも、知れないが念のため)


子機設定は
設定はボーレート9600。
送信間隔デフォが5秒のところを30秒に変更。
センサー種別はADT7410を選択。
送信間隔は5秒のままだと2個分位しかデータを親機が切り離してarduinoに送ってこない。たった2個でも親機が2個分のデータをつないでarduinoに投げつけてくることがある。4個分データがつながって飛んでくると思ってなかったのでそれになかなか気付けなかった。幸い1データ45文字なので、受け取るデータは45の倍数だから何個分データがくるのかわかれば問題なくなった。ただただデータがいくつもくっついてるのが気付かなかった。
親切な人からもらったサンプルスケッチに頼り切っていたから。

チェックサムの言葉の意味も知らない人間が作っているから仕方がないということで。

その④
数値と文字列の取り扱いがさっぱり意味が分からなかったのでArduinoで遊ぶページ(http://garretlab.web.fc2.com/arduino/index.html)にはかなりお世話になった。
twe-liteからは温度データで×100の温度が文字列でくるから普通に100で割れないわ、数列にしたらしたで、3GIMでツイッターに上げるのに文字列しなければならない。
それなのにarduino UNOはsprintf文の小数点はお断りだったので、とても時間がかかった。
ツイッターに上げるメッセージの為の

sprintf(message, "%s %s ℃  %s" ,pr, dtostrf(tempreture[i], 6, 2, s),time);
(prはtwe-liteの子機IDの入った変数。timeは3GIMから取得した現在時刻)

この1行に何日もかかった気がする。

でもなんとかツイッターに上げるところまで行った

tweet.png

上げるには上げたが、こんな10秒スパン位で上げ続けても大丈夫なんだろうか。1日どれくらい通信費がかかるのだろうか。それより3GIMが耐えられるのだろうか。ちょっと問い合わせてみたい気もする。どっちにしろこのまま使えない。相変わらず思いつきで進んでいく。でもかなり簡単な対応しかできないと思う。
nice!(0)  コメント(0) 
共通テーマ:資格・学び

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。