はじめに
このプロジェクトでは、Zigbee無線技術を利用した遠隔圧力、温度および湿度屋外センサの実装例について詳しく説明します。センサはZigbeeネットワークのルータとして設定され、定期的に圧力、湿度、温度の測定値を読み取り、Zigbeeコーディネータに送信します。プロジェクトの一環として、センサとのインターフェースを行う汎用的な屋外対応Zigbee無線プラットフォームが開発されました。実施例では、DigiのXbee3 ZigbeeモジュールがTE MS8607センサと通信するためにMicroPythonスクリプトを実行してPTH測定を行い、無線Zigbeeネットワークで送信します。
ハードウェア要件
Zigbee無線プラットフォーム
-
Digi XB3-24Z8US-J Digi XBee3 RFモジュール(Digi-Key)
-
Digi XBee SMT Grove開発ボード(Digi-Key)
-
Bud PN-1323-CMB エンクロージャ(Digi-Key)
-
TE M8 オス4極パネルマウントコネクタ 、リード線付(Digi-Key)
-
TE M8 オス3極パネルマウントコネクタ、リード線付(Digi-Key)
-
TE M8 メス3極コネクタ、ケーブルアセンブリ(Digi-Key)
-
Adafruit JST 2ピン コネクタケーブル(Digi-Key)
-
Amphenol 336320-12-0250 u.FL - RP-SMA アダプタ(Digi-Key)
-
Digi A24-HASM-450 アンテナ(Digi-Key)
PTHセンサ
-
TE Grove MS8607 評価ボード(Digi-Key)
-
Hammond 1591XXMFLGY エンクロージャ(Digi-Key)
-
TE M8 メス4極コネクタ、ケーブルアセンブリ(Digi-Key)
共通ハードウェア
- グローブ 4ピンコネクタ、ケーブルアセンブリ(Digi-Key)
サプライヤのドキュメント
- Digi XBee3 Zigbee 3.0 Module User Guide
- Digi Digi MicroPython Programming Guide
- Digi Xbee Grove Development Board User Guide
- TE Connectivity MS8607 PHT Combination Sensor Data Sheet
ハードウェアのセットアップ
Zigbee屋外用無線プラットフォーム
Zigbee無線プラットフォームは、Bud IndustriesのIP65規格のエンクロージャに搭載されたDigi Xbee3無線モジュール(Xbee Groveボードに挿入)を使用しており、そのため屋外に設置することができます。 エンクロージャは、2つのTE ConnectivityのM8パネルマウントコネクタとAmphenolの外部アンテナアダプタを収容するように改造されています。1つのM8は5V電源に、もう1つのM8はI2C外部センサにインターフェースされています。Xbee Groveボードと、外部電源およびI2Cバスとのインターフェースを提供するために、GroveおよびJSTコネクタからM8コネクタへのケーブルアセンブリを製作しました。
屋外PTHセンサ
PTHセンサは、MS8607 Grove評価ボードとM8 4ピンコネクタケーブルアセンブリが組み込まれたハモンドエンクロージャで構成されています。M8ケーブルは、MS8607に電源、グランド、I2Cインターフェースを提供します。PTHセンサケーブルのM8コネクタ側は、Zigbee無線プラットフォームのM8 I2Cコネクタに接続されます。 Hammondのエンクロージャは、M8ケーブルアセンブリを収納できるように改造され、センサの周囲に外気が循環するようにカバーに穴が開けられています。
電気接続と配線図
部品表(BOM)を含むScheme-itプロジェクトの全容は次のリンク先でご覧ください。https://www.digikey.com/schemeit/project/xbee3-pth-sensor-LFT3E4O500Q0
サンプルコード
Xbee 3ワイヤレスモジュールは、MS8607センサとI2Cで通信し、Zigbeeワイヤレスネットワークでデータを送信するMicroPythonスクリプトを実行します。サンプルコードは、I2Cバスをスキャンしてアクティブアドレスを表示し、センサをリセットし、オンボードPROMに保存された校正データを読み取り、連続ループで気圧、温度、そして湿度を読み取り、変換を行います。スクリプトはまた、Zigbeeネットワークの接続を確認し、Zigbeeネットワーク経由でセンサデータをあらかじめ設定されたZigbeeコーディネータに送信します。最新版のサンプルコードはこちらです。
Xbee3-MicroPython/Zigbee_MS8607_i2c_rev1.py at master · eewiki/Xbee3-MicroPython · GitHub
FOTA(Firmware Over The Air)アップデート
DigiのZigbee Xbee3モジュールは、ファームウェアとアプリケーションのファイルシステムFOTAをサポートしています。FOTAにより、ユーザーは同じネットワーク内の別のZigbeeノードから無線ファームウェアとMicropythonアプリケーションの両方をリモートで更新することができます。FOTAの実装に関する情報と動作例は、eeWikiのプロジェクトXbee3 Firmware Over The Air (FOTA) update using XCTUに記載されています。
TE Connectivity MS8607センサの計算のバックグラウンド
設定および計算は、以下のMS8607-02BA01のデータシートに基づいています。
圧力と温度の計算
温度による2次補正