さくら IoT β版 の 動作確認


2016年10月に さくら IoT のβ版の通信モジュール が発売された。
発売されて すぐに購入したので、同年10月にはモノは届いていたが、確認する時間が取れず 1年間 封印したままになっていた。
1年間 熟成したので、食べ頃になったと思い(笑)、動作確認してみました。
なお、α版の動作確認はこちらから

デバイス側

ハードの準備

用意するもの
(1)Arduino本体
2027_09_01_arduino

(2)さくら IoT のβ版の通信モジュール

Arduino本体と通信モジュールを合体する。

(1)通信モジュールを シールドに取り付ける。
シールドをArduino本体にピン穴が合致するように 差し込む。

(2)アンテナ固定具を シールドに取り付ける。
(3)棒アンテナアンテナ固定具に取り付ける。
(4)棒アンテナにアンテナケーブルを接続する。
(5) シールドのアンテナ用のコネクタに アンテナケーブルを接続する。

20170901_saura_iot_beta_arduino

プログラム開発環境の準備

(1)Arduino IDE をダウンロードする。
Arduino IDE20170901_arduino_ide

(2)さくら IoT のライブラリを取得する。
Arduino IDEにて、 [スケッチ]→[ライブラリをインクルード]→ [ライブラリを管理…]をクリックし、 右上検索窓から【sakuraio】を検索すると、
[SakuraIO by SAKURA Internet Inc.]がヒットします。 インストールをクリックすると自動的に該当ライブラリが格納され、[INSTALLED]が表示されます。
20170901_sakura_iot_bate_arduino_libraly_sakuraio

サンプルプログラムの実行

(1)Shell.ino
シリアルモニタから 下記のコマンド操作を実行します。
(1) version :現在 ファームウェアバージョンを表示する
(2) serial :通信モジュール シリアル番号を表示する
(3) status :通信モジュール 通信状態を確認する
(4) sqi :通信モジュール 電波強度を確認する
(5) unixtime :UTC形式 現在時刻を表示する

(2)FirmwareUpdate.ino
さくら 通信モジュール ファームウェアアップデートを実行します。

(3)AlphaCompat.ino
一定間隔でカウント値を0,1,2 チャンネルに書き込み、送信します。

さくら IoT Platform 側

(1)さくらインターネットの会員登録にて、さくらインターネットの会員アカウントを作成する。
20170901_sakura_id_register

(2)さくら IoTのコントロールパネル へ ログインする。
「約款および個人情報の取扱いについてのご確認」が表示されるので、 「同意する」をクリックする。

20170901_sakura_iot_platform_beta_confirm

(3)プロジェクトを作成する

さくら IoT Platformでは プロジェクトという単位で大枠を構成し、 プロジェクト内にさくら 通信モジュールや連携先サービスを設定します。
20170901_sakura_iot_platform_beta_project

(4) 通信モジュールを 登録する

通信モジュールに記載されているIDとパスワードを転記して、
[モジュール登録] ボタンをクリックします。

下記注意が表示されるが、β版では、通信モジュールの価格に含まれていて、無料のはず。
モジュール追加の際の注意点
モジュールを追加すると、月額60円のモジュール基本料金が課金されます。

20170901_sakura_iot_platform_beta_module

(4)連携サービスを 設定する
選択肢がいろいろあるが、「WebSocket」を選択する。
20170901_sakura_iot_platform_beta_service

(5)画面上で受信データが表示されていることを確認します。

WebSocket クライアント

α版の時に作ったものを再利用する。
WebSocket Client – SAKURA IoT Platform Alpha

今後の課題

(1)温度センサーを追加して、温度を測定する。
(2)データストア機能を試す。

参考
さくらのIoT Platform β版ハンズオン
sakura.io サービス約款


さくら IoT β版の仕様


2017090_sakura_iot_bata_comm_module

2016年10月にさくら IoT のβ版の通信モジュールが発売された。
1年経って、ドキュメントが充実してきた。
さくら IoT のα版との違いに着目して β版の仕様を整理した。

通信モジュール

β版ではLTEモジュールが太陽誘電製 TE8668 になり、α版に比べ全体に一回り小さくなった

マイコンインターフェイスは、α版と同じくI2C、SPI、UARTの3つ。
入出力電圧は、α版では5Vだったが、β版では1.8Vになった。

コマンドは、α版ではデータの送受信だけだった。
通信モジュールには、4バイトのチャネルが128個あり、
チャネルごとに、整数、実数、バイト列などの型を指定して、値を設定する。
β版ではファイルの受信、ファームの更新、時刻の取得などが追加された。

β版ではデジタル IO と ADC 入 力も備えており,マイコン なしに本モジュールを単独で利用 することも可能になるようであるが、現在は未実装です。

Arduinoシールド
α版では、通信モジュールを固定する機構のみを備えていた。
β版には電圧レベル変換回路があり、5V系のArduino と接続できる。

β版にはアンテナ固定具が付属され、アンテナを基板に固定することができる。

ブレイクアウトボード
α版では、ブレイクアウトボード自体がなかった。
β版には電圧レベル変換回路があり、5V系のArduinoや、3.3V系のmbed、Raspberrypiと接続できる。

マイコンのサンプルプログラム

α版ではArduino 用だけだったが、
β版ではmbed用、Raspberrypi用のPython版が追加された。

Arduino 用では、下記のサンプルプログラムが用意されている。

(1)AlphaCompat.ino
(α版のSakuraAlpha_I2C.inoと同じく、
一定間隔でカウント値を0,1,2 チャンネルに書き込み、送信します

(2)FirmwareUpdate.ino
通信モジュールのファームウェアアップデートを実行します。

(3)Shell.ino
Arduino IDE のシリアルモニタから 下記のコマンド操作を提供します。
改行を[CR み]に設定する。

(1)version:現在のファームウェアバージョンを表示する
(2)serial :通信モジュールのシリアル番号を表示する
(3)status :通信モジュールの通信状態を確認する
(4)sqi :通信モジュールの電波強度を確認する
(5)unixtime :UTC形式の現在時刻を表示する
(6)update :ファームウェアのアップデートを実行する
(7)reset :通信モジュールのソフトウェアリセットを実行する
(8)enqueue :送信キューにデータを格納する
(9)send :送信キューに貯められたデータを送信する
(10)size :送信/受信キューに貯められたデータ数を確認する
(11)cleartx :送信キューに貯められたデータをすべて消去する
(12)clearrx :受信キューに貯められたデータをすべて消去する
(13)dequeue :受信キューに貯められたデータをすべて受信する
(14)peek :受信キューに貯められたデータを閲覧する

ゲートウェイ

β版では,データ保存 DataStore 機能が追加された。
APIは、チャネル単位のデータ取得できるチャネルchannelモードと、
関連する複数のチャネルのデータをまとめて取得できるるメッサージmessageモードの2つがある。

料金プランに応じて、3つの閲覧期間が選択できる。

フリー 40日間
スタンダード 2年間
プレミアム 無期限

ゲートウェイの API
α版ではhttpと websocket の2つだったが、
β版では MQTT が追加された。
さらに、サービス連携として AWS IoT とAzure IoT HUB が追加された。

注意
本年4月からβ版から正式サービスになっていました。
さくらインターネット、IoTプラットフォーム「sakura.io」正式サービス提供開始
気付いていなかった (^^:

文中で β版とあるのは 、β版及ぶ正式版と読み替えてください。

参考
さくら IoT 開発者向けドキュメント

さくらの通信モジュール(β版)利用マニュアル


BC 2016 Autumn


16年11月19日に柏の葉キャンパスで開催されたABC 2016 Autumn に横浜支部として展示しました。

協力頂いた Goji さん Criticabug さん、ありがとうございます。
20161119_abc_yokohama

展示1
さくらIoTを経由して収集した温度・湿度などの測定値をカシオのAndroid watchに表示するもの
ソースコードは、GitHubで公開しています。
20161119_abc_yokohama_fab_sensor

さくらIoTの通信モジュールと温度・湿度などのセンサー

20160901_sakura_iot_case_front

droid phone とAndroid watch
20161119_abc_fab_sensor_android-_phone%ef%bc%bfwatch

Android watchの表示部
20161119_abc_fab_sensor_android-watch

展示2
ABC当日に開催されたAndroid Wear アプリコンテストに展示しました。
アプリは、上記のさくらIoTで作ったもの。
20161119_abc_app_contest

展示3
賑やかしでSumobot展示しました。
20161119_abc_sumobot


さくら IoT – 温湿度センサー HDC1000


さくら IoT と 温湿度センサー HDC1000 で温湿度を観測する

ハンズオン資料
さくらインターネットから、ハンズオンの資料が公開されています。
http://www.slideshare.net/sakura_pr/ss-64599802

センサーとして HDC1000 を、WebSocket クライアントとして node-red を使っています。
HDC1000 は、秋月電子で販売されています。
HDC1000使用 温湿度センサーモジュール

いくつか気になったことがあります。
(1) HDC1000 の +V を Arduino の 3.3V に接続している。
Arduino は 5V 動作なので、HDC1000 も 5V にすべきでしょう。
(2) node-red のインストールを、すべて root ユーザーで行っている。
yum 以外は、一般ユーザで設定できますね。
(3) node-red での動作確認が WebSocket を受信するところまでです。
これは、時間の関係かもしれないが、もうちょっとやりたいですよね。
WebSocket の受信だけなら、WEBブラウザーでも出来るし。
拙作の javascript 版

今回やったこと
HDC1000 のデータを node-red で受信するところまでは、資料と同じです。
その先として、グラフ表示をしてみました。

環境は、CentOS ではなく、MAC で構築しました。
インストールは、下記を参考にしてください。
brew で node をインストールする
MAC に Node-RED をインストールする
Node-RED でグラフ表示をする

センサ側
HDC1000 を通信モジュールに接続する
20161013_sakura_hdc1000

node-red の処理
WebSocket の受信から、http 出力にする flow がわからなかったので。
いったん、WebSocket で受信したデータをファイルに保存しました。
ファイルを読み出して、http 出力に結びつけました。

Flow
Flow は Github で公開しました。
20161013_sakura_flow

parser
WebSocket で受信したデータを cvs 形式にする
コード parser.js

text
一番新しいデータが、上になるように、逆順に並び替える
コード text.js

temperature、humidity、count
最新の100個のデータを、グラフ形式に変換する
コード temperature.js

結果
20161013_sakura_temperature


さくらの IoT Platform β


20161005_sakura_iot_beta

10月5日に、 さくらの IoT Platform の β サービスが発表されました。
通信モジュールの価格は、特価 4980円 です。
早速、ポッチしました。
さくらの IoT オンラインショップ

さくらインターネット – 『さくらのIoT Platform β』発表会
ASCII – モジュールと利用料で1万円切ったさくらのIoT Platform βがスタート
@IT – さくらのIoT Platformはベータを11月1日に開始、通信モジュールは4980円
Impress – 「さくらインターネット、「さくらのIoT Platform β」の申し込み受付を開始


さくらの夕べ IoT特別編


20161004_sakura_lt

10月1日、さくらインターネットで開催された 「さくらの夕べ IoT特別編」に参加しました。
さくらの IoT Platform の α版ユーザーが15名ほどが集まりました。

さくらインターネットから、11月開始されるβ版の説明がありました。
通信モジュールは小型化さて、α版の半分くらいになります。
写真撮影は不可という条件で、実物を見せてもらいました。
機能としてファイル転送が追加されたり、サービスとしてデータ保存のサービスが追加されるとのことです。
α版は無料でしたが、β版の通信モジュールは、有料で配布されます。
来週のCEATECで正式発表するそうです。

tsumugs から、Sharing Key というスマートロックが紹介されました。
さくらの IoTを採用した理由として、WiFiやBluetoothなどの通信手段の代わりに、3G/LTE回線を格安で使用できるためとのこと。
WiFiやBluetoothでは、空室物件にもインターネット環境を用意しておいたり、なぜか接続できなかったというトラブルが、ある程度避けられない。
そのため、スマートロックは賃貸物件にはほとんど使用されていないそうです。
賃貸物件のカギがスマートロックになると、何が起こる? 開発企業を独占取材

大阪の 共立電子 から、トイレの個室ドアにセンサーを取り付けて空き状況がわかる 「IoToilet」が紹介されました。
共立電子では、お客さんさんからの要望もあり、IoT に関するさまざまなアイデアを試行しているそうです。

テクニカルライターの大澤文孝さんから、ZigBee 搭載の TWE-Lite と組み合わせて、インターネットに温度データをアップロードした事例が紹介されました。
雑誌i/O に掲載したそうです。

私から、自作のセンサーボードと組み合わせた温度・湿度・気圧などの観測システムを紹介しました。
さくら IoT で温度・湿度を観測する

当日の様子は、私の事例も含めて、ASCIIのサイトに掲載されました。
発表直前β版もチラ見せ!「さくらのIoT」ユーザーのLT大会


さくら 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