IoTの実装に取り組んでいます。ArduinoにGrove規格でつながるセンサーでいろいろなデーターを拾ってみています。まずは、生データを数字として表示するまでのデータの流れを作ります。
Arduinoでセンサー・デバイスのデータを読み取り、取得したデータの前処理とデータ伝送、人への情報提供はLinuxで行います。
センサーとソフトウエア間のAPIを決めるための試作を行い、データの取得部分と、データの処理=人にわからせるためのデータの情報化を完全に分けて開発することを目指します。
■三軸加速度センサーとArduino
写真のArduinoには、Grove規格の端子があり、センサーを挿すだけ。電気回路の知識ゼロでセンサーデータをピックアップできます。
センサー・データの読み取りはWindows上のArduino IDEとサンプル・プログラムで可能です。Arduino IDEのサンプル・プログラムはC言語に準拠した記述です。サンプル・プログラムのセンサーの読み取り間隔と、データの表現型を変更し、可読な数字で、一行で三要素をUSBシリアルに出力しました。
Arduino上でデータを可読化できれば、あとは簡単です。ArduinoはUSBシリアルにセンサー・データを出力し、PCではUSBシリアルからのデータを単純に表示します。TeraTermでつなぐと、一行が三軸の一塊のデータとして到着します。これでOSに依存せずセンサー・データが読み取れました。
PC上のUSBシリアル通信の内容を表示するプログラムで、到着したデータを表示します。新しいArduino IDEには、USBシリアルのデータを読み取りグラフ化する機能があり、変動をリアルタイムで可視化できます。データ変動のイメージ把握に、とても便利です。
システム連携の開発をするときに「データの表現型=データの受け渡しのAPI」を先に決めます。APIが決まれば、センサーがなくても、プログラムで疑似的にデータを生成し、その後の処理を開発できます。
いつもアクセスありがとうございます。センサー・データのピックアップからブラウザ上に表示するまでを、共有します。引き続きよろしくお願いします。