Arduinoを使った暇つぶし忘備録(チラ裏)~シリアル通信編~
光センサから1分毎に値を取得する処理部分に関してのまとめ。
Linuxマシンでどうやってシリアル通信の内容をひっぱってこようか、っていうのが今回のキモ。
あずにゃん「部屋の照明とはいわず、私が人生そのものも照らすです!やってやるです!」
下図がarudiunoのソースコードとなる。
特に説明は必要ないので割愛。Simple is the best. あずにゃん is the best.
int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogRead(0); Serial.println(val); delay(60000); //1分毎 }
そいで、こっから。
どうやって、Arudiuno IDEのモニターから、リナックスのターミナルに値を引っ張ってくるのか、というところ。
センサの値が流れてくるシリアルポートは、ttyACM0を指定していたためとりま、
$ screen /dev/ttyACM0 9600
すると、値が1分毎に表示される。
しかしながら、これでは表示はできるのだが、肝心の値をファイルから読みだすことができない。
グーグル先生に尋ねたところ、ArudiunoのUSBを抜けとのこと。ファッ
一回抜いたあと、そのまま再度USBを指して、
$ stty -F /dev/ttyACM0 9600 $ more /dev/ttyACM0
あら不思議、ファイルが覗けるようになりました、と。
とりあえず、こうなればこっちのもの。やったね、あずにゃん!!
後はスクリプトとか好きに書くなりして、データベースへ突っ込む処理を書けば終わり。
とりあえず、今回はここまで。
次回はデータベースの設定についてたらたらチラ裏予定。