-shared-img-thumb-C789_keitainotepen_TP_V3

Wio NodeではじめるIoT

1. はじめに

最近、IoT(Internet of Things : モノのインターネット)がブームになっており、実際に部屋の温湿度や明るさ等をセンサーを使って取得してみたいと思う方も増えてきていると思います。

一方、「電子工作や組み込みプログラミングは苦手だ」とか、「どうはじめてよいかわらない」ということで、実際にやってみることを踏みとどまっている方もいらっしゃるかと思います。

今回は、そういう方でも簡単にIoTが体験できる、Wio Nodeをご紹介します。

2. Wio Nodeってなに?

ざっくりいうと、センサー類を繋いでWiFiでネットワークに接続し、REST APIで値の取得・制御を行えるモジュールのことです。

実物はこちら。

Wio Nodeの実物
Wio Nodeの実物(真ん中の四角いのが本体、一番左は外箱、一番右は大きさを比較するために置いた単三電池)

特徴は以下です。

Wio Node + Groveシステムを使えば、プログラミングやハンダ付けなしに、センサー/モータ/LEDを制御ができるようになります。

欠点は、Groveシステムの各デバイスが若干お高めな点でしょうか。ただ、手間を考えるとそこまで高いというわけではないでしょう。

3. やってみよう

3.1. Wio Nodeの設定

今回は、以下の2つのGroveシステムのセンサーをつかってみます。

  • デジタル温度・湿度センサ(Temp&Humi Sensor)
    温度・湿度を取得可能です。
    ※温湿度センサーとしては安価なタイプなので精度はあまり高くないのに注意
  • 光センサ(Light Sensor)
    明るさを取得可能です。
一式
一式(Grove用のケーブル2本、左からWio Node, デジタル温度・湿度センサ, 光センサー)

Wio Nodeには、センサ類を接続する口は2つあります。左がPORT0、右がPORT1となります。(後述する設定アプリでの記載でそうなっています)

Wio Nodeの接続口

真ん中、下側に口があるのはバッテリ(LiPoバッテリー)用です。今回はUSBから電源をとることにするので、この口は使用しません。
※USB電流チェッカーで測定したところ、1時間で約80mAhとのことなのでバッテリでの長時間運用は難しそう

PORT0とPORT1では接続できるGroveシステムの種類が若干異なることに注意です。PORT0はUART/I2C/GPIO、PORT1はアナログ/I2C/GPIOが接続可能です。
※UART? I2C? GPIO?と思った方もいらっしゃるかもしれませんが、すいません、今回は説明をとばします。

光センサはアナログなのでPORT1につなぎます。デジタル温度・湿度センサはGPIOなのでPORT0/PORT1どちらでもいいですが、光センサがPORT1にしかつなげないので、今回はPORT0につなぎます。

接続した状態
接続した状態

この状態で、micro USBを接続して電源を入れます。

3.2. スマホアプリからの設定(WiFi設定)

次に、スマホアプリからWio NodeのWiFiの設定(初回のみ)と、接続したGroveシステムに対応したFarmwareの作成とWio Nodeのインストールを行います。

まずは、設定アプリをスマホにインストールします。
(今回はiPhoneで行いました)

Wio Linkというアプリをインストールします。

WioLink

アプリを起動してユーザ登録(メールアドレスが必要)、ログインします。

その後表示される画面で、右上の+を選びWio Nodeを選択します。

ノード登録
ノード登録

次に以下の画面が表示されたら、Wio NodeのFuncボタンを長押します。

WiFi設定
WiFi選択

するとボタンの横の青のLEDがゆっくり点灯に変化します。この状態の時、Wio NodeはWiFiのアクセスポイントとして動作します。

システムの設定からWi-Fiリストを表示し、その中からWio_XXXXXXを選んで接続します。その後、アプリに戻って”Goto wifi list”のボタンを押し、つなぎたいWiFiを選びます。

WiFi設定
WiFi設定

接続するWiFiのパスワードとWio Nodeの名称(ここではWio01とします)を入力し”Join”を押すと、Wio Nodeに設定が反映され、指定したWiFiに接続されます。

WiFi設定の完了
WiFi設定の完了

3.3. スマホアプリからの設定(Firmware生成)

上手くWiFiが設定できると、アプリの画面上に先ほど設定した名称でWio Nodeが登録されており、Onlineと表示されます。

WioNodeのリスト
WioNodeのリスト

Wio01を選択すると設定画面が表示されます。

Wio Nodeの設定
Wio Nodeの設定

まずはPORT0を選択し、GPIOを選択します。

PORT0を選択
PORT0を選択

Groveシステムのリストがでますので、

Groveシステムの一覧
Groveシステムの一覧

該当するものがあるかを探して、選択します。

デジタル温度・湿度センサーを追加
デジタル温度・湿度センサを追加

次の光センサをPORT1に追加します。

汎用のアナログ入力を選択
汎用のアナログ入力を選択

ただし、光センサはGroveシステムのリストにはないので、汎用のアナログ入力(Generic Analog Input)を選択します。この場合、センサから取得される値は、センサからの値がそのまま取得する形となります。おそらく、リストにあるものは、クラウド側で値を変換してくれるのではないかと思います。

光センサの設定
光センサの設定

これで設定ができたので、次に”update Firmware”を選択すると、

Firmwareの作成と登録
Firmwareの作成

対応したFirmwareを作成して登録してくれます。

Firemwareの登録完了
Firemwareの登録完了

以上で準備は整いました。

4. 値を取得する。

“API”ボタンを選択すると、

REST API
REST API

対応する値を取得するためのREST APIのリストが表示されます。

おそらく、access_tokenの値(グレーで塗りつぶした部分)で各Wio Nodeを識別しているのでしょう。

この画面の”GET”ボタンを押すことで値を取得できます。

光センサの値を取得
光センサの値を取得

親切に、curlでの値の取得方法も記載してくれています。Responseの値が取得された情報です。

温度の場合は、

温度の取得結果
温度の取得結果

と、ちゃんとセ氏で値を取得できます。ちなみにカ氏で取得するAPIもあります。

5. 最後に

以上のように、プログラミングやはんだ付けが全くおこなわずにセンサの値が取得できます。

これは非常に便利ですね。

是非皆さまのチャレンジしてみて、おうちハックのよき道具としてお使いください。※私はSeeedStuioの人ではないです^^;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です