Tag Archives: internet of things

IoT : Encounter with ESP8266-201 Module

Came to know about new module called ESP8266-201 for IoT experiments , when Heramb MakerLab arranged one session with one of the makers ( Hemant worked in Tieto) on IoT.

It sounds like good Rs. 500 investment for experimenting and learning this new IoT module. I ordered immediately following two items online from one of the vendors on Lamington Road, Mumbai :

  1. ESP8266 ESP-201 WiFi board with full I/O and PCB antenna  : This is actual module which needs to be programmed as a controller along with thing to communicate with internet or home network.
  2. FT232RL Based High Quality USB to TTL Module : This is module for loading the program into ESP module. It can also provide initial power for ESP module during prototyping phase.

Ref : http://www.evelta.com

For running first program on ESP module, you would need following additional hardware :

  • LED
  • Resistor – 220 ohm
  • Jumper wires

By the time I got the modules, I started reading about ESP more. I worked with Raspberry Pi extensively and also developed one IoT prototype for sensing room temperature and sending the data to Dweet.io cloud system.  Working with Arduino IDE and ESP specially was little new area to me.

Step 1 : Installing / Updating Arduino IDE to support ESP8266 boards.

–          Install Arduino 1.6.5 from the Arduino website.

–          Start Arduino and open Preferences window.

–          Enter http://arduino.esp8266.com/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.

–          Open Boards Manager from Tools > Board menu and install esp8266 platform (and don’t forget to select your ESP8266 board from Tools > Board menu after installation).

Ref : https://github.com/esp8266/Arduino

ESP-8226 Board inside Arduino IDE

Step 2 : Connecting ESP module with USB to TTL Module

Use following diagram as reference and make connections.

ESP8266-201 and USB-TTL Module

Step 4 : Connect USB to TTL module to Laptop / Computer

Once you make connection, Red LED on ESP shall get light up.

Step 5 : Upload program to ESP module via Arduino IDE

There is sample program already written in example folder. Open that program to update SSID and Password of your WiFi network, so updated program can be uploaded onto ESP module.

Open Program (Sketch)
SSID+Password

Once changes are done, click on upload button on top left hand side. Don’t worry if you are getting errors, recheck the connections and try again.

Program shown in picture is different
Program Uploaded Successfully

Once program is uploaded disconnect the GPIO-0 wire and toggle the power of ESP module (You can just remove USB from laptop and plug it again)

Step 6 : Run program on ESP module and verify THING (ESP /module) is getting connected to home WiFi network

I use android app called Fing to check connected devices inside my home network. This app helps to identify IP address on ESP module, which we can use for operating GPIO-2 of ESP Module (To which we have connected LED).

Step 8 : Operate LED via browser on mobile or Laptop (inside Home network)

You can turn ON/OFF LED from your mobile browser or from any device which is inside your home network.

LED OFFLED ON

I enjoyed learning about ESP module by making this project, hope you shall enjoy too. There is lot more to learn abut this module and how to utilize this to satisfy your home automation needs. Next thing, I am learning is Souliss Framework for home automation. This framework can be installed on any Arduino and ESP modules. Let us make something out of Souliss next time.

Happy Making!!!

References :

Following blogs and online sources help me a lot in understanding the ESP and its different variants :

http://smarpl.com/content/esp8266-esp-201-module-first-impressions

(Good to understand the latest ESP module and understand its basic PIN reference)

http://makezine.com/2015/04/01/installing-building-arduino-sketch-5-microcontroller/

(This link does not provide instructions for latest module of ESP , but was handy for me to burn the program on ESP using Arduino IDE)

https://github.com/esp8266/Arduino

(Helped me to update the Arduino IDE to support  programming for ESP board)

Fritzing :

https://github.com/ydonnelly/ESP8266_fritzing

Internet of Things (IoT)

Internet of Things (IoT) is a buzz word now days. Few days back I attended one seminar on IoT, which was talking about your machines getting connected to Internet. Since that seminar was for Industries in automobile related industry, they looked at IoT in perspective of Industrial Users.

There seems to be more opportunities in consumer market when we talk about IoT. Here I am trying to showcase you one simple IoT application. This is not merely theoretical walk through but a practical scenario which you can implement at your home or office.

We have created a module which can sense the temperature of atmosphere and send the temperature to one web service (kind of web site), where you can check that temperate from anywhere in the world.

So there is one backbone of IoT systems i.e. Internet Connectivity. You may not need your Thing to be always connected to Internet, but there must be some pre-defined frequency when you want your Thing to talk to Internet for sharing the data. So if you can develop any Thing which can send SMS and shares the information, which could be part of IoT community.

Here, we have used following hardware:

  1. Raspberry Pi Microprocessor
  2. One Digital Temperature Sensor
  3. Internet connection i.e. Modem or Wi-Fi router
  4. On other end of communication you might have computer or Mobile phone which again connected to Internet

For this IoT experiment, we need following software:

  1. Python program running of Raspbian OS which can read temperature and send the data to Internet
  2. One Thing name on http://dweet.io/ : Dweet.io is free service provider for communicating information between your things over internet. There are other services too which you can explore.

Once you connect Digital Temperature sensor to RBPi, you need to read the temperature in intervals and then send that temperature information to Dweet io service using python libraries. (https://github.com/paddycarey/dweepy)

IMG_20141030_083332
Actual Physical Instruments
IoT
Communication Channels

Once Dweet io service receive this information from your thing (You have to give name to your thing whenever you are talking to Dweet io), so same information gets published on internet so anyone can access that. You can restrict this information using lock mechanism available for paid users of Dweet io.

The given temperature information can be accessed by any other thing if other thing know the name of the thing which is sending the information using the following url :

https://dweet.io/listen/for/dweets/from/<my-thing-name>

Alternatively Dweet io provide user friendly UI interface to read the dweeted information:

https://dweet.io/follow/<my-thing-name>

Now you can think what would you like your machines to share with each other. You can imagine the world where you can see machines talking to each other and helping humans to reach the goals which we would have never imagined J

Reference:

Temperature Sensor and Raspberry Pi related à http://www.themagpi.com/issue/issue-23/

Dweet io à http://dweet.io/

Python Library for Dweet io à https://github.com/paddycarey/dweepy