さくら IoT のケース


さくらの IoT Platform は、さくらインターネットが提供するIoTプラットフォームサービスです。
さくら IoT の通信ボードには、外付けのアンテナをつけますが、小型同軸コネクタを使っており、そのうちに壊れるのは思うくらいヤワな感じです。
そこで、さくらの通信ボードとアンテンを固定し、Arduino と一体にしたケースを、作成しました。
素材はアクリル板で、レーザー加工機を加工しました。
加工データは Github で公開しました。

20160901_sakura_iot_case_board
20160901_sakura_iot_case_front


さくら IoT で温度・湿度を観測する


20160701_sakura_iot_system

さくらの IoT Platform さくらインターネットが提供するIoTプラットフォームサービスです。
前回 は、基本的な確認ができたので。
今回は、実用的なものを作ってみました。
センサーのデータ (温度・湿度など) を、さくらの IoT を経由して、WEB にてグラフ表示します。
作ったプログラムは Github で公開しました。

まず、センサー部です。
センサーボード として、以前作ったものを使います。
温度、湿度、気圧などが測定できます。
20160701_sakura_iot_sensor_board

Arduino にセンサーボードとIoT通信ボードを接続します。
Arduino のスケッチ を作成します。
Arduino に書き込みます。
Arduino の電源を入れると、さくらの IoT サーバーに送信されます。
データは、さくらの IoT コントロールパネルに表示されます。
これで、センサー部は完成です。

続いて、サーバー部です。
今回のアルファ版では、さくらのクラウド 2万円分チケットも付いていました。
ありがたく使わせて頂き、さくらのクラウドで新規にサーバーを立てました。
サーバーのプログラム を作成します。
主要部は、Python Flask で記述しました。
さくらの IoT Platform から来たデータを、いったんデータベース(MySQL) に格納します。
データベースから読み出し、Google Chart でグラフ表示します。
これで、サーバー部は完成です。

自宅で1日ほど運用したものが、下記に示します。
ここのところ、毎日30度を超えて暑いですね。
寝る前に、クーラーを入れたので、そこだけ温度が下がってます。
20160701_sakura_iot_graph


さくらIoT通信モジュールを試してみた


さくらの IoT Platform は、さくらインターネットが提供するIoTプラットフォームサービスです。
α版テスターの公募があったので申し込んでみたところ、6月頭に通信モジュール・キットが送付されてきました。

通信モジュール・キット
送付されたのは、アルミの箱が1つでした。
201618_sakura_iot_case

何の説明もついていなかったので、まずは、ねじ回しで箱を開けます。
中身は、下記のものでした。
・通信モジュール SORACOM SIM 版 x 1個
・通信モジュール Softbank SIM 版 x 1個
・接続ケーブル x 2本
・棒形アンテナ x 2本
・アンテナケーブル x 2本
・板型アンテナ x 1個
・さくらのクラウド 2万円分チケット x 1枚
・シール x 1枚

通信モジュールは、モデムボードとデバイスボードが一体になり、SIMカードが挿入されています。
モデムボードは CEREVO 製で、デバイスボードは ABiT 製です。
20160618_sakura_iot_softbank 20160618_sakura_iot_soracom 20160618_sakura_iot_abit

マニュアル
さくらの IoT プラットフォーム 利用マニュアル – PDF販
さくらのIoTプラットフォーム 利用マニュアル – github

物理インターフェイス
電源は5V系です。
UART、SPI、I2C の3つの口を持っていますが。
どれか1つ接続すれば、OKです。

Arduino との接続

Sakura IoT Arduino
1 UART TX (O) D8 or D0
2 UART RX (I) D9 or D1
3 GND GND
4 SPI MOSI (I) D11
5 SPI MISO (O) D12
6 SPI SCK (I) D13
7 SPI CS (I) D10
8 GND GND
9 I2C SDA (I/O) SDA (A4)
10 I2C SCL (I/O) SCK (A5)
11 GND GND
12 +5V +5V

ソフト・インターフェイス
さくらインターネット から、Arduino用の SPI と I2C のサンプルコードが公開されています。
SakuraAlphaArduino

UART については、解説を書いた人がいます。
さくらのIoT通信モジュールのUARTの使い方

試してみる
(1) コントロールパネルの用意
さくらインターネットのアカウントを作成します。
IoT Platformのコントロールパネルにて、通信モジュールを登録します。
サービスとして「WebSocket」を作成します。
20160618_sakura_iot_control_top

(2) 通信モジュールの用意
通信モジュールに、棒型アンテナと、Arduinoを接続します。
パソコンにUSBコネクタを差して給電します。
5分ほどすると、コントロールパネルの表示が「オンライン」に変わります。
20160618_sakura_iot_wiring

(3) Arduinoの用意
サンプルコードの SakuraAlpha_I2C あるいは SakuraAlpha_SPI を Arduino に書き込みます。
コントロールパネルは、下記のようになります。
20160618_sakura_iot_control_data

Arduino のシリアルモニタは、下記のようになります。
20160618_sakura_iot_monitor

クライアントの作成
WebSocket のクライアントを作成します。
接続先は、コントロールパネルに表示されています。

wss://secure.sakura.ad.jp/iot-alpha/...

データは、下記のようなJSON形式です。

{"module":"xxx","type":"channels","datetime":"2016-06-18T07:43:55.024301691Z","payload":{"channels":[{"channel":0,"type":"I","value":1},{"channel":1,"type":"I","value":1},{"channel":2,"type":"I","value":1}]}}

keepalive もやってきます。

{"type":"keepalive","datetime":"2016-06-18T07:45:23.06614438Z"} 

実行結果

type: channels
datetime: 2016-06-18T17:12:18.391885263Z
module: xxxx
channel: 0 type: I value: 44
channel: 1 type: I value: 44
channel: 2 type: I value: 44

type: keepalive
datetime: 2016-06-18T17:12:19.97128196Z

コードは Github で公開しました。

参考
さくらのIoT Platformを試してみた
さくらのIoT Platform α で作ったもの
さくらのIoT通信モジュールのUARTの使い方
さくらのIoT Platform α – mbed