目次
MixJuiceのDeep Sleepモードを使ったIchigoJamワイヤレスセンサ
MixJuiceのスリープモードがESP8266のDeep Sleepであることが判明し、早速、ワイヤレスセンサを作成してみました。
照度センサを搭載したIchigoJamが、照度値をHTTPサーバへ送信し、送信後にDeep Seepモードに遷移します。例えば、10分に1度だけ起動するようにすれば、乾電池で長期間駆動させることも可能です。
FacebookのIchigoJam FANグループでDeep Sleepであることが判明:
ハードウェア
IchigoJamのスリープを解除するには、MixJuiceのスリープ復帰信号(CN4-6 IO16)をリセット入力(CN4-2 RST)と、IchigoJamのBTN入力(13番ピン)へ、接続する必要があります。
IchigoJamへの入力については、小信号ダイオード1SS178を下図のように挿入して、BTN信号へ入力しました。
CN4-6 IO16 → (K)ダイオード1SS178(A) → IchigoJam BTN
また、照度センサをIchigoJamのIN2入力(4番ピン)に接続し、BASIC命令 ANA(2) で読み取ります。
プログラム
IchigoJam+MixJuiceなのでプログラムも簡単です。行番号140の数字を大きくすれば、乾電池駆動も実現できるはずです(今回の実験では安定化電源を使用)。
以下のプログラムを入力し、「SAVE 0」でファイル番号0に保存します。保存したら、IchigoJamの電源を切って、SW2ボタンを押しながら電源を入れるとプログラムが起動します。
なお、MixJuiceは事前に無線LANアクセスポイントに接続しておく必要があります(接続方法は、MixJuiceの説明書を参照ください)。
1 'MJ POST
2 UART 0,0
3 LED 1:WAIT 60:LED 0
4 UART 3,2
100 ?"MJ POST START 192.168.0.1/" :'IPアドレスはHTTPサーバのアドレス
110 ? ANA(2)
120 ?"MJ POST END"
130 WAIT 300
140 ?"MJ SLEEP 5" :'この数字5を大きくすれば低消費電力に
150 WAIT 60
160 SLEEP
HTTPサーバ
実験にはHTTPサーバが必要です。ここでは、Raspberry Piを使って下記のコマンドを入力して、簡易HTTPサーバを起動しました。
pi@raspberrypi:~ $ while true; do ( echo "HTTP/1.0 200 OK"; echo; ) | sudo netcat -l 80;done
実行結果
照度に応じた測定結果が得られました。赤文字が照度センサから得られた値です。
POST / HTTP/1.0
Host: 192.168.0.2
User-Agent: MixJuice-1.0
Content-Length: 5179
POST / HTTP/1.0
Host: 192.168.0.2
User-Agent: MixJuice-1.0
Content-Length: 5179
POST / HTTP/1.0
Host: 192.168.0.2
User-Agent: MixJuice-1.0
Content-Length: 5180
うまく動きました。
by ボクにもわかるIchigoJam用マイコンボード