つまり、実社会を数値化するインプットや、数値を実社会へと戻すアウトプットを至る所に置けちゃいます!
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