You dont have javascript enabled! Please enable it!
Tech

FIWARE IoT Agent for Ultralight 2.0 対応デバイスの作成

FIWARE IoT Agent for Ultralight 2.0 対応デバイス

以前の記事では、FIWARE Orion に直接アクセスして、エンティティ情報を更新しました。FIWARE には、IoT Agent と呼ばれる、既存の IoT プロトコルと NGSI の橋渡しをする Generic Enabler があります。これを利用すると、既存 IoT プロトコルを使用して、エンティティ情報を更新することができます。各種 IoT プロトコルに対応した、複数の IoT Agent があり、IDAS (IoT Device Agent Suites) と呼ばれています。

本記事では、IoT Agent for Ultralight 2.0 を使用して、温度、湿度、気圧の情報を定期的に、FIWARE Orion にプッシュし、コンテキスト情報を更新する、IoT デバイスを作成します。Ultralight 2.0 は、帯域幅やデバイスのメモリが制限された、制約のあるデバイスとの通信を目的とした、軽量のテキスト・ベースのプロトコルです。

サーバ側には、Orion と IoT Agent for Ultralight 2.0 をデプロイします。デバイスには、IoT マイコンの ESP32 を使用し、Ultralight 2.0 に対応したデバイスを作成します。

サーバ環境の作成

Orion と IoT Agent for Ultralight 2.0 は、Docker コンテナを利用して、サーバ上にデプロイします。docker-compose ファイルは次のとおりです。

正常性の確認

Orion のバージョン取得や、IoT Agent に次のクエリを実行して、正しくデプロイされたことを確認してください。(サーバの IP アドレスを 192.168.1.1 として説明しています)

curl -X GET http://192.168.1.1:4041/iot/about

次のようなレスポンスが返ってくることを確認してください。

Ultralight 2.0 対応デバイスの作成

ESP32 を利用して、Ultralight 2.0 対応デバイスの作成します。プログラムは次のとおりです。このプログラムのポイントは、loop() 関数のなかで、センサからデータを取得し、Ultralight 2.0 のペイロードを作成し、IoT Agent に送信している部分です。これで一定間隔で、温湿度、気圧の情報を IoT Agent に送信されます。

IoT デバイスの接続

IoT デバイスにプロビジョニングします。最初にサービス・グループをプロビジョニングし、次にデバイスをプロビジョニングします。

サービス・グループのプロビジョニング

デバイスのプロビジョニング

動的な属性値として、温度、湿度、気圧、取得時刻を、静的な属性値として位置情報をもつデバイスとしてプロビジョニングします。

センサデータの送信

サーバ環境の作成、デバイスのプロビジョニングが完了したら、デバイスの電源をオンにします。ESP32 のシリアルから次のような出力があれば、IoT Agent に正しくデータが送信できています。

コンテキス情報の確認

Orion に対してクエリを実行して、コンテキスト情報が正しく更新されているかを確認します。

GET orion:/v2/entities/urn:ngsd-ld:Sensor:001?type=Sensor

クエリ

実行結果

実行結果 (keyValues)

FIWARE Orion で LチカFIWARE Orion で Lチカする Lチカ (エルチカ) とは、プログラムから LED を制御してチカチカと点滅させる操作のこと...
error: Alert: Content is protected !!