「空気線図プロッタを使用したリアルタイム観測システムの構築」と似ていますが、AM2302の温湿度測定データを空気線図上でリアルタイムに観測するシステムを「さくらの通信モジュール」を使用して構築します。いわば、「さくらのIoT版空気線図リアルタイム観測システム」です。 (さくらインターネットでは「さくらのIoT」から「sakura.io」に名称変更していますが、ここでの説明は「さくらのIoT」と表記します) |
ハードウェアに通信モジュールを接続し、通信モジュールがデータをさくらインターネットのデータセンターに送信し、PCやスマホ等のソフトウェア上でデータを受信するのが大まかな流れになります。 |
製作段階は以下の2段階で、ハードウェア・ソフトウェア(モノ・コト)を実装していきます。 1.ハードウェア側(モノの側) →ここで、AM2302の温湿度測定データをさくらの通信モジュールで送信するところまでを作ります。 Arduino Unoへの組み込みプログラミングで実装します。 2.ソフトウェア側(コトの側) →さくらインターネットのデータセンターに送られたAM2302の温湿度測定データをPCで受信して、空気線図上にプロットします。今回はJavaScriptで作成しました。 |
今回使用する基板です。2枚に見えますがArduinoシールドボードにさくらの通信モジュールを接続しているので3枚の基板が必要です。 |
ArduinoUnoとArduinoシールドボードを接続し、Arduinoシールドボードにさくらの通信モジュールを接続します。 基板が3枚重ねになる形になります。アンテナなどはさくらインターネットで配布しているマニュアルにしたがって取り付けてください。 |
今回使用するAM2302センサと接続に必要なコネクタ・抵抗(5.1[kΩ])の写真です。 |
Arduinoシールドボードに取り付けられるようにケーブルを作成します。 |
Arduinoシールドボードにセンサを取り付けました。テスト用なのでケーブルの長さもこれくらいでよいです。 |
回路図的にはこの図のようになります。センサの信号線は2番ピンと3番ピンに信号線を取り付けます。5Vピンが一つしかないので分岐して2つのセンサに給電できるようにしています。 |
プログラムを作成し、Arduinoに書き込みます。 さくらインターネットで用意しているライブラリがあるのでそれを適用するのをお忘れなく。 ここまでくると、ハードウェアの構築というよりかは、"ハードウェアをソフトウェアとして扱う段階"という感じがします。 ここまで出来たら、ハードウェア側は終わりです。 |
ソフトウェア側 データセンターに送信された温湿度データをソフトウェア側で取り出すのにWebSocketを使用します。WebSocketが一番簡単に実装できそうなのがJavaScriptでしたので、JavaScriptで ・データの受信 ・空気線図の描画 ・測定データのプロット を行うソフトウェアの開発を行います。 空気線図の描画処理のプログラムは空気線図プロッタとほとんど同じ流れで書いています。 |
ハードウェア側 ・回路図どおりに結線し、電源を入れます。 ・プログラムどおりですと、3秒に1回温湿度データをデータセンターに送ります。 ソフトウェア側 ・「さくらのIoT版 空気線図観測システム」のページを開きます。 ・WebSocketの「接続先URI」にWebSocketのURLを入力します。(さくらインターネットのWebSocketの設定ページからそのままコピペします) ・「接続」ボタンを押し、接続が確立されるとデータセンターから温湿度測定データを受信し、空気線図上にプロットしていきます。 ※「切断」ボタンを押すとWebSocketを切断しますが、当然ですがハードウェア側からの送信は続いています。 |
○まとめ ・システムとしては非常に小規模な実験作ですが、ハードウェア側(モノ側)・ソフトウェア側(コト側)を構築さえ出来ればIoTシステムが構築できます。 ・データの通信の部分はさくらのIoT通信モジュールと、そのバックグラウンドのさくらインターネットのシステムが全て受け持ってくれるので、 上記ハードウェア・ソフトウェアの製作のみを考えれば良いのも大きなメリットです。 ・IEEE1888学習キットを使用した場合と似てますが、通信関係の処理はさくらのIoTの方がわかりやすいです。・・・というか、ほぼ考えなくて良いです。 IEEE1888学習キットの方は通信(データの送信・受信共に)のためのプログラミングを理解する必要があります。 ・真面目な使い方を考えますと、(ハードウェア側)例えば自宅の各部屋に温湿度センサーを取り付けてさくらの通信モジュールと接続し、 (ソフトウェア側)例えば自宅平面図の画像データを用意して、温湿度センサを取り付けた各部屋の画像上に温湿度の値を表示するようなソフトを作れば、自宅の温湿度管理IoTシステムを作ることができそうです。 ・今回さくらのIoTに触れて感じたこととしては、ソフトウェア側でソフトをいかにユーザーに優しく作るかが大事なのはもちろんとして、 ハードウェア側にどんなセンサー類を搭載して、そのハードウェアをソフトウェアとしてどのように扱いたいのか(ハードウェアの ソフトウェア定義化とでも言いましょうか)を決めることがIoTでは肝となるのではないかなと感じます。 |