rialaの日記

あずにゃんをこよなく愛す情弱エンジニアの備忘録

Arduinoを使った暇つぶし忘備録(チラ裏)~シリアル通信編~

光センサから1分毎に値を取得する処理部分に関してのまとめ。
Linuxマシンでどうやってシリアル通信の内容をひっぱってこようか、っていうのが今回のキモ。


f:id:riala:20140715195510j:plain

あずにゃん「部屋の照明とはいわず、私が人生そのものも照らすです!やってやるです!」


下図が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

あら不思議、ファイルが覗けるようになりました、と。
とりあえず、こうなればこっちのもの。やったね、あずにゃん!!

後はスクリプトとか好きに書くなりして、データベースへ突っ込む処理を書けば終わり。



とりあえず、今回はここまで。
次回はデータベースの設定についてたらたらチラ裏予定。