さて、先日はのSeeedさんの「ReButton」をお借りして簡単なレビューを書いてみました。
今回は、実際にセットアップしてみた感想を記録していきたいと思います。
※当エントリーは「Seeed UG Advent Calendar 2018(https://qiita.com/advent-calendar/2018/seeed)」に参加中の12/25分のエントリーです!
まだ大っぴらに発売されていないデバイスの為、資料も限られています。
今回は、こちらの資料を基に構成しています。
セットアップの手順はほとんどこの資料のトレースです。
https://seeedjp.github.io/ReButton/
1.ボタンを押すことで、電源をONにしながら、あらかじめ設定しておいたWi-fi経由でインターネットに接続します。
2.ReButtonはあらかじめ設定しておいたAzute IOT HUBまたはAzure IoT Centralから更新を受け取ります。
3.ReButtonはあらかじめ設定しておいたAzute IOT HUBまたはAzure IoT Centralにメッセージを送ります。
4.D2Cメッセージが送信されると、ReButtonはシャットダウンします。
シングルクリック(タップ)
ダブルクリック(タップ)
トリプルクリック(タップ)
長押し(3秒以上)
長押し(6秒以上)
I2CまたはGPIOに対応したGroveセンサーを、ボタン下部に接続できます。
様々な拡張センサー・デバイスが利用できるのもReButtonの特徴です。
Azure IoT Hub と Azure IoT Centralをサポートします。
そのおかげでセットアップはとても簡単です。
ファームウェアのアップデートはWi-fi(インターネット)経由で行えます。
ファームウェアのソースは公開されており、独自のファームウェアを組み込むことも可能です。
ReButtonは単4電池(AAA)二本で動作します。
とある筋の話では、3000回程度のクリックは余裕で持つとのことです。
ReButtonを設定するために、APモード(アクセスポイントモード)にします。
バッテリーを取り外し10分経過すると、ReButtonはシャットダウンし、APモードに移行します。
速やかにIoT HubまたはIoT Centralにてセットアップを行いましょう。
(LEDは、青→黄色→シアン→白と順に変化します。白になるまで約10秒要します)
ReButtonが正常にAPモードへ移行すると、LEDは白色で点滅を始めます。
「AZB-xxxxxxxxxxxxx」というアクセスポイントをWi-fi接続可能な端末から探し、接続します。
(xxxxxxxxxxはお使いのReButtonのWi-fi MACアドレスです)
※検証環境においては、スマホなどのデバイスからも設定が可能でした
ホーム画面が正常に表示されればここまでのステップは終了です。
画面上の「Wi-fi」をクリックします
Wi-fiのセットアップ画面が表示されるので、任意のWi-fi SSIDを選択し、パスワードをセットします。
セット後、「Save」をクリックします。
Azure IoT Centralの設定を確認しましょう。
今回はIoT HubではなくAzure IoT Centralを利用するのでAzure IoT Centralへの接続設定を行います。
Azure IoT Centralそのもののセットアップはこちらのエントリーを参考にしてください。
また、Rebutton用のパラメタについては、以下を参考にして下さい。
https://seeedjp.github.io/ReButton/
Display Name:Voltage
Field Name:batteryVoltage
Telemetry
Units:V
Minimum Value:0
Maximum Value:35
Decimal Places:2
Color:任意
Display Name:Click Type
Field Name:actionNum
Values
値:1
Single Click:
Color:任意
値:2
Double Click:
Color:任意
値:3
Triple Click:
Color:任意
値:10
Long Press:
Color:任意
値:11
Super Long Press:
Color:任意
Display Name:Message
Field Name:message
Default Severity:Information
Azure IoT Centralのセットアップが完了・確認出来たら、Rebuttonの設定に戻ります。
Home画面に戻り「Azure IoT Central」をクリックします。
上記Azure IoT Centralの設定で取得した「Scope ID」「Device ID」「SAS Key」を設定します。
設定が完了したら「Save」をクリックします。
最低限の設定はここまでで完了です。
「Shutdown」をクリックすると、設定が保存されReButtonが再起動されます。
ここまで正常にセットアップが完了していれば、ボタンを押せば動作するはずです。
クリックして確かめてみましょう。
Azure IoT Centralの実デバイス画面で、実際に受け取ったデータを確認できます。
Telemetoryにバッテリー電圧、Stateにクリック種別、Eventにトリガーされたイベントが表示されていることがわかります。
次回は、このEventからその他のサービスに接続するネタをエントリーしたいと思います。
ReButtonから送信されるD2Cメッセージを編集できます。
当然受け取る側のクラウドサービス側でも変更が必要です。
ファームウェアをOTAアップデートするための画面に遷移します。
方法は以下をご覧になるか、またのエントリーをお待ちください
https://seeedjp.github.io/ReButton/
Azure IoT Centralではなく、Azure IoT Hubを使って独自にサービス側を実装する場合はこちらのメニューを使います。
こんにちは。オモシロインクの榊原です。
エントリーに先立ってイベントのお知らせ。
IoTを絡めたプロトタイピングにもおすすめなMicrosoft PoweAppsの勉強会を開催します。
一緒に高速アプリ開発ソリューションの勉強をしましょう!
https://paandflow.connpass.com/event/117974/
IoTが単なるバズワードではなく、実際に運用に乗って活用され始めて久しいですが如何でしょうか、活用されていますか?
IoTを実際の運用に乗せようとしたとき、重要な要素としてもちろん個々のIoT機器がありますが、導入経験のある方ならこのIoT機器そのものの開発にもなかなかに苦労されることがお分かりかと思います。
さらに、いざ開発したIoT機器を実際の運用に乗せようとしたときに立ちはだかるハードルが、導入したIoT機器の管理と、IoT機器から集めた情報の管理です。
機器管理については、特にIoT機器は数が多くなる傾向があり管理が非常に煩雑になりやすいのですが、多くのIoT機器の設置個所や稼働状態管理など、IoT機器運用に関して多くの項目を扱う必要があることがわかります。
また集めた情報に関しても、まぁむしろIoT機器導入の本質的な目的はここにあるのですが、この情報をうまく管理・活用できなければIoTなど絵に描いた餅ということは良くお分かりかと思います。
いずれにしても、IoT機器のみならず、これらIoT機器に関する各種情報を扱う仕組み(アプリやサービス)がさらに必要になるわけで、そのコストたるや、バカにできません。
そんな専用のアプリやサービスを開発しなくても良いとしたら、安価に利用できるとしたらどうでしょう?
その期待に応えるのが、Azure IoT Centralです。
Azure IoT Centralは、上記のようなIoT機器の管理や情報収集、簡易的なアナライズなどの機能を簡単に導入できるSaas型IoT管理アプリケーションです。
以下はデモ画面ですが、様々なIoT機器や、機械類に搭載されたIoTアドオンの情報が一元管理できていることがわかるかと思います。
上手のように、コストの大きな部分を占める管理側のサービスを一手に引き受けてくれることが分かります。
大まかには
となります
すでにMicrosoftのクラウドサービス Microsoft Azureを利用していることを前提に導入の手順を紹介します。
まずはAzureにログオン。
リソースの作成→検索→「IoT Central」と入力して検索
「IoT Central Application」を選択
「作成」をクリックします。
各項目を入力し、「作成」を選択します。
プロビジョニングを待ちます。
5分もあれば十分です。
プロビジョニング完了のダイアログから、「リソースに移動」を選択肢プロビジョニングが完了したアプリを起動しましょう。
またはダッシュボードから、「リソースに移動」を選択肢プロビジョニングが完了したアプリを起動しましょう。
作成が成功したAzure IoT Centralアプリが立ち上がります。
Azureの操作への慣れは必要ですが、数ステップでできてしまうのですから
次に、ここではSeeed社のReButtonを例にして機器を登録してみましょう。
Seeed社のReButtonの概要や使用方法は以下のブログを参考にしてみてください。
概要
セットアップ
シンプルなプロトタイピングやハッカソンなどはこっちがいいかも
AzureのアカウントがなくてもAzure IoT Centralアプリを実行できます。
「https://apps.azureiotcentral.com/」にアクセス
「New Application」をクリック
諸情報を入力。
お試しの場合は
「Choose payment plan」を「Trial」にするといいでしょう。
まっさらなアプリを作りたければ
「Select an application template」で「Custom Application」を。
サンプルになるIoTテンプレート※後述があったほうがいい場合は「Sample ~
」を選択するとよいでしょう。
「Application Name」は任意の名称を。
「URL」はアプリケーションが実行されるWebサービスのURLなのですが、「Application Name」によって自動的に入力されます
必要に応じて変更しましょう。
入力が終わったら「Create」をクリックします。
ほどなくしてプロビジョニングが完了し、設定したパラメタでAzure IoT Centralアプリケーションが作成されます。
なんというお手軽さ。
これを使わずして何を使いましょう。
ハッカソンやプロトタイピングなんかでも有用ですね。
Azure IoT Centralアプリでは、IoTデバイスのテンプレート(シミュレータ)作成→実デバイス登録という手順でIoTデバイスをセットアップしていきます。
同一仕様のIoT機器をコントロールするのに最適な手順ではないかと思います。
まずはテンプレートを作成します。
「Create device template」を選択します。
テンプレートに任意の名称を設定します。
テンプレートなわけなので、テンプレートっぽい名前にするとよいでしょう。
テンプレートは再作成も可能なので、まずは適当に作ってみましょう。
名前が決まったら「Create」をクリックします。
以下のようにテンプレート作成の画面が表示されます。
続いてテンプレートにIoTデバイスの要素を登録していきます。
「Edit template」をクリックします。
「New measurement」をクリックしてパラメタを設定します。
「Create Telemetry」に必要なパラメタを登録します。
今回はSeeed社のReButtonの指定パラメタを登録します。
同様にして、「State」も登録します。
「New measurement」をクリックして「State」をクリックします。
こちらもIoT機器に指示されたパラメタを登録していきましょう。
自作のファームの場合、当然自分で設定したパラメタを登録します。
パラメタを登録したら「Save」をクリックすることを忘れずに。
同様にして「Event」を登録します。
パラメタを登録し、「Save」しましょう。
一通りのパラメタ登録が終わったら、テンプレート(シミュレータ)に疑似値が表示されていることが確認できます。
特にTeremetoryの値の閾値やStateの色などを確認しましょう。
終わったら「Done」をクリックします。
つづいて実デバイスを登録します。
左側メニューから「Device Exploler」を選択します。
アプリ作成時にサンプルテンプレートのあるアプリを作成した場合などはすでにテンプレートがいくつかあるでしょうから、さきほど登録したテンプレートの選択をお忘れなく。
デヴァイスの一覧の上にある「+」ボタンをクリックし、表示されたメニューから「Real」を選択します。
登録するデバイス名などを決定し、「Create」をクリックします。
登録された実デバイスは、選択したテンプレートを元に作成されるわけですから当然同じパラメタを持ったデバイスが出来上がります。
出来上がったら、物理デバイスとの接続をするためのパラメタを取得します。
画面上部の「Connect」をクリックします。
表示されたデバイスの固有の情報を保存します。
Seeed社のReButtonの場合
「Scope ID」
「Device ID」
「Primary Key」
が必要となります。
ここまでくればAzure IoT Centralアプリ側の設定は終わりです。
あとは物理デバイス側で設定し稼働させれば、上記IDをキーにしてIoT機器からのデータをAzure IoT Centralアプリが処理してくれるわけです。
以下は、物理デバイスを登録して実際に稼働させた状態です。
シミュレータとは違い、リアルなデータが記録されているのが分かります。
以上!
活用してください!