安価なマイコンボード「Arduino」とLinuxサーバーを組み合わせ、家電を制御してみましょう。前回全体像を説明した、出先でスマートフォンなどから手動でエアコンをON/OFFしたり、部屋の気温が高くなったとき自動でエアコンをつけたりするシステムです。ECサイトの特売情報もチェックして、目覚ましを鳴らします。それでは、製作に取りかかりましょう。

写真2●Arduinoボード<br>上から順にイーサネットシールド、Arduino Uno(最初期のバージョン)、Arduino Ethernet。
写真2●Arduinoボード
上から順にイーサネットシールド、Arduino Uno(最初期のバージョン)、Arduino Ethernet。
[画像のクリックで拡大表示]

 それではまず、自宅に設置するマイコンボードを製作します。

 Arduinoは、非常に安価ながら、簡単にネットワーク通信ができます。2011年11月に発表されたバージョン1.0でDHCPに対応し、LANにつなぐだけで利用できるようになりました。

 Arduinoの基本機能だけを実装したボードが「Arduino Uno」として販売されています。それに追加ボードの「イーサネットシールド」を取り付けると、イーサネット通信の機能を付加できます(写真2)。多様なシールドが販売されていて、どれもArduinoボードの上からソケットに差し込むだけで使えます。現在は、それらを1枚にまとめた割安な「Arduino Ethernet」が販売されているので、今回はそれを使います。取り付けるセンサーなどの部品一覧を表1に示しました。

表1●部品表
部品名 購入価格 購入場所
Arduino Ethernet 5020円 スイッチサイエンス
3色LED OSTA5131A 80円 秋月電子
抵抗 1kΩ 100本100円 秋月電子
気温センサー LM61CIZ 4個200円 秋月電子
ブザー PB04-SE12SHPR 100円 秋月電子
赤外線LED OSI5LA5113A 10個100円 秋月電子
赤外線センサー OSRB38C9AA 2個100円 秋月電子
シールド基板 UB-ARD01WH 570円 千石電商

 部品を実際にArduinoへ取り付けていく前に、ネット接続を体感してみましょう。意外に手軽なことが分かるでしょう。

Webサーバーにアクセス

 ネットワーク通信は、Arduinoで充実している優れたライブラリを使って簡単に実装できます。図2に示したように、今回はArduinoからLinuxサーバーのWebサーバーに対して、定期的に室温を送信します。試しに、ArduinoからWebサーバーにアクセスするプログラムを動かしてみましょう。

図2●エアコンを外出先から制御する仕組み
図2●エアコンを外出先から制御する仕組み(再掲)
[画像のクリックで拡大表示]

 開発用PCを用意して、Arduinoの統合開発環境(IDE)を導入してください。Ubuntuならコマンド1個で済みます。

$ sudo apt-get install arduino
このマークで改行このマークで改行

 IDEはWindows版やMac版もあり、操作方法はほぼ同じです。筆者はMacを使っているので、画面例はMacで示します。