Long Range IoT Wireless Temperature Humidity Sensor

Long Range IoT Wireless Temperature Humidity Sensor

This long range IoT wireless temperature humidity sensor was designed as a low-cost industrial solution with high accuracy and reliability. This wireless sensor is available with one of two power options, depending on your application requirements.  For those who require battery operated temperature and humidity sensing, the -B version of this sensor provides long life (300K to 400K transmissions or 5 to 8 years) with just two AA batteries.   The -E version of this sensor is powered from an external power supply, rated for 5 to 12VDC.  This wireless IoT sensor offers up to 28 miles of range when used with large outdoor antennas and a clear line of sight.  Using the included antenna, users can expect 1 to 2 miles of reliable operation in clear line of sight applications.  In urban installations, and inside building, users may achieve up to 1,000 feet of communications, depending on installation location and building materials.  This sensor supports Wireless Mesh Networking, which allows data to hop from location to location until it’s destination is located.  This IoT wireless temperature humidity sensor is very easy to interface to a PC computer, Particle Photon, Particle Electron, Onion Omega, or Raspberry Pi. Receiving data generated by this sensor requires the use of a USB wireless modem or a embedded microcontroller that supports DigiMesh 900HP-S3B wireless communications.

IoT Wireless Temperature Humidity Sensor Product

Wireless Sensor Modes

This IoT wireless temperature humidity sensor has 2 modes of operation, one is run mode and the second one is configuration mode.

Run Mode  ( Sensor data breakout)-

In the run mode the sensor will wake up after the predefined sleep time and will send a data string over the wireless network. The data string structure will look like this

7E 00 19 90 00 13 A2 00 41 5B 75 C3 FF FE C2 7F 01 01 03 AB 01 00 01 00 56 66 67 09 CA

To receive data from a wireless sensor, a USB Wireless Modem is required, and should be configured to communicate data to your PC using API mode.  API mode generates a complete data frame with complete identification data of sensors along with checksum values.

Packet Organization

A complete packet consists of a Payload wrapped in a 900HP-S3B API frame.  The entire group of bytes for each transmission is defined as the 900HP-S3B API frame.  The Payload is the data generated by our sensor.  We will define each byte of the API Frame so you can see how it all works together:

0x7E {Byte 1 – 900HP-S3B API Structure} – Header Byte, this byte is fixed and never changes.

0x00 {Byte 2 – 900HP-S3B API Structure} – MSB Number of Bytes in the Data Frame, this Value will always be 0 for this sensor.

0x19 {Byte 3 – 900HP-S3B API Structure} – LSB Number of Bytes in the Data Frame, this Value will always be 0x19 (25 Bytes) for this sensor.

0x90 {Byte 4 – 900HP-S3B API Structure} – Frame Type – This Value will not Change

0x00 {Byte 5 – 900HP-S3B API Structure} – Frame ID 0 = No Response Frame – This Value will not Change

0x13 {Byte 6 – 900HP-S3B API Structure} – Serial Number Byte 1 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0xA2 {Byte 7 – 900HP-S3B API Structure} – Serial Number Byte 2 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0x00 {Byte 8 – 900HP-S3B API Structure} – Serial Number Byte 3 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0x41 {Byte 9 – 900HP-S3B API Structure} – Serial Number Byte 4 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0x68 {Byte 10 – 900HP-S3B API Structure} – Serial Number Byte 5 of Transmitter, This Value is Defined by Each Sensor in the Network

0x63 {Byte 11 – 900HP-S3B API Structure} – Serial Number Byte 6 of Transmitter, This Value is Defined by Each Sensor in the Network

0xBA {Byte 12 – 900HP-S3B API Structure} – Serial Number Byte 7 of Transmitter, This Value is Defined by Each Sensor in the Network

0xFF {Byte 13 – 900HP-S3B API Structure} – Serial Number Byte 8 of Transmitter, This Value is Defined by Each Sensor in the Network

0xFE {Byte 14 – 900HP-S3B API Structure} – This Value will not Change

0xC2 {Byte 15 – 900HP-S3B API Structure} – This Value will not Change

0x7F {Byte 16 – 900HP-S3B API Structure – Payload Data[1]} === Payload Header byte, this byte is fixed and never changes.

0x01 {Byte 17 – 900HP-S3B API Structure – Payload Data[2]} === Node ID, this is a user programmable value that may be used to identify the sensor number.  Node ID is programmable in configuration mode.

0x01 {Byte 18 – 900HP-S3B API Structure – Payload Data[3]} === Temperature Sensor Firmware Version, 0x01 is the Release Version

0x03 {Byte 19 – 900HP-S3B API Structure – Payload Data[4]} === Battery Voltage MSB, This Value will Change based on the available Battery Life

0x63 {Byte 20 – 900HP-S3B API Structure – Payload Data[5]} === Battery Voltage LSB, This Value will Change based on the available Battery Life

0x63 {Byte 21 – 900HP-S3B API Structure – Payload Data[6]} === Data Transmit Counter, this value will constantly Increase after each Transmission from 0x00 to 0xFF.  This may be used to help identify missed transmissions.

0x00 {Byte 22 – 900HP-S3B API Structure – Payload Data[7]} === This byte is used to define the sensor type MSB, this sensor id value will always be 0x00.

0x01 {Byte 23 – 900HP-S3B API Structure – Payload Data[8]} === this byte is used to define the sensor type LSB, this sensor id value will always be 0x01.

0x03 {Byte 24 – 900HP-S3B API Structure – Payload Data[9]} === Reserved

0x01 {Byte 25 – 900HP-S3B API Structure – Payload Data[10]} === Humidity MSB

0xA4 {Byte 26 – 900HP-S3B API Structure – Payload Data[11]} === Humidity LSB

0x00 {Byte 27 – 900HP-S3B API Structure – Payload Data[12]} === Temperature MSB

0x00 {Byte 28 – 900HP-S3B API Structure – Payload Data[13]} === Temperature LSB

0x10 {Byte 29 – 900HP-S3B API Structure – Checksum = 255 – (8-Bit Sum of Bytes 4 through 28)

 

To convert raw data values into temperature humidity values, use the following formula:

float humidity = ((((data[10] ) * 256) + data[11]) / 100.0) ;
float cTemp = (((data[12] * 256) + (data[13] )) / 100.0;)
float fTemp = cTemp * 1.8 + 32;

To convert raw voltage into battery voltage, use the following formula:

float battery = ((data[4] * 256) + data[5]);
float voltage = 0.00322 * battery;

When the sensor reboots and its in run mode it will send the following string, which indicates that sensor is in run mode:

wireless temperature humidity sensor module

Example Data In API mode

7E 00 19 90 00 13 A2 00 41 5B 75 C3 FF FE C2 7F 01 01 03 AB 01 00 01 00 56 66 67 09 CA

Sensor Address: 00 13 A2 00 41 5B 75 C3

Sensor Data: 7F 01 01 03 AB 01 00 01 00 56 66 67 09

wireless temperature humidity sensor

To configure the wireless temperature humidity  sensor, check out how to configure wireless sensor article

Labview utility for wireless temperature humidity sensor can be found over here

Wireless Sensor LabView Utility 

wireless temperature humidity sensor labiew driver

See Also: How to Configure Wireless Sensors

This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation.

If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:

  • Re-orient or relocate the receiving antenna.
  • Increase the separation between the equipment and receiver.
  • Connect equipment and receiver to outlets on different circuits.
  • Consult the dealer or an experienced radio/TV technician for help.

CAUTION! To satisfy FCC RF exposure requirements for mobile transmitting devices, a separation distance of 20 cm or more should be maintained between the antenna of this device and persons during device operation. To ensure compliance, operations at closer than this distance is not recommended. The antenna used for this transmitter must not be co-located in conjunction with any other antenna or transmitter.