You dont have javascript enabled! Please enable it!
Tech

ESP32 を使って FIWARE 対応 IoT デバイスを作成

ESP32 とは

ESP32 は、Raspberry Pi や Arduino に続く、新たな IoT マイコンとして注目されています。Wi-Fi, Bluetooth を内蔵しているため、追加の部品なしで、ネットワークに接続することができます。ESP32 の開発ボードである、ESP-DevKitC は、USB-シリアル変換回路を搭載しているので、パソコンから USB 経由でプログラムを書き込むことができます。入手性もよく、秋葉原や電子部品のネット通販を利用して、千数百円程度で入手できます。

本記事では、ESP-DevKitC を使って、FIWARE Orion のバージョンを取得して、ESP32 のシリアルモニタに出力するプログラムを紹介します。ESP32 は、Arduino ではありませんが、Arduino core for ESP32 を利用すると、Arduino IDE を使用して、プログラムを作成して、ESP32に書き込むことができます。プログラムの実行の前に、Arduino IDE の ボードマネージャで、Arduino core for ESP32 をインストールしてください。

FIWARE Orion のバージョンを取得

FIWARE Orion のバージョンを取得するためには、Orion に対して以下のリクエストを実行します。

GET /version

crul で実行結果は以下のようになります。

ESP32 で Orion のバージョンを取得

ESP32 で Orion のバージョンを取得するためには、最初に、Orion にアクセスできるネットワークに接続して、その後、Orion にリクエストを実行します。実際のプログラムは以下です。

このプログラムのポイントは以下の2点です。

  1. connectWiFi() – WiFi ネットワークに接続
  2. getOrionVersion() – Orion のバージョンを取得

connectWiFi() では、ESP32 の WiFi ライブラリを使用して、ESP32 を WiFi ネットワークに接続しています。getOrionVersion() では、HTTPClient ライブラリを使用して、Orion に対して GET リクエストを実行しています。

  • ソースコードのダウンロード
  • プログラムの実行

    プログラムの実行の前に、環境に依存するパラメータを変更する必要があります。WiFi ルータに接続するための、ssid とpassword、および、Orion の IP アドレスを設定してください。

    char ssid[] = “your ssid”;
    char password[] = “your password”;
    char orion[] = “http://ip address:1026/version”;

    実行結果は、シリアルモニタに表示されます。以下のようなものです。

    トラブルシューティング

    プログラムがうまく動作しない時は、次の点を確認させてください。

    Start が表示されない

    プログラムの書き込みに失敗しているか、シリアルが未接続の可能性あります。プログラムが正しく書き込めているか確認してください。シリアル接続は Upload speed などを確認してください。

    Connected が表示されない

    WiFi 接続が失敗している可能性があります。ssid や その password および、WiFi ルーター等の設定を確認してください。

    Orion のバージョンが表示されない

    Orion へのリクエストが失敗している可能性があります。Orion の IP アドレスやポートを確認してください。また、WiFi で接続したネットワークから Orion にアクセスできるか確認してください。

    コンテキスト・プロデューサ型の FIWARE 対応 IoT デバイスContext Producer (CP) コンテキスト・プロデューサは、コンテキスト情報を生成することができるアクターです。基本的な...
    コンテキスト・プロバイダ型の FIWARE 対応 IoT デバイスContext Provider (CPr) コンテキスト・プロバイダ (CPr) は、コンテキスト・プロデューサ (CP) の特別な...