35ug/m3より高い時にLEDが光って警告してくれるデバイスをつくりました。
「鯖江のPM2.5濃度の値が35ug/m3より高い時にLEDが光って警告するデバイス」
IchigoJamをネットにつなぐために、右上の青いチップが無線LAN(ESP-WROOM-02)を使っています。電源は、単3電池2本。 無線LANもIchigoJamのCPUだけなら3.3Vなので、これだけでOK!
PM2.5の数値をスマホへ通知する際につくったJavaのサーバープログラムにちょっと加え、1時間おきに鯖江(神明)の数値をIchigoJam用の簡易サーバーに送るように改造しました。
IchigoJam用のプログラムはひとまずLED、1つだけなので簡単。
10 INPUT P 20 LED P>=35 30 GOTO 10
数値を受け取り、値が35を超えていたらLEDが光ります。
これをSAVE0で保存しておき、BTNとGNDをジャンパー線でつないでおくと自動起動する状態になるので、通信状態にした無線LANに接続すればできあがり!
あとはかわいい外観をつくったり、LEDをいろいろ付け加えてわかりやすく表示したり、サーボをつないでぐりぐり動かしたり、自由に飾り付けできます。 IchigoJamはチップ単体を取り外せるので、もっとコンパクトに実装することも可能です。
開発中のIchigoJamの1.1のbeta14で、UARTの第二パラメーターとしてESC信号無効化機能を追加しました。
5 UART 1,2
と追加すると、ESC(=#1B)信号が来てもプログラムが停止しなくなります。また、一方的にデータを受信するのみなので、IchigoJamから無線LAN側への線を接続しなければ無線LANチップをコントロールすることが物理的にできないので、安心です。
もし、この信号線を活かしておき、ESC信号を不正に送られるとIchigoJamのプログラムが停止し、プログラムを自由に書き換えることができ、無線LANチップをコントロールして、ネットワーク内部のデータを不正に持ちだしたり、どこか別のネットワークへ不正なアクセスを自動的にされてしまう、いわゆる踏み台にされたりして危険です。
ホワイトハッカーにならずとも、ネットワーク越しにIchigoJamを乗っ取る経験は、ネットワークセキュリティーの基本につながるいい経験となるはず。
電池を長持ちさせたいときは、単1電池など大きな電池を使ったり、ACアダプターにつなげてしまうのもありですが、ESP-WROOM-02は消費電力が大きいのでIchigoJam側の3.3Vをつないでも動かないので注意。
いろんなIoTデバイスづくりに夢ふくらませましょう!
関連リンク
- IchigoJamをIoTデバイスとして使用する時の簡易セキュリティ対策 ( 開発・運営全般 ) - ボクにもわかる地上デジタル(ブログ) - Yahoo!ブログ
- PM2.5の勝手WebAPI化
- PM2.5の簡易API
- IFTTTを使ったPM2.5のスマホ通知
- ESP-WROOM-02でPM2.5の数値を受け取る
- ESP-WROOM-02を通信状態にしてIchigoJamへ接続