In this post I’ll be covering the theory of operation in regard to interfacing the ESP8266 with the CO Detector.
The first item that should be covered before actually creating the code to program the ESP8266 for use in the CO Detector is to define the operation. This is a blueprint that lays out what we expect the CO Detector to do when interfaced with the ESP8266. It also helps us develop the code we’ll eventually write.
Basically, we’re trying to duplicate the ins and outs of the CO Detector. When the test button is pressed, we expect the buzzer to alarm. If CO gas is detected, then the buzzer should alarm. There are fault and end of life alarms as well. This is the operational flow that we’ll use to integrate the ESP8266. Below is a flow chart of how the CO Detector operates.
Now lets place the ESP8266 in the mix. It will act as a go between for the test button, buzzer, and CO Detector. We’ll replace the push button and buzzer with an API calls. There are functions we are having the ESP8266 perform that must be within it capacity to do so. Since we are using the Arduino IDE, the library for the ESP8266 will define its abilities. Lets look at each function the ESP8266 will need for our project.
Establish connection to the wireless network
Operate a web front end for the operator to interface with
Operate the test button on the CO Detector
Detect the buzzer on the CO Detector
Initiate a URL call to IFTTT
Next, we’ll look at the library that we’ll use for the ESP8266 and see if it is within its capacity.