A project log for Frank'n'Sense

Low-cost IoT device with a range of sensors for Building Environmental Monitoring.

David OgilvyDavid Ogilvy 07/07/2015 at 11:220 Comments

The hardware will of course be based around everybody's favourite WiFi SoC - the Espressif ESP8266. As all this data will be feeding back to a storage server via network, it's going to have to connect in somehow. Bluetooth Low Energy is a consideration, but having access to a power source won't be an issue for this project.


Light Sensor: TAOS TSL2561 - i2c interface with two internal light sensing diodes. One is a broadband spectrum diode while the other is an infrared only diode. By subtracting the infrared response from the broadband response, you can approximate the human eye response. TAOS provide the conversion equations to obtain the equivalent Lux figure. This can be calibrated against a real Lux meter for accuracy.

Temperature & Humidity: Measurement Specialties HTU21D - i2c interface with the ability to measure temperature with 14bit resolution and relative humidity with 12bit resolution. That's 0.01°C and 0.04% RH resolution. Claimed absolute accuracy is +/- 0.3°C and 2% RH.

Occupancy Sensing: The most basic form of occupancy sensing would be to use some kind of passive infrared device. However, I want to know the number of people in a room or office. The ESP8266 SDK provides a promiscuous wifi sniffing function which I've tested to detect the presence of my phone by watching for beacon packets. This is in an apartment building with many wifi APs and devices. It may be difficult to obtain an accurate absolute number of occupancy, but with Big Data, relative values can be quite powerful when used in combination with other data sets!

Noise: Not sure where to go with this one. Are there any dedicated noise detection ICs out there that I can poll every minute or so to get an average reading? What about power consumption? How useful is the data? More work to be done on this one...

Pulse Inputs: Most commercial meters provide some form of meter reading output in the form of a pulse. For electricity meters, this is usually an LED that blinks to indicate 1/10th of a kWh or similar. Water and Gas meters provide contacts that close briefly to indicate the consumption of "1 unit".

Our building already has a MODBUS network for the energy meters and a BACNET/IP network for the HVAC systems. I will make an allowance in the design for external inputs though, so I can integrate pulse meters at a later date.

Gas Sensors: CO2 levels and adequate levels of fresh outside air intake are a critical component of HVAC systems and occupant health & wellbeing. I need to do some research on low-cost gas sensors before deciding on anything.

Got any ideas for other sensor types I could include? Leave me a message or comment below.