さくらのIoT Platform α
.
さくらのIoT Platform α
さくらインターネットが提供する「さくらのIoT Platform α」を使うためのプログラムです。
Arduino向けに公開されているライブラリを mbedへ移植しました。
Warning
このページは さくらインターネット とは関係ありません。
このページの内容について さくらインターネット へ問い合わせしないでください。
Arduinoフォームファクターのmbedなら、さくらのIoTモジュール用シールド(さくらのIoT Shield ?)が使えます。
(例:FRDM-KL25Z、I2Cジャンパーは上側に設定。 UART(Serial)のジャンパーは外しておきます)
ライブラリ
あなたのコンパイラからインポートしてお使いください。
Import librarySakuraAlpha
SAKURA Internet IoT Alpha Communication Module Library for mbed
getNetworkStatus()
モジュールがオンラインかどうかを返す。
writeChannel(ch, data)
チャンネルのデータをセットする。(送信)
データの形式は int32_t, uint32_t, int64_t, uint64_t, float, double, uint8_t[8]
readChannel(ch, *type, *data)
チャンネルのデータを得る。(受信)
transmit(mode)
送信モードを設定する。
mode 0:None, 1:Auto, 2:Once
getTxChannelStatus(ch)
チャンネルごとの送信ステータスを得る
getRxChannelStatus(ch)
チャンネルごとの受信ステータスを得る
getUpdatedChannels(*buf, len)
受信されたチャンネルの情報を得る
戻り値: 個数
buf: チャンネル番号が入った配列
getUntransmittedChannels(*buf, len)
まだ送信されていないチャンネルの情報を得る
戻り値: 個数
buf: チャンネル番号が入った配列
サンプル
mbed LPC1768 向け
I2C接続
Import programSakuraAlpha_I2C
example for SAKURA Internet IoT Alpha Communication Module
mbed | さくらのIoT モジュール | |
---|---|---|
VU or VIN(5V) | -- | 12: +5V input |
GND | -- | 11: GND |
I2C SDA | -- | 9: I2C_SDA |
I2C SCL | -- | 10: I2C_SCL |
プルアップ抵抗はモジュール基板上に載っている。
FRDM-KL25Zのとき
//SakuraAlphaI2C sakura(p9, p10); // sda, scl (NXP LPC1768) SakuraAlphaI2C sakura(PTE0, PTE1); // sda, scl (FRDM-KL25Z)
SPI接続
Import programSakuraAlpha_SPI
example for SAKURA Internet IoT Alpha Communication Module
mbed | さくらのIoT モジュール | |
---|---|---|
VU or VIN(5V) | -- | 12: +5V input |
GND | -- | 11: GND |
SPI MOSI | -> | 4: SPI_MOSI |
SPI MISO | <- | 5: SPI_MISO |
SPI SCK | -> | 6: SPI_SCK |
DigitalOut | -> | 7: SPI_CS |
シリアル接続(UART)
対話型インターフェース 115200bps
helpと打つとコマンドのリストが表示される。
ライブラリはまだありません。
mbed or PC | さくらのIoT モジュール | |
---|---|---|
VU or VIN(5V) | -- | 12: +5V input |
GND | -- | 11: GND |
Serial RX | <- | 1: UART_Tx |
Serial TX | -> | 2: UART_Rx |
ネットワーク
モジュールからのデータは、専用ネットワーク(さくらのIoT閉域網)でPlatformのサーバへ送受信される。
インターネットからはサーバーを介してデータの受け渡しができる。
+------------+ +------------+ I2C/SPI | Sakura IoT | Network | Sakura IoT | WebSocket/WebHook mbed <-------> | Module | <-------> | Platform | <---------------> User +------------+ +------------+
JSON形式でデータが得られる。
{"type": "channels", "module": "xxxxx", "payload": {"channels": [{"value": 123, "channel": 0, "type": "I"}, {"value": 456, "channel": 1, "type": "I"}, {"value": 789, "channel": 2, "type": "I"}]}, "datetime": "2016-06-01T00:00:00.000000000Z"}
JSON形式でデータを送るとモジュールに届く。
{"type": "channels", "module": "xxxxx", "payload": {"channels": [{"value": 999, "channel": 0, "type": "I"}]}, "datetime": "2016-06-01T00:00:00.000000000Z"}
WebSocket
コントロールパネル にて表示されるURL (wss:/ /secure.sakura.ad.jp/~~) へ接続すると、逐次データが送られてくる。
動作確認用HTML+JavaScriptサンプル
Outgoing Webhook
登録しておいたURLへ、逐次POSTでデータが送られてくる。
Incoming Webhook
?
メモ
- 汎用の通信モジュールとはちょっと違う
- 通信路のセキュリティを保つため、インターネットではなく専用のネットワークへ接続している
- データの送信と受信ができる
- 決められた形式のデータのやりとりのみできる
- しっかりした電源(5V)を用意すること (うまく接続できないときはACアダプターを使う)
- 平均210mAくらい流れるので、将来のバージョンで省電力機能が搭載されるといいな
Please log in to post comments.