ZigbeeからWiFiへのセンサブリッジを備えたMachinechat

このプロジェクトでは、Digi Xbee3ワイヤレスZigbeeモジュールとSparkfun ESP32 ThingPlusボードを使用して、ZigbeeからWiFiへのブリッジを実装します。このブリッジは、ZigbeeセンサのデータをWiFi経由でIoTプラットフォームMachinechat JEDI Oneへ渡します。ブリッジでは、Xbee3モジュールをZigbeeコーディネータとして構成し、受信したセンサデータをUARTでESP32 ThingPlusにエコー送信します。ESP32は受信したUARTデータを読み込み、センサデータをjson文字列にパースしてWiFiでJEDI Oneに送信します。Xbee3のアプリケーションコードはMicroPythonで、ESP32のアプリケーションコードはArduinoで実装されています。

.

zigbeeからWiFiへのブリッジの接続図と部品表は、scheme-itプロジェクトのzigbee_wifi_bridgeに含まれています。

テスト用に、Amphenolの温度/湿度センサT9602をZigbeeルータとして構成された2番目のXbee3無線モジュールに接続し、プロジェクト用のセンサデータを提供しています。

zigbeeセンサT9602の接続図と部品表は、scheme-itプロジェクトXB3_T9602に含まれています。

Machinechat JEDI IoTプラットフォームは、T9602のセンサデータを表示・監視するように構成されています。

ソフトウェア:

プロジェクトに使用する部品:

ESP32ボード

DigiのXbee 3 Zigbeeモジュールとアンテナ(2個)

Amphenolの温湿度センサT9602

Sparkfun ESP32 ThingPlus Arduino WiFiブリッジプロジェクトの詳細

このArduinoプロジェクトでは、ESP32ボードがXbee 3 ZigbeeコーディネータからUART経由でセンサデータを受信するように設定されています。ESP32はセンサデータを読み取り、json文字列にパースしてWiFi経由でJEDI Oneに送信し、処理を行います。

Arduinoの「Additional Boards Managers URLs」フィールドに以下のリンクを入力し、ESP32のサポートを追加します。

https://dl.espressif.com/dl/package_esp32_index.json

ボードのセットアップについては、こちらをご参照ください:

Arduinoソフトウェアのセットアップの詳細については、こちらをご参照ください:

Arduinoのライブラリマネージャからこれらのライブラリを追加します:

JEDI oneに送信されるT9602センサデータのjson文字列の例:

{“context”:{“target_id”:“T960AAC9AD”},“data”:{“data2”:59,“data3”:0,“data1”:32}}

Arduinoのスケッチ「esp32_WiFi_zigbee.ino」とソースコードは、以下のGithubリンクにあります。

Githubリンク:https://github.com/eewiki/machinechat/tree/master/Zigbee%20WiFi%20Bridge

Digi Xbee3 MicroPython WiFiブリッジプロジェクトの詳細

このMicroPythonプロジェクトでは、第1のXbee3モジュールはMicroPython REPLモードを有効にしてZigbeeコーディネータとして構成されています。Xbee3コーディネータはZigbeeネットワークを確立し、受信したセンサデータをUART経由でESP32に送信します。

ZigbeeセンサT9602のデータメッセージがUART経由でESP32に送信された例:

MsgFrom:0013A20041AAC9AD:T9602:810155769:Humidity:34.60083%:Temp:60.87921F:#

MicroPythonのソースコード「ZigbeeCoordEchoServer.py」は、以下のGithubリンクにあります。

Githubリンク:Xbee3-MicroPython/WeatherCenter at master · eewiki/Xbee3-MicroPython · GitHub

Digi Xbee3 MicroPython T9602センサプロジェクトの詳細

このMicroPythonプロジェクトでは、第2のXbee3モジュールは、ブリッジで使用されるXbee3コーディネータと同じネットワークIDを持つZigbeeルータとして設定され、MicroPython REPLモードが有効になっています。センサと実装の詳細については、eewikiのプロジェクトXbee3 Micropython and Amphenol T9602 Humidity Temperature Sensorをご参照ください。

MicroPythonのソースコード「T9602home_r1.py」は、以下のGithubリンクにあります。

Githubリンク:Xbee3-MicroPython/WeatherCenter at master · eewiki/Xbee3-MicroPython · GitHub

参考資料




オリジナル・ソース(English)