Getting Started with IoT with Arduino+ESP8266

Introduction:

Extending the current Internet and providing connection, communication, and inter-networking between devices and physical objects, or “Things,” is a growing trend that is often referred to as the Internet of Things.

“The technologies and solutions that enable integration of real world data and services into the current information networking technologies are often described under the umbrella term of the Internet of Things (IoT)”

What is Internet of Things?

There is no definition or protocol for Internet of Things (IoT). But we used to say its Internet of Things, my personal statement is the living and non living things are connected to internet with a device which is called Internet of Things(Eg. arduino, Raspberry pi, Smartphones and etc). Now the WoT is also there to fight, it means the web pages work with the internet based browsers are called Web of Things (WoT) (Eg. Websites, Banking applications, and etc).

What we Learn ?

1. How to program ESP8266?

2. Selecting right IoT wifi module?

3. How to program ESP8266 using Arduino IDE?

4. IoT Software configurations.

5. Which tools to select ?

IOT in simple words connecting sensors, devices to internet (monitoring and control over internet).

for example Home automation, In IOT you can control your electrical appliances from internet and also get file/theft alert on your tweeter, email, etc we will see it in project section how to do that?

Not to take more time on discussing IOT, Lets get started…..

IOT Hardware Requirements to start application development:

What do you need to buy for getting started?

1. esp-12 Module 2. USB to Serial Converter 3. 3.3V Power Supply

1. esp-12 Module or esp-01 Module

Choosing WiFi IOT module is very easy, I recommend you to go with ESP-12 having connections on both sides and also on bottom to get more IOs and Interfaces.ESP-12 That I use (Recommended)

esp8266-12E

ESP-01

Useful where size requirement is small and you want to control one or two Relays (Device on/off), this module dose not contain ADC So not suitable for sensor interface.

Esp8266-01

2. Which USB to Serial converter is best suitable?

FT232RL based usb to serial converter is best suitable with voltage levels selection jumpers is recommended. keep usb to serial converter on 3.3V level.

FT232 USB to SERIAL

3. A 3.3V power supply

You can make or buy power supply using LM1117-3.3V Regulator. Components required to make 3.3V power supply1. LM1117-3.32. 10uF/16V Capacitor

Circuit Diagram:

3.3V power supply

The ESP8266 runs on anything from 2.8 to 3.5 volts, so a couple of AA batteries will work. Most of us use a 3.3 volt regulated power source. Maximum current draw is 300 mA, so use a supply that can supply 500 mA to be safe. More is better. A weak or poor quality supply will cause the board to reset unexpectedly and make debugging difficult. The NodeMCU Development Board has a USB to 3.3V power supply on the board.

Arduino_official_Logo

Software Requirements of IOT Programming:

Take your fear away for programming IOT
Let me clear you first Programming of IOT esp8266 is done in Arduino software and uses same commands that we use for Arduino Uno
Steps for software setup

Starting with 1.8.3, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).

Step 2: Download Arduino Core for ESP8266 WiFi Chip from GitHub

Arduino Core for ESP8266 project brings support for ESP8266 chip to the Arduino environment. It lets you write sketches using familiar Arduino functions and libraries, and run them directly on ESP8266, no external microcontroller required.
ESP8266 Arduino core comes with libraries to communicate over WiFi using TCP and UDP, set up HTTP, mDNS, SSDP, and DNS servers, do OTA updates, use a file system in flash memory, work with SD cards, servos, SPI and I2C peripherals.

Step 3: Installing with Boards Manager

Starting with 1.8.3, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).
i. Install Arduino 1.8.3 from the Arduino website.
ii. Start Arduino and go to file > open Preferences window.

This pakage installation is from internet, your computer must be connected to internet it is around 250 MBytes. Read details on GitHub Step 4: After installing everything you may find trouble in compiling missing .h files

iv. Go to your arduino installation folder (where your arduino.exe is) in this folder create folder “portable”
v. Copy and paste copy from “C:\Documents and Settings\Administrator\Application Data\Arduino” (check that this address is shown while compilation error missing .h file)
vi. Copy all contains (folder naming “pakages” and “staging” and surrounding files)
vii. Paste the copied contains in “portable” folder that you created in Arduino folder.
Check that compilation works now. If all ok go ahead to test it on hardware