Thingsを実現するセンサーデバイスのインターフェースとしてArduinoを使い、電子工作の基礎から実装までを紹介する連載。今回は、観葉植物の土が乾いたことを土壌温度センサーで検知し自動的にメールを送信するシステムをJavaScriptで作ります。Arduinoで始めるWeb技術者のためのIoT入門」の第3回目です。前回の「電子回路を作る基礎を学びNode.jsでボードを操ろう」では、電子回路を設計・作成するための知識とJavaScriptでLEDを点滅させる方法をお伝えしました。今回は、いよいよインターネット越しのサービスと連携させて、IoTの世界に踏み込みます。今回からArduinoを始めるという方は、これまでの連載を読み返しておいてください。今回やること応用例として、観葉植物の土が乾いたことを検知し、自動的にメールを送信するシステムを作ります。実装の過程で次のことができるようになります。センサーから値を読み取るメールサーバーと連携させ、観葉植物に水やりするタイミングを通知する不要な通知を抑制するために状態管理を導入する用意するもの今回は、Arduinoボード以外に土壌温度センサーとして「Grove」のモジュールを利用します。Sensor(SEN92355P)Grove用4ピンケーブルGroveシリーズのセンサーは、Arduinoに最適な抵抗を含む回路をビルトインしています。このおかげで、センサーをつなぐだけで適切な給電と値の読み出しができ、非常に便利です。いっても、今回はパーツをつなぎ合わせるだけで完成します。30秒もかからないでしょう。1.ArduinoにGroveベースシールドをつなぐ2.ベースシールドのA0端子にセンサーをつなぐ土壌湿度センサーから値を読み出してみよう前回の「Lチカ」同様、Node.jsのjohnny-fiveモジュールを駆使します。下記コマンドを実行しておいてください。johnny-five最初のコードは、1秒ごとに湿度を読み込み、コンソール出力するだけです。});});5〜8行目でSensorコンストラクターの引数にpinとfreqを与えています。pinにはセンサーがつながっているピンを指定し、freqにはセンサー値を読み取る周期をミリ秒で指定します。10〜12行目で、センサーの値が読み込まれると、Sensorのインスタンスのrawプロパティにセットされ、dataイベントが発火します。センサーを水に出し入れして、値が変化することを確認しましょう。これで土台ができました。ここからがIoTの面白い部分です。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。