以前製作したマイコンを用いたRSSリーダを改良した。 センサを新たにいくつか搭載することにより、センサネットワークのノードとして 利用できるようにした。
以前に、マイコンを用いたRSSリーダを製作しました。 これは、単体でインターネットからRSSフィードを取得し、グラフィックLCDに次々にトピックを表示するもので、 一般的なPCのように利用者が意識的に使うものではなくて、 どこかに設置して常に動かしておき、無意識にたまに「チラッとみる」ことを意図したものでした。
このRSSリーダは、常に動かし続けることが前提で、さらにネットワークへの接続性が確保されるので、 さらにセンサを搭載することでセンサネットワークのノードとして利用できると考えました (いささか強引な理屈ですが...)。
そこで、以前のRSSリーダ(以後、rev.aとよびます)に新たに湿度センサ、照度センサなどを搭載しました。 センサ「ネットワーク」と呼べるほどノードを作っていないので、 現状ではセンサネットワークとは言えないですが、 ひとつのノードを用いてセンサを利用したアプリケーションを考えてみました。
Rev.a の回路を基に、センサなどを増やしていきました。 MCUにLuminary micro社のLM3S6965を用い、漢字フォントや本体設定を格納するためのフラッシュメモリ、 LCD、センサ類をMCUに接続しています。
湿度センサとしてHIH-4031、 温度センサとしてMCP9800、 照度センサとしてNJL7502Lを用いました。 LM3S6965にはMACアドレスが割り当てられていないので、 MACアドレス書き込み済みのEEPROM 24AA02E48 (書き込み不能な領域にひとつひとつ別々のMACアドレスが書き込まれている)も搭載しています。 このEEPROMからMACアドレス読み取り、本体のMACアドレスとして用います。
プリント回路基板(PCB)の製作にはCadSoft Computer社のEagleを用いました。 今回は、PCBの製作を、マレーシアにあるSilver Circuits社に依頼しました。 費用は輸送費込みで54ドル、発注から手元に届くまで設計ミスによる手戻りを含めて約1週間でした。 組み立て後の基板の写真を下に示します。 設計している最中にはうまく作った気になっていても、改めて見ると あらがあるような気がしてきます。難しいですね。
![]() |
![]() |
LCDとPCBは背中あわせに接続されていて、組み立てると表の面はLCD、裏の面はPCBの部品面が来るようになっています。 センサ以外の主要な部品はrev.aとほぼ同じなので、細かい説明は省きます。
回路図です。参考にされる場合には、ミスが無いかよくご確認して使用してください。
動作中の写真を下に示します。写真のように、RSSフィードの項目の見出しを表示します。 Webサーバーが動作しているので、表示するRSSフィードの設定がWebブラウザでできます。
![]() |
![]() |
センサで取得したデータの応用例を考えます。だいぶいい加減ですが。
以前、Network appliance 2を設計し、1年程度運用してセンサデータを集めていました。 この結果、センサデータを大量に集めてもその後の処理が大変で、 そこから意味のあるデータを取り出すことが難しいことが個人的な経験として分かりました。 最近のこの分野の研究をきちんと調べれば、設計、運用、データの処理について もっとうまいやり方ができたのかもしれません。 ただ、ここでは難しいことを考えない方向で、 データをためずに現在のセンサ情報だけを使って何らかの役立つ情報を提示することを考えることにします。
個人的にPCを使う時間が長く、PCの前に座っていることが多いので、PCの画面にデータを表示できれば 嬉しいと思われました。そこで、Windowsのサイドバーにセンサデータを表示できるようにしました。 RSSリーダはXMLの形でHTTPでセンサ情報を提供できるように設計しているので、 センサデータのXMLを取得して表示しています。
ここでは、手抜きをして数値を直接出していますが、警告等の情報だけ表示したほうがよいかもしれません。 例えば、湿度が一定以下になると喉が痛くなることが個人的な経験から分かっているので、 湿度が低いときに警告を出すことが考えられます。
また、世界の気象情報がインターネットで取得できると思われるので、たとえば、 「この部屋はハワイ並に暖かい」ということなどを表示できるはずです。 視点を変えて情報を提示することで「ハワイ並に暖かいなら暖房強すぎだな」だとか、 人間に新たな思索を引き起こすようなことができたらな、と思います。
設計したRSSリーダが出力するXMLデータを上に示します。実験なので、少々投げやりな感じです... 温度センサとMCUが熱結合しているようで、かなり高めに温度が出ています。 温度センサは基板から外したほうが良いのかもしれません。 湿度センサは校正データ付きのものが高かっため、校正データ無しのものを選択したのですが、 そのために個体差の補正ができず、低めに値が出ています。 センサの設置場所や選択はとても重要です。
以前製作したマイコンを用いたRSSリーダを改良した。 センサを新たにいくつか搭載することにより、センサネットワークのノードとして 利用できるようにした。 センサ情報の応用について例を示し、考察した。