Web Server for ESP32 and ESP8266 Software Update Over the Air

I developed a web server for uploading and handling binary images and serving them to ESP32 and ESP8266 boards. Also, I implemented over the air updating for my ESP32 and ESP8266 boards to enable upgrading of boards I don’t have physical access to. In this post I’ll document how I implemented the web server –…

ESP32, PMS5003, BME280, MICS6814 Sensor Build

This build consists of an ESP32 with a PMS5003 particle sensor, a BME280 temperature sensor, and a MICS6814 gas sensor for environment monitoring. This is the second sensor array in the system I call AirPatrol. For reasons I explained previously I call this sensor array Marshall. It will monitor environment conditions in my living room….

Logging for Sensor Networks

Deploying network enabled sensors based on ESP32, ESP8266, and Raspberry Pi requires a way to monitor them. I’ll describe how to implement this, using InfluxDB and Grafana. Logs stored on the devices and serial based logging are not valid options. Some of the sensors sit in inaccessible placed. Generally it’s impractical to physically having to…

ESP8266, BME280, CCS811 Sensor Build

The first sensor array will consist of an ESP8266 with a BME280 and a CCS811. As I described in AirPatrol the upstairs sensor array, called Chase, is a downscaled version of Marshall for added monitoring. It is the simplest of my three sensor arrays with fewest sensors. Therefore, it is also ideal as my first build….

Collect, Present, Alert

Below I’ll describe how I’ll setup Docker, InfluxDB, Grafana, and Slack to easily implement data collection, presentation, and event alerts from a sensor. The need for this setup comes from the requirements for AirPatrol where I describe that I want to have an easily accessible data presentation. To achieve this I’ll use Docker to setup…

AirPatrol – Environment Monitors

The goal of AirPatrol is to build a sensor array to monitor environment parameters in my home. These are the requirements. In a household with a 4 year old and a 6 year old making them relate to the project is a good way to get them engaged. Thus, the project naming was inspired by…