This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Humidity Temperature value displayed wrongly

Hi, I am interfacing a temperature and humidity sensor (si7021) to Nordic nRF52 development kit board. The sensor works fine and I can read accurate temperature (23 degree Celcius) and RH (44%) values. But when I transfer those values over BLE using s132 softdevice to a cell phone, the values of RH and temperature displayed on "nRF Connect" app are 626.67% and 62 degree Celsius respectively. I am using "Environmental Sensing" service (UUID 0x181A) and the RH (name: Humidity, UUID: 0x2A6F) and temperature (name: Temperature Measurement, UUID: 0x2A1C) characteristics represented by this service. Both the services and characteristics get discovered on connection (as shown in Discover.png) and the value transmitted for RH is shown in "RH_value.png". Please let me know what is wrong. Thank you.Discover.png RH_value.png

Parents
  • I checked with the BLE specs and did confirm that I am sending the correct value. I also noticed that Nordic does not support environmental sensing service. The ESS service requires many descriptors (like ES Measurement, ES Trigger Setting etc.) which are not present in the SDK. This service will not work with only the Client Characteristic Configuration Descriptor. The difference in values could be because of that. Roger, any ideas or comments on this?

Reply
  • I checked with the BLE specs and did confirm that I am sending the correct value. I also noticed that Nordic does not support environmental sensing service. The ESS service requires many descriptors (like ES Measurement, ES Trigger Setting etc.) which are not present in the SDK. This service will not work with only the Client Characteristic Configuration Descriptor. The difference in values could be because of that. Roger, any ideas or comments on this?

Children
No Data
Related