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

3GIM x IchigoJam x 0SIM でつくるクラウド温度センサー

2016/04/29 23:55:00
#IchigoJam #IoT #maker 

衝撃の0円SIMを使った実験「こどもIoT」から自動解約されてしまう3ヶ月が経ってしまう前に、実運用できる形にバージョンアップ。 IchigoJam pocket の左シールドに加えて、右シールドとして3GIMを装備!アンテナも安定していい感じになりました。

使う温度センサーはこちら、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」の文字!
世の中はいろいろな技術の積み重ねでできています。
遠慮無く、便利なツールは活用して、楽しく楽しいデバイス、作りましょう!

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