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

1行リターンでIoT、さくらのIoT Platformα x IchigoJam BASIC で超簡単ネット接続デバイスづくり

2016/06/25 23:00:00
#IchigoJam #IoT #sakura 

さくらのIoT Platformα、お借りしたモジュールをIchigoJamに接続、超簡単にネットにつながりました!


IchigoJamとの接続は4本のみ、赤の5VをCN5(5Pソケットをつける)の5Vへ、黒をGNDへ、その隣の黄色がI2CのSCLなのでEX1へ、次の黄色がI2CのSDAなのでIN3へ。 I2Cのプルアップ抵抗はモジュールに入っているとのことなので、これだけでOKです。(※プルアップ付きのEEPROMモジュールをつけても動作しました)

画面に表示されているように、たった2つのコマンドでモジュールからネットへの送信が完了しています!

POKE #700,48,1,73,#AA,0,0,0:?I2CW(79,#700,1,#701,6)

このように書けば、まさにたった1行。
先頭行 48(=#30) が送信コマンド、次にチャンネルの1、4byte正数を表す73(=ASC("I"))、今回は簡易的に先頭1byteのみ書き込む#AA。 I2CWコマンドで、アドレス79(=#4F)を指定し、仮想メモリ#700からの1byteと#701からのデータ6byteを送信します。 うまくいけば0が返ります。1と表示されたらI2Cの接続を確認してください。


箱から出して、初回のみファームウェアの更新が必要です。5Vをつないだら電波状態の良さそうなところで、しばらく放っておきましょう。 この時5Vが電池モバイルバッテリーなど、あまり電流が取れない電源だと失敗しました。 うまくいかない場合、ACアダプターから電源をとってみるといいでしょう。

LEDの3回点滅がモデムの起動待ち、その後、電波状況によらず2回点滅に遷移して、ファームウェア更新開始。

コネクターの電源5V(赤)の反対側の端、緑はUARTのTxDなので、これをIchigoJamのRxDにつなぐと、アップデートの様子をみることができます。

Sakura IoT Alpha (201505311830-89doeefo)

最後にこのように表示され、ファームウェア更新が完了!
一度、リセットして、LEDが3回点滅状態から、2回点滅になれば送信準備が整ったと思っていいみたいです。
下記のコマンドでネットワーク接続状態を見ることができますが、通信する前は 0 が返ってくるようです。

POKE #700,1:?I2CR(#4F,#700,1,#701,1):?PEEK(#701)

I2Cのアドレスは#4F、詳細気になる方は、Arduino用のサンプルプログラムを読むのがおすすめです。 (sakura-internet/SakuraAlphaArduino: SAKURA Internet IoT Alpha Communication Module Library for Arduino

モジュールからネットに送ったデータの使い方は、さくらのIoT Platformαに用意されている開発者向け管理サービスから設定できます。

プロジェクトを作成し、連携サービスを追加


WebSocketサービスを追加したこの画面で、IchigoJamから送信すると送られてきたデータがリアルタイムに更新されます!楽しい!


Outgoingサービスを追加すると任意のWebサイトにデータをJSON形式で転送してくれます。
ひとまず受け取ったデータをWebアプリから連携できるテストサービスを作ってみました。
これで遠くで起きた何かを検出できちゃいます!
サービスを作らなくても設定だけでスマホに通知できたりすると、更にIoT化の敷居が下がって良さそうです!


今回使用したのは、SORACOMのSIMが入ったα版のモジュールです。製品化、楽しみですね!

設定不要、電源をつなぐだけでネットにつながってしまうIoTデバイスが、BASICで1行書くだけで簡単に作れてしまう。 どんなデバイスが、どんな業界から飛び出すか!?

関連リンク
- さくらのIoT通信モジュールのUARTの使い方 - Qiita(シリアル通信でも使える!)
- さくらのIoT Platformを試してみた | Developers.IO(Arduino用チュートリアル)
- Arduino用ライブラリとサンプル
- Arduinoでつくられたサンプルアプリ2つ
- さくらのIoT Platform|開発者向け(マニュアル)
- さくらの IoT Platform(公式サイト)
- 1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門
- IchigoJam(公式サイト)

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