IchigoJamを使ってIoTができあがるまでの解説です。
スマホやPC、WebサーバーなどとIchigoJam、相互に超低価格通信!
準備するもの
1. IchigoJam 1500円〜 (バージョン1.2.2)
2. sakura.io 通信モジュール 8,640円
3. sakura.io ブレイクアウトボード 2,700円
4. I2C電圧変換 PCA9306 150円
5. ジャンパーコード 220円
はんだごて、ニッパー、はんだ少々
モジュールづくり
IchigoJamと通信モジュールをつなぐボードをブレイクアウトボードを使って、電子工作します。(Arduinoシールドを使う編)
ブレイクアウトボード右側、電圧変換PCA9306を上下逆にするとGND/SCL/SDAが対応していて都合がいい。
PCA9306のピンヘッダーを2ピンだけに分割し、SCL/SDAにはんだづけ。
GNDはブレイクアウトボードとPCA9306両方にはんだづけ。
VREF2はブレイクアウトボードの16ピンに触れないようはんだづけ。
ブレイクアウトボード左側、 PCA9306のVREF2から9番ピンをジャンパーでつなぎはんだづけ。
スリープ制御用のWAKE_INに白(ver1.3以降、省略可)、データ取得検知用のWAKE_OUT(省略可)にオレンジの長めのジャンパーをはんだづけ。
ブレイクアウトボード左上20番ピンに黄色のジャンパーをはんだづけ。
PC9306AのVREF1に赤、SCL1に青、SDA1に緑のジャンパーをはんだづけして、できあがり!
WAKE_IN / WAKE_OUTが必要ない場合は、WAKE_INをLDO_OUT(1.8V)にプルアップ(10kΩ)だけしておきましょう。(sakura.io ver1.3以降、WAKE_INは内部プルアップされるので省略可能になりました)
IchigoJamに接続する
CN5
黄:5V *ACアダプターや充電式モバイルバッテリーなど電流が多めに流せること
青:SDA (or IN3)
緑:SCL (or EX1)
赤:3.3V
黒:GND
CN4
オレンジ:IN1 (受信状態検知、未接続でもOK)
白:OUT1 (モジュール省電力制御、使わない場合VCCへ、ver1.3以降省略可)
モジュールとサービスの登録
sakura.ioの開発者向けから登録、ログイン
プロジェクト追加(名前、test)
モジュール登録
通信モジュールのシール下に書かれた(IDとPASS)を転記。QRコードを読み取ってコピペもできます!
プロジェクトのサービス「WebSocket」を追加(名前、test)し、WebSocketサービスを開いておきます。
IchigoJamからデータ送信
通信モジュールを動かす(WAKE_OUTをOUT1に接続して使用する場合)
OUT1,1
通信モジュールの点滅がはじまり、1分ほど待つと、1回点滅になります(3回は回線接続中、2回はサービス接続中)
次のプログラムを書いて、データを送信! (*IchigoJam ver 1.2.2 が必要です)
N=15 OK POKE#800,#21,10,1,76,N,N>>8,0,0,0,0,0,0,N>>8^N^102:?I2CR(79,#800,13,#820,3) 0
*sakura.ioがver1.2未満のβ版の場合、即時送信がうまくいかないので、一旦送信キューに入れて(#20)、送信します(#24)
N=15 OK POKE#800,#20,10,1,76,N,N>>8,0,0,0,0,0,0,N>>8^N^103:?I2CR(79,#800,13,#820,3) 0 POKE#800,#24,0,#24:?I2CR(79,#800,3,#820,3) 0
WebSocketの画面でデータが到着する様子がリアルタイムに見られます!
これでアナログセンサーに温度計や水位計、距離計などをつないで、モニターするデバイスが創れますね。
GPSと接続すれば、リアルタイムに位置情報を送ることも可能です。
データ受信編をお楽しみに!
待てない方は、β版解説や公式資料など参照の上、チャレンジ!
→ 2017.8.19 データ受信編、書きました
links
- データ受信編
- Arduinoシールドを使った接続方法
- sakura.io β版時点での解説
- 応用例、バスIoT 送受信方法解説
- 応用例、めがね会館ビルチカ
- IchigoJam meets GPS receiver 'u-blox NEO-7M'