福野泰介の一日一創 - create every day

1行でWeb通信!IchigoJam用無線LANモジュールMixJuiceでつくるPM2.5表示計

2016/04/27
#IchigoJam #IoT 

IoTとは全部ネットにつながるということ。
つまり、実社会を数値化するインプットや、数値を実社会へと戻すアウトプットを至る所に置けちゃいます!

IchigoJamでかんたんに使える、こどもロボット「paprika」プロジェクトのひとつ、こどもネットワークボード「MixJuice」が4/25、新登場! ひとまず、超シンプルで便利なPM2.5表示計を作ってみました。


一定間隔おきに福井県が計測している鯖江市神明のPM2.5の値をサーバー上で使いやすいように処理したものを取得して、表示。

10 ?"MJ GET sabae.club/pm25/1/fukui/sabae.txt" 20 INPUT N 30 CLS 40 LOCATE 8,13 50 PRINT "PM2.5 SABAE:";N 60 WAIT 60*60 70 GOTO 10

10行、肝のWebアクセス部分。
IchigoJamは表示(PRINT)するものを画面と同時にシリアル(UART)出力する機能があり、 これを利用してMixJuiceはプリフィックス"MJ"がつくものを検知するとコマンドに従った動作をして、同じくシリアルでデータを返してくれます。 MJ GET で現在の鯖江のPM2.5の値(http://sabae.club/pm25/1/fukui/sabae.txt)にアクセスしたデータを取得します。

20行、数値で返ってくるデータをINPUTコマンドを使い変数Nへ代入。
30行、画面をクリア(CLS)
40行、画面中央に表示するようにカーソル位置を座標(8,13)へ移動(LOCATE、LCの省略形も便利!)
50行、"PM2.5 SABAE:"の後ろに取得した数値を合わせて表示。(?はPRINTの伝統的な省略形)
60行、指定時間だけ待つコマンドWAITで、ひとまず1分待ちます(指定はフレーム数、60で1秒)
70行、処理を10行へ移します(嫌われることも多いGOTOくん、マシン語的表現がお気に入り!)


MixJuiceを使うには、IchigoJam UのCN5に、5ピンソケットをはんだづけしておくと、microUSB電源を共用できて便利です。

上記のように、無線LANにつなぐためには一度だけ少し無線LANアクセスポイントに接続する準備が必要です。
IchigoJamから、次のコマンドで、アクセスポイント一覧を取得。

?"MJ APL 'ssid1 'ssid2 'ssid3...

接続したいアクセスポイントの行を編集して

?"MJ APC ssid2 password"

パスワードを後ろに足してエンター、しばらく待つと connected! の文字!

?"MJ GET sabae.club/pm25/1/fukui/sabae.txt" 12

取得できました!

動作している様子はこんな感じです(on Vine

今回は以前つくったPM2.5取得機能を使いました。家の近くのバス停にバスが来るまでの時間、外の体感温度、道路や役所や観光地の混み具合、いろんなデータが取得できると楽しそうですね! キーワードは、オープンデータ!お近くのオープンデータを探してみてください(オープンデータ都市)。

参考リンク
- MixJuice - こどもネットワークボード by PCN
- MixJuiceで投稿/Kidspod; - プログラムの投稿、取得もできます!
- こどもパソコンIchigoJam

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image