使う温度センサーはこちら、LM61C1Z、4個で200円とリーズナブル!
IchigoJamのアナログ入力が使えるお手軽な温度センサー、端子はラベルを手前にして左からVCC、OUT、GNDです。
IchigoJam pocketの上から、OUT2,OUT3,OUT4の部分に直接さして、下のようにプログラムすれば電圧で温度の値が取得できます。
10 OUT3,-1:OUT2,1 20 ?ANA(7):WAIT 30:GOTO 20
10行、OUT3を入力に切り替えて、OUT2で電源を供給
20行、入力に切り替えたOUT3ポートはIN7として使えるのでANA(7)で値を取得、温度は電圧から計算できます(参考)
(198/1023*3.6-.6)/0.01 = 9.6度 ・・・あれ、こんな寒くはないはず、電池の電圧がもっと高いのかも。
続いて、3Gネットワークに接続するための右シールドづくり。前回の回路をコンパクトにまとめる治具をユニバーサル基板でつくります。あれこれ試したので汚れちゃってますが、いい形に落ち着きました。
高価なシールドを壊すと痛いのでいつもより慎重に道通チェックをして、接続。
BPS 2400:UART0 UART3:?"$YT":UART0
BPSを安定して取得できる2400にして、しばらく待つと起動コマンドが送られてきます(予め$YB 2400で3GIM側の設定もしておく)。エラーメッセージなどを3GIMに送ってしまい、3GIMがエラーを返すというループに陥らないようにするために通常はUART0としておきます。
試しに時刻を取得するコマンド $YT を送ってみます(ネットワークを使った正確な時刻が得られます!)
しあげに、温度センサーの値を定期的にサーバーに送るプログラムを書いて、
ボタン押しながら起動で、ネットワークが通じるところならどこでも動く温度センサークラウドデバイスができあがり!
※ アクセスするサーバーのファイルには何か数値を書いておく(例)
10 BPS2400:OUT6,1:OUT3,-1:OUT2,1 20 A=ANA(7):?A 30 OUT6,0:INPUT"",D:UART3 40 ?"$WG http://sabae.club/temp/test.html?";A 50 INPUT"",R:IF !R CONT 60 OUT 6,1 70 WAIT 60*60 80 GOTO 20
Webサーバーのログとして、温度センサーの値が定期的に記録されます。 自動的にグラフにしてくれるようなサービスと組み合わせるのも楽でいいですね!
2016/05/01 07:24:24 /temp/test.html?185 BREW-Applet/0x01109A49 (BREW/05.00.03.01.112.1861; DeviceId: 0; Lang: en )
ログのUser-Agentに懐かしい「BREW」の文字!
世の中はいろいろな技術の積み重ねでできています。
遠慮無く、便利なツールは活用して、楽しく楽しいデバイス、作りましょう!