Blog Prototype IoT with $5 WiFi Microcontroller ESP8266 and DeviceHive

We are proud to announce a release of DeviceHive firmware that turns a $5 WiFi modem into a fully functional standalone IoT board that doesn’t require programming on device side, and you can access it’s GPIO, ADC, PWM, I2C and SPI from DeviceHive cloud. While being marketed as a WiFi modem which can be attached to a microcontroller, it is actually a fully capable IoT board by itself and doesn’t need any extra microcontroller. Using DeviceHive cloud you can access it’s pins right from your cloud apps using REST/JSON written in your favorite programming language. How about AngularJS UI that talks to this tiny thing?

Untitled

Feeling overwhelmed by Raspberry Pi or Arduino environment and need a cheaper alternative? Want a WiFi connected microcontroller that works with the cloud right away? Read on!

Overview

ESP8266 board based Tensilica Xtensa LX3 processor is capable of being a standalone IoT microcontroller with WiFi talking to DeviceHive cloud. You probably have heard of Photon by particle.io (former spark.io): https://www.particle.io/prototype. Now you can have similar functionality available in the variety of form factors from different vendors: Adafruit, SparkFun or AliExpress. Remember: don’t treat it as a WiFi modem, it’s a fully capable IoT board.

You can make your house smart without using a fancy Raspberry PI and Arduino setup as a lot of IoT tasks come down to connecting sensors and actuators with standard interfaces like I2C, SPI, UART. Sometimes even with a simple digital output would be enough to open/close a relay to control your lights — you get the idea.

What’s in the Release?

With DeviceHive firmware for ESP8266 you will be able to do the following:

  • Using RESTful Cloud API send a command to the device to perform an action:
    • setting pins high/low
    • reading ADC data
    • accessing I2C/SPI/UART
    • PWM output
  • Request server for a result from executing a command
  • Subscribe to or poll notifications coming from the device

Here’s a sneak preview example of sending a command via HTTP on JavaScript after you flash ESP8266 with DeviceHive firmware and connect it to WiFi hotspot.

function setRGB(r, g, b) {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open('POST', 'http://server.example.com/api/device/device-uuid/command', true);
    xmlhttp.setRequestHeader("Authorization", "Basic " + btoa("user:password"));
    xmlhttp.setRequestHeader("Content-type", "application/json;charset=UTF-8");
    var myjson = {};
    myjson["command"] = “gpio/write”;
    myjson["parameters"] = {12:r, 13:g, 14:b}; // Set GPIO outputs 12, 13, 14 to RGB values
    xmlhttp.send(JSON.stringify(myjson));
}

Real simple, isn’t it? The same query can be sent from any language, or a curl command.

ESP8266 with DeviceHive in Action

Here’s a quick video of what it looks like from our lab. Soon we’ll make an open source version available for download along with an easy to use script to flash the firmware on your device without having to compile it or install anything.

 

 

 

See the original post on the DeviceHive blog.


Subscribe to our news


Leave a Reply