Child pages
  • Xbee3 Zigbee Outdoor MS8607 Pressure Temperature Humidity (PTH) Sensor

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section


Column
width30%
Table of Contents


Column
width70%


Introduction

This project details an example implementation of a Zigbee radio based remote pressure, temperature and humidity outdoor sensor. The sensor is set up as a router in a Zigbee network, takes regular pressure, humidity, temperature readings and sends to the Zigbee coordinator. As part of the project a general purpose outdoor capable Zigbee radio platform was developed to interface with the sensor. For the  working example, Digi's Xbee3 Zigbee module runs a MicroPython script to communicate with  a TE MS8607 sensor to perform the PTH measurements and send over the wireless Zigbee network. 

Hardware Requirements

Section

Zigbee Radio Platform


PTH Sensor

Common Hardware


Supplier Documentation

Section


Hardware Setup

Section


Column
width40%

Zigbee Outdoor Radio Platform

The Zigbee radio platform uses a Digi Xbee3 wireless module (inserted in a Xbee Grove board) mounted in a Bud IP65 rated enclosure so it can be placed outdoors. The enclosure was modified to accommodate two TE Connectivity M8 panel mount connectors and an Amphenol external antenna adapter. One M8 interfaces to 5V power and the other M8 interfaces to the I2C external sensor interface. Grove and JST to M8 connector cable assemblies were built to provide the interface between the Xbee Grove board and external power and I2C bus.


Column
width60%



Section


Column
width40%

Outdoor PTH Sensor

The PTH sensor is made up of an MS8607 Grove evaluation board inside a Hammond enclosure with an integrated M8 4 pin connector cable assembly. The M8 cable provides power, ground and I2C interface to the MS8607. The M8 connector side of the PHT sensor cable connects to the M8 I2C connector on the Zigbee Radio Platform. The Hammond enclosure was modified to accommodate the M8 cable assembly and holes were drilled in the cover to allow ambient air to circulate around the sensor.


Column
width60%



Electrical Connections and Wiring Diagram

Section




Full scheme-it project including BOM is at link https://www.digikey.com/schemeit/project/xbee3-pth-sensor-LFT3E4O500Q0


Example Code

Section


Column
width100%

The Xbee 3 wireless module runs a MicroPython script that communicates with the MS8607 sensor over I2C and sends data over the Zigbee wireless network. The example code scans the I2C bus and prints active addresses, resets the sensor, reads calibration data stored in onboard PROM and reads/converts barometric pressure, temperature and humidity in a continuous loop. The script also checks the Zigbee network connection and sends the sensor data over the Zigbee network to the pre-configured Zigbee coordinator. Latest version example code is on https://github.com/eewiki/Xbee3-MicroPython/blob/master/samples/Zigbee_MS8607_i2c_rev1.py .



FOTA (Firmware Over The Air) Update

Section


Column
width100%

Digi Zigbee Xbee3 modules support firmware and application file system FOTA. FOTA allows a user to remotely update both the radio firmware and Micropython application from another Zigbee node in the same network. This is a very useful capability. Information on implementing FOTA and a working example is found in the eeWiki project Xbee3 Firmware Over The Air (FOTA) update using XCTU .



TE Connectivity MS8607 Sensor Calculation Background

Configuration settings and calculations used are based on MS8607-02BA01 datasheet per below:

Section

Pressure and Temperature Calculation


Column
width100%



Section

Second Order Compensation Over Temperature

Column
width100%




Comments

Section

Any questions or comments please go to our TechForum: TechForum