Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Internet of Things with ESP8266
Internet of Things with ESP8266

Internet of Things with ESP8266: Build amazing Internet of Things projects using the ESP8266 Wi-Fi chip

eBook
€17.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Internet of Things with ESP8266

Chapter 1. Getting Started with the ESP8266

In this chapter, we are going to start by setting up the ESP8266 chip. We will learn how to choose the right module for your project and get all the additional hardware you need to use the chip. We will also see how to connect the ESP8266 to your computer, so you can program it using a USB cable.

Then, we are going to see how to configure and upload code to the ESP8266 chip. For that, we will be using the Arduino IDE. This makes using the ESP8266 much easier, as we will be using a well-known interface and language to configure the chip. We will also be able to use most of the already existing Arduino libraries for our projects. Let's start!

How to choose your ESP8266 module

We are first going to see how to choose the right ESP8266 module for your project. There are many modules available in the market and it is quite easy to get lost with all the choices available.

The first one that you have probably heard of is the small ESP8266 Serial Wireless Transceiver module:

How to choose your ESP8266 module

This module is the most famous one, as it is really small and only costs $5. However, the number of accessible GPIO pins (input/output pins) is quite limited. It is also difficult to plug it into a standard breadboard.

If you choose this module, there are some projects in this book that you might not be able to do. For example, you won't be able to do the projects using analog sensors, as the analog input pin is not accessible.

You can find more information about this module at:

https://nurdspace.nl/images/e/e0/ESP8266_Specifications_English.pdf

But there are many other modules on the market that give you access to all the pins of the ESP8266. For example, I really like the ESP8266 Olimex module, which is also cheap (around $10):

How to choose your ESP8266 module

This module can easily be mounted on a breadboard and you can easily access all the pins of the ESP8266. This is the one I will use for most of this book and therefore I also recommend that you use a similar module.

You can find additional details about this module at:

https://www.olimex.com/Products/IoT/MOD-WIFI-ESP8266-DEV/open-source-hardware

One other choice is to use a board based on the ESP-12, which is a version of the ESP8266 made to be integrated on PCBs. This version also gives you access to all the pins of the ESP8266. It is relatively easy to find breakout boards for this chip. For example, this is a board that I bought on Tindie:

How to choose your ESP8266 module

You can find more information about this module on:

http://www.seeedstudio.com/wiki/images/7/7d/ESP-12E_brief_spec.pdf

You can also get your hands on the Adafruit ESP8266 breakout board, which also integrates the ESP-12:

http://www.adafruit.com/product/2471

Another solution is to use the NodeMCU development kit, which is similar to the Olimex board but also has an integrated USB-to-Serial converter, as well as an onboard power supply. It is easier to use, but was hard to find at the time this book was written. You can get more information on the NodeMCU website:

http://nodemcu.com/index_en.html

Note that with the NodeMCU module, you will have to translate the pins from the module to the pins defined in the ESP8266 Arduino IDE, which we are going to use. You will find the correspondence between pins here:

https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en#new_gpio_map

Hardware requirements

Let's now take a look at the things we need to make the ESP8266 chip work. It is usually, but incorrectly, assumed that you just need this little chip and nothing else to make it work, but we are going to see that it is not true.

First, you will need some way to program the ESP8266. You can use an Arduino board for that, but for me the really great thing about the ESP8266 is that it can function completely autonomously, using the onboard processor.

So to program the chip, I will use a USB FTDI programmer.

Note

Note that it has to be compatible with the logic level of the ESP8266 chip, so 3.3V.

I have used a module that can be switched between 3.3V and 5V:

Hardware requirements

You will also need a dedicated power supply to power the chip. This is a point that is often forgotten and leads to a lot of issues. If you are, for example, trying to power the ESP8266 chip from the 3.3V coming from the FTDI board or from an Arduino board, it simply won't work correctly.

Therefore, for most ESP8266 modules, you need a dedicated power supply that can deliver at least 300 mA to be safe. Some boards have an integrated micro-USB port and a voltage regulator that can provide the required current to the ESP8266, but that's not the case with the board we will use in this first chapter. I used a breadboard power supply that can deliver up to 500 mA at 3.3V:

Hardware requirements

This is a list of all the components that you will need to use the ESP8266 chip:

Hardware configuration

We are now going to take a look at the way to configure the hardware for the first use of your ESP8266 board. This is how we connect the different components:

Hardware configuration

Depending on the board you are using, the pins can have different names. Therefore, I created pictures to help you out with each module. These are the pins you will need on the small ESP board:

Hardware configuration

This is the same for the ESP-12 board mounted on a breadboard adapter:

Hardware configuration

Finally, this is the picture for the Olimex board:

Hardware configuration

This is what the Olimex board will look like at the end:

Hardware configuration

Make sure that you connect everything according to the schematics or you won't be able to continue.

Note

Also, make sure that all the switches of your components (FTDI module and power supply) are set to 3.3V, or it will damage your chip.

Also, connect one wire to the GPIO 0 pin of the ESP8266. Don't connect it to anything else for now, but you will need it later to put the chip in programming mode.

Installing the Arduino IDE for the ESP8266

Now that we have completely set up the hardware for the ESP8266, we are ready to configure it using the Arduino IDE.

The most basic way to use the ESP8266 module is to use serial commands, as the chip is basically a Wi-Fi/Serial transceiver. However, this is not convenient and this is not what I recommend doing.

What I recommend is simply using the Arduino IDE, which you will need to install on your computer. This makes it very convenient to use the ESP8266 chip, as we will be using the well-known Arduino IDE, so this is the method that we will use in the entire book.

We are now going to configure your ESP8266 chip using the Arduino IDE. This is a great way to use the chip, as you will be able to program it using the well-known Arduino IDE and also re-use several existing Arduino libraries.

If this is not done yet, install the latest version of the Arduino IDE. You can get it from http://www.arduino.cc/en/main/software.

Now, you need to take a follow steps to be able to configure the ESP8266 with the Arduino IDE:

  1. Start the Arduino IDE and open the Preferences window.
  2. Enter the following URL into the Additional Board Manager URLs field: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Open Boards Manager from the Tools | Board menu and install the esp8266 platform as shown here:
    Installing the Arduino IDE for the ESP8266

Connecting your module to your Wi-Fi network

Now, we are going to check whether the ESP8266 and the Arduino IDE are working correctly, and connect your chip to your local Wi-Fi network.

To do so, let's perform the following steps:

  1. First, we need to write the code and then upload it to the board. The code is simple; we just want to connect to the local Wi-Fi network and print the IP address of the board. This is the code to connect to the network:
    // Import required libraries
    #include <ESP8266WiFi.h>
    
    // WiFi parameters
    constchar* ssid = "your_wifi_name";
    constchar* password = "your_wifi_password";
    
    void setup(void)
    {  
    // Start Serial
    Serial.begin(115200);
    // Connect to WiFi
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
Serial.print(".");
      }
    Serial.println("");
    Serial.println("WiFi connected");
    // Print the IP address
    Serial.println(WiFi.localIP());
    }
    
    void loop() {
    
    }

    You can simply copy the lines of the preceding code and then paste them into the ESP8266 Arduino IDE that you downloaded earlier. Of course, put your own Wi-Fi name and password in the code. Save this file with a name of your choice.

  2. Now, navigate to Tools | Boards and select Generic ESP8266 Module. Also, select the correct Serial port that corresponds to the FTDI converter that your are using.
  3. After that, we need to put the board in the bootloader mode, so we can program it. To do so, connect the pin GPIO 0 to the ground, via the cable we plugged into GPIO 0. Then, power cycle the board by switching the power supply off and then on again.
  4. Now, upload the code to the board and open the Serial monitor when this is done. Set the Serial monitor speed to 115200. Now, disconnect the cable between GPIO 0 and GND and power cycle the board again. You should see the following message:
    WiFi connected
    192.168.1.103
    

If you can see this message and an IP, congratulations, your board is now connected to your Wi-Fi network! You are now ready to build your first projects using the ESP8266 chip.

Summary

In this first chapter of the book, we learned the fundamentals about the ESP8266. We first learned about all the different boards that are available for your ESP8266 projects. Then, we saw how to wire your ESP8266 modules. Finally, we saw how to install the Arduino IDE and to configure it for the ESP8266, and we ended the chapter by actually uploading a very simple sketch to the ESP8266.

In the next chapter, we are going to use the tools we set up and build some basic projects using the ESP8266 Wi-Fi chip.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Get to know the powerful and low cost ESP8266 and build interesting projects in the field of Internet of Things
  • Configure your ESP8266 to the cloud and explore the networkable modules that will be utilized in the IoT projects
  • This step-by-step guide teaches you the basics of IoT with ESP8266 and makes your life easier

Description

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.

Who is this book for?

This book is for those who want to build powerful and inexpensive IoT projects using the ESP8266 WiFi chip, including those who are new to IoT, or those who already have experience with other platforms such as Arduino.

What you will learn

  • Control various devices from the cloud
  • Interact with web services, such as Twitter or Facebook
  • Make two ESP8266 boards communicate with each other via the cloud
  • Send notifications to users of the ESP8266, via email, text message, or push notifications
  • Build a physical device that indicates the current price of Bitcoin
  • Build a simple home automation system that can be controlled from the cloud
  • Create your own cloud platform to control ESP8266 devices

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jul 29, 2016
Length: 226 pages
Edition : 1st
Language : English
ISBN-13 : 9781786466679
Category :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want

Product Details

Publication date : Jul 29, 2016
Length: 226 pages
Edition : 1st
Language : English
ISBN-13 : 9781786466679
Category :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 95.97
Internet of Things with ESP8266
€32.99
ESP8266 Home Automation Projects
€29.99
ESP8266 Internet of Things Cookbook
€32.99
Total 95.97 Stars icon

Table of Contents

14 Chapters
1. Getting Started with the ESP8266 Chevron down icon Chevron up icon
2. First Projects with the ESP8266 Chevron down icon Chevron up icon
3. Cloud Data Logging with the ESP8266 Chevron down icon Chevron up icon
4. Control Devices from Anywhere Chevron down icon Chevron up icon
5. Interacting With Web Services Chevron down icon Chevron up icon
6. Machine-to-Machine Communications Chevron down icon Chevron up icon
7. Sending Notifications from the ESP8266 Chevron down icon Chevron up icon
8. Controlling a Door Lock from the Cloud Chevron down icon Chevron up icon
9. Building a Physical Bitcoin Ticker Chevron down icon Chevron up icon
10. Wireless Gardening with the ESP8266 Chevron down icon Chevron up icon
11. Cloud-Based Home Automation System Chevron down icon Chevron up icon
12. Cloud-Controlled ESP8266 Robot Chevron down icon Chevron up icon
13. Building Your Own Cloud Platform to Control ESP8266 Devices Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.1
(14 Ratings)
5 star 35.7%
4 star 14.3%
3 star 7.1%
2 star 7.1%
1 star 35.7%
Filter icon Filter
Top Reviews

Filter reviews by




B.M Dec 26, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book arrived on time. At first glance it seems a well supported book and helpful after sale. It starts from a beginner state and develops into a relatively advanced stage. I cannot wait to try some of the projects. The figures are in black and white which are difficult to see. However, the colour versions are provided from the publisher's website. The codes can also be download which saves some typing.
Amazon Verified review Amazon
Amazon Customer Aug 11, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Few months ago I was under the impression that controlling stuff from my house over the Internet is very hard to accomplish, but I've discovered the ESP8266 and this book so, in matter of hours following the examples I was able not only to control them but also to be notified on their state change and see history of the events. It was a pleasure reading this book and I've learned something from each chapter. Now, only the sky is the limit on what I can control. Happy coding!
Amazon Verified review Amazon
Amlanshankar D. Dec 16, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Good Book.
Amazon Verified review Amazon
Melinda Winchell Mar 04, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Husband loves the book
Amazon Verified review Amazon
ronthepicguy Nov 17, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As a beginner with this module, it was good to have a book that took nothing for granted. Things are explained very clearly, and there does seem to be any danger of not getting the examples to work. The only complaint was some of the drawings; I like a schematic and there were not that many of them. That is a minor point, however. I really liked this book. Very useful.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.