カテゴリー
IchigoJam

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: 5

179
POST / HTTP/1.0
Host: 192.168.0.2
User-Agent: MixJuice-1.0
Content-Length: 5

179
POST / HTTP/1.0
Host: 192.168.0.2
User-Agent: MixJuice-1.0
Content-Length: 5

180

うまく動きました。

by ボクにもわかるIchigoJam用マイコンボード

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es