IchigoJam BASIC x sakura.io ではじめるIoT(準備の電子工作&データ発信編)

月額61円で使える4G通信モジュール「sakura.io」が、共立電子Amazonに加え、秋月電子でも買えるようになりました!
sakura.ioとIchigoJamを使ったIoTづくりを解説します。(工作時間30分ほど)

スマホやPC、WebサーバーなどとIchigoJam、相互にお手軽IoT通信!

準備するもの

1. IchigoJam 1500円〜 (バージョン1.2.2)
2. sakura.io 通信モジュール 8,640円
3. sakura.io ブレイクアウトボード 2,700円
4. I2C電圧変換 PCA9306 150円
5. ジャンパーコード 220円
はんだごて、ニッパー、はんだ少々

モジュールづくり

IchigoJamと通信モジュールをつなぐボードをブレイクアウトボードを使って、電子工作します。

ブレイクアウトボード左 J1 ブレイクアウトボード右 J2
1 I RESET H:通常, L:リセット - 20 P VIN 電源(3V-5.5V) 5V(IchigoJam)
2 P GND - 19 P GND GND(PCA9306/IchigoJam)
3 I MODE_IN H:SPI(def), L:GPIO - 18 IO I2C_SCL SDA2(PCA9306)
4 O LED_OUT status LED - 17 IO I2C_SDA SCL2(PCA9306)
5 O WAKE_OUT H:データあり IN1(IchigoJam) 未接続でもOK 16 I SPI_CS -
6 I WAKE_IN H:RUN/SLEEP, L:DEEPSLEEP OUT1(IchigoJam) 15 I SPI_SCK (or GPIO) -
7 IA ADC_IN2 - 14 O SPI_MISO (or GPIO) -
8 IA ADC_IN1 - 13 I SPI_MOSI (or GPIO) -
9 O LDO_OUT(1.8V) VREF2(PCA9306) 12 I UART_RX -
10 P 3.9V - 11 O UART_TX -

* SCLとSDAを逆に使用

ブレイクアウトボード右側、電圧変換PCA9306を上下逆にするとGND/SCL/SDAが対応していて都合がいい。

PCA9306のピンヘッダーを2ピンだけに分割し、SCL/SDAにはんだづけ。
GNDはブレイクアウトボードとPCA9306両方にはんだづけ。
VREF2はブレイクアウトボードの16ピンに触れないようはんだづけ。

ブレイクアウトボード左側、 PCA9306のVREF2から9番ピンをジャンパーでつなぎはんだづけ。
スリープ制御用のWAKE_INに白、データ取得検知用のWAKE_OUTにオレンジの長めのジャンパーをはんだづけ。

ブレイクアウトボード左上20番ピンに黄色のジャンパーをはんだづけ。
PC9306AのVREF1に赤、SCL1に青、SDA1に緑のジャンパーをはんだづけして、できあがり!

WAKE_IN / WAKE_OUTが必要ない場合は、WAKE_INをLDO_OUT(1.8V)にプルアップ(10kΩ)だけしておきましょう。

IchigoJamに接続する
CN5
黄:5V *ACアダプターや充電式モバイルバッテリーなど電流が多めに流せること
青:SDA (or IN3)
緑:SCL (or EX1)
赤:3.3V
黒:GND
CN4
オレンジ:IN1 (受信状態検知、未接続でもOK)
白:OUT1 (モジュール省電力制御、使わない場合VCCへ)

モジュールとサービスの登録

sakura.ioの開発者向けから登録、ログイン

プロジェクト追加(名前、test)

モジュール登録

通信モジュールのシール下に書かれた(IDとPASS)を転記。QRコードを読み取ってコピペもできます!

プロジェクトのサービス「WebSocket」を追加(名前、test)し、WebSocketサービスを開いておきます。

IchigoJamからデータ送信

通信モジュールを動かす

OUT1,1

通信モジュールの点滅がはじまり、1分ほど待つと、1回点滅になります(3回は回線接続中、2回はサービス接続中)

次のプログラムを書いて、データを送信!

N=15
OK
POKE#800,#21,10,1,76,N,N>>8,0,0,0,0,0,0,N>>8^N^102,36,0,36:?I2CR(79,#800,13,#820,3)
0

WebSocketの画面でデータが到着する様子がリアルタイムに見られます!
これでアナログセンサーに温度計や水位計、距離計などをつないで、モニターするデバイスが創れますね。
GPSと接続すれば、リアルタイムに位置情報を送ることも可能です。

データ受信編をお楽しみに!
(待てない方は、β版解説や公式資料など参照の上、チャレンジ!)

links
- sakura.io β版時点での解説
- 応用例、バスIIoT 送受信方法解説
- 応用例、めがね会館ビルチカ
- IchigoJam meets GPS receiver 'u-blox NEO-7M'