Book Image

Internet of Things with ESP8266

By : Marco Schwartz
Book Image

Internet of Things with ESP8266

By: Marco Schwartz

Overview of this book

The Internet of Things (IoT) is the network of objects such as physical things embedded with electronics, software, sensors, and connectivity, enabling data exchange. ESP8266 is a low cost WiFi microcontroller chip that has the ability to empower IoT and helps the exchange of information among various connected objects. ESP8266 consists of networkable microcontroller modules, and with this low cost chip, IoT is booming. This book will help deepen your knowledge of the ESP8266 WiFi chip platform and get you building exciting projects. Kick-starting with an introduction to the ESP8266 chip, we will demonstrate how to build a simple LED using the ESP8266. You will then learn how to read, send, and monitor data from the cloud. Next, you’ll see how to control your devices remotely from anywhere in the world. Furthermore, you’ll get to know how to use the ESP8266 to interact with web services such as Twitter and Facebook. In order to make several ESP8266s interact and exchange data without the need for human intervention, you will be introduced to the concept of machine-to-machine communication. The latter part of the book focuses more on projects, including a door lock controlled from the cloud, building a physical Bitcoin ticker, and doing wireless gardening. You’ll learn how to build a cloud-based ESP8266 home automation system and a cloud-controlled ESP8266 robot. Finally, you’ll discover how to build your own cloud platform to control ESP8266 devices. With this book, you will be able to create and program Internet of Things projects using the ESP8266 WiFi chip.
Table of Contents (15 chapters)
14
Index

Automating your gardening


We are now going to configure our project so it automatically waters the plant if the humidity falls below a given threshold.

The first step is actually to define two thresholds:

floatlowThreshold = 20.00;
floathighThreshold = 25.00;

We need two thresholds here because if we just defined one, the pump will constantly switch between the on and off states.

So we will have the pump turn on when the humidity goes below the low threshold, and turn off when we reach the high threshold again.

Next, we define which pin the relay is connected to:

#define relayPin 15

In the setup() function of the sketch, we set the relay pin as an output:

pinMode(relayPin, OUTPUT);

In the loop() function, we constantly check whether the humidity went below the low threshold, or above the high threshold:

if (humidity <lowThreshold) {

// Activate pump
digitalWrite(relayPin, HIGH);

}

if (humidity >highThreshold) {

// Deactivate pump
digitalWrite(relayPin, LOW);

}

I only highlighted the most...