1. Ask Simple Hardware
  2. Verticals/whitepapers

Temperature (cold chain) monitoring whitepaper

Description of IoT implementation in the cold chain industry.

We support temperature monitoring in:

  • different precision possibilities
  • different devices
  • different business logics
  • different price points

Temperature monitoring can also be combined with other sensor readings:

  • door opening (light, reed contact, magnetometer or accelerometer)
  • tilt detection (accelerometer)
  • movement (accelerometer)
  • button press
  • position/location (from 2m to 1km+ precision)

 

Please contact us to find the best solution for you if you want to combine sensors.

Precision and resolution/sensors

All our devices are capable of measuring temperature on accelerometer and/or MCU.

The precision is 2°C-3°C which is ok for use cases where you want to monitor abnormal situations. We call it “ambi” temperature.

For example, the SimpleLeak that can report freezing, when the room temperature is above normal or whether there’s a fire starting (temperature thresholds or changes can be defined by downlinks).

 

SimplePacks can be equipped with a dedicated temperature and humidity sensor with a precision of 0,5°C.

We call it “precise” temperature.

See the datasheet of the sensor here.

API 6 currently supports a resolution of 0,5°C in the range of -40°C to 87.5°C.

If the regulation concerning the use case would require a higher resolution please let us know.

Overview of the devices

SimpleLeak - ambi temp only

 

SimplePack 3.0 Basic - ambi and precise

SimplePack 3.0 Temp - ambi and precise (Minimal Order Quantity/MOQ is 300)

SimplePack 3.0 Full - ambi and precise plus other sensors

 

SimplePack 3.0 Plus Basic - ambi

SimplePack 3.0 Plus Temp - ambi and precise (Minimal Order Quantity/MOQ is 300)

SimplePack 3.0 Plus Full - ambi and precise (and much more sensors)

 

SimpleMeter - precise (new product coming in October 2019)

Positioning the device

The SimpleLeak is dust, air and waterproof, therefore any temperature change outside will take some time to be noticed inside the device.

You can also measure temperature inside pipes by positioning the SimplePack on a pipe using a non-metallic duct tape and correlating the known water temperature with the one measured outside the pipe using simple math operations.

Overview of business logic

IoT devices (sensors) should behave the same way as human senses. Report only relevant information, changes and thresholds and more.

 

The easiest way to receive temperature from your device is to set up the appended payload register 0x0D to send you temperature and/or humidity (bits 6 and 3 - the register value would be 0x40 for temperature, 0x48 for temperature and humidity and 0x08 for humidity only). This will send you the temperature anytime an event is sent (the event hex has to be from 0x00 to 0x7F). This is random as the events sent are not regular but triggered by other factors different from time.

You can also receive regular temperature updates in a time interval from 1 second to 63 days by setting up a heartbeat and appending temperature and/or humidity to it. You can do this with Heartbeats 1 and 2 only. There are two downlink registers (0x09 a 0x0C) that work with heartbeat appended payload and their values are identical to the values of normal appended payload (see the paragraph above).

But we offer four user modes (and WiFi-enabled versions of some of them) focused on reporting temperature where the data you receive can be much more complex::

  1. You decide whether you want to be notified if the temperature changes by a definable variance from the last measured value or you can be notified when the temperature crosses three definable thresholds (-40°C to 87,5°C).
  2. You decide whether single alert per message is fine to have in one byte or if you want history to be sent (pipeline of the measurement with time/redundancy) in case the measurement happens in a place without good or any Sigfox coverage.

Description of the modes

Temperature exception alert 

In this mode, you set 3 temperature thresholds and optional hysteresis. Temperature is measured every 3 minutes in default but you can define your own measurement period.

If any of the three thresholds is crossed either way, an uplink message is sent. If the temperature keeps hovering around any of the thresholds, the hysteresis will prevent pointless messages to be sent as only temperature higher or lower than the previous by the hysteresis value will be reported.

In default settings, temperature is appended to every message as appended payload. 

The message looks like this (the relevant uplink event hex are from 0x50 to 0x55):
mode - event - appended payload mask - temperature byte

 

Temperature exception history

The device will send you last 5 measured temperature exceptions with respective time. The message will first report the last measured temperature with 0 minutes and then the one before it and how long it occurred before the final measurement (from the 0 minutes). The temperatures will be recorded only when they cross one of the three thresholds either way. The message looks like this (the relevant uplink event hex is 0x84):

Mode - event - temperature 5 - time 5 - temperature 4 - time 4 - temperature 3 - time 3 - temperature 2 - time 2 - temperature 1 - time 1

 

Temperature change alert

In this mode, you set up a temperature delta. The temperature is sampled every minute i default. The event is triggered by the measured temperature being different from the last one by X. This variance is called delta and can be adjusted. In default settings, temperature is appended to every message as appended payload.
The message looks like this (the relevant uplink event hex is 0x56):

Mode - alert - appended payload mask - temperature byte

 

Temperature change history

The message will first report the last measured temperature with 0 minutes and then the one before it and how long it occurred before the final measurement (from the 0 minutes). The temperatures will be recorded only when they are outside the delta window (between the last measured temperature and the last measured temperature +/- the predefined delta).
The message looks like this (the relevant uplink event hex is 0x85):

Mode - event - temperature 5 - time 5 - temperature 4 - time 4 - temperature 3 - time 3 - temperature 2 - time 2 - temperature 1 - time 1