IoT project ideas and use cases – SyedTips – 5

One of my acquaintances pinged me today asking for suggestions/ideas for his Engineering project themed around IoT. At first, I gave my standard reply:

iot_suggestion

And at that instance, it hit me to get ideas from use-cases provided by leading IoT Companies such as the Kaa Project (http://www.kaaproject.org/) and many others.

I’ve compiled below a list of IoT Project Ideas for your Engineering Projects or IoT use-case demos and have listed them below with links back to the source. You can use these as a starting point and generate your own use cases or directly implement one of these. I’ll try adding in more use cases from other vendors. Happy Making (instead of ready-made buying :P). Ohh, it’s Engineer’s Day today. Happy that.

IoT Use Cases – Kaa Internet of Things platform

kaa_iot_use_cases
Source: http://www.kaaproject.org/iot-use-cases/

The following use-case examples were taken from: http://www.kaaproject.org/iot-use-cases/

 

Continue reading “IoT project ideas and use cases – SyedTips – 5”

Adding a (extra) Hardware Serial Port using I2C on Arduino or other MCU – SyedTips – 3

One cool thing/feature I learned from the Arduino Uno WiFi board was how to implement/add an extra hardware Serial Port to the existing MCU using a I2C to Serial Bridge.

The Atmega328P MCU on the Arduino Uno has only one Hardware Serial port. If we’re interfacing a Serial Device to this MCU and would also like to use Serial debugging, an option is to use SoftwareSerial (which comes with it’s own set of issues and limitations). A better option is to have an I2C – Serial Bridge that’d allow the host MCU to interface with another Serial Device.

The Arduino.org team did this splendidly and used this SC16IS750IBS to have the MCU talk with the on-board ESP8266 through this I2C to Serial Bridge.

img_20160910_232432_905

i2c_uart_pin

You can read more about the implementation and details on the product page: http://www.arduino.org/products/boards/arduino-uno-wifi

Thanks.

Combining multiple ESP bin files into 1 for production – SyedTips – 2

If you natively develop firmware on the ESP8266, you’d eventually have to flash multiple bin files to different locations on the Flash Module of ESP8266 (or on SoC itself for ESP8285).

flash_mem_allocation

In order to create a single bin file, populate the individual bin files at their respective addresses in the official Espressif Flash tool as shown below:

Flash_Tool.png

Once done, select the checkboxes of the individual files that you’d like to include and hit the Combine Bin button shown above:

That should give you a single bin file as shown below:

single_bin_file

Now, you can simply use the Flash Tool itself or esptool.py/exe to flash this single bin file at address 0x00000.

I found a simple batch file online that uses esptool.exe (for Mac/Linux, you can use esptool.py with the proper arguments) to flash bins to the ESP.

The following code goes into the batch file that calls the esptool.exe and flashes the bin file (mare sure esptool.exe and the bin file are in the same folder).

@echo off
set /p comport= Comport (example 3, 4, ..)           :

echo Using com port: %comport%

esptool.exe -vv -cd nodemcu -cb 115200 -cp COM%comport% -ca 0x00000 -cf at.bin 

pause

The above script will simply ask the user for the COM port of the USB-Serial Cable/Adapter to which an ESP (in boot-mode) is connected and flash it.

The above method can be also be used if you’re provisioning users themselves to flash/update firmware over to the ESP if FOTA is not implemented (at least that’s how I plan to use it for my ESP dev board).

Thanks.

Building IoT Devices – From Prototype to Production – India

This was a small talk I gave on World IoT Day (April 9th, 2016) at Collab House about my experiences and findings of IoT Prototype –> Production in Hyderabad, India.

I don’t have much info in the Slide Deck itself and hope to do a detailed writeup sometime. This should serve as a brief Intro.

Wireless gesture control of Arduino using LeapMotion and ESP8266

After having played around with Wirelessly Controlling Arduino with LeapMotion through Bluetooth 2 years back, I didn’t get an opportunity to tinker more with LeapMotion and Arduino. I installed a couple of Apps from the App Store and played around.

When the call for project submissions for India’s first Mini Maker Faire opened, I decided to re-do this project, albeit use the popular ESP8266 WiFi module instead of a Bluetooth one. Continue reading “Wireless gesture control of Arduino using LeapMotion and ESP8266”

Part 0: Getting started with AWS IoT and Arduino (+ESP8266)

[31/July/2016]: I’m very Sorry. I couldn’t get the ESP8266 talk with the AWS IoT platform due to the ESP’s limited ability to support TLS 1.2 which is required by AWS IoT.

http://bbs.espressif.com/viewtopic.php?t=1639

If you’re comfortable using the ESP SDK, something exciting just came up: https://github.com/SuperHouse/esp-open-rtos/pull/173 –> an MQTT example with AWS IoT + ESP8266.

I’ll wait till someone builds a wrapper/library around it.

I’ve been thinking of using the Arduino MKR1000 instead with the AWS IoT. Let’s hope this get’s done quick 🙂


Pre.Scriptum: (Edit: 21, Dec, 2015)  Amazon released the AWS IoT suite of applications and services a while back and I now feel it’ll be more helpful if we base our tutorial on the AWS IoT platform. It’s a TODO for me and hopefully I’ll have something up and running.


I’ll be doing a series of posts on getting started with building IoT applications using an AWS EC2 Instance and an Arduino with ESP8266 WiFi Module. We’ll eventually delve into Raspberry Pi, MongoDB, Node.js, Dashboards etc as  the journey continues. Continue reading “Part 0: Getting started with AWS IoT and Arduino (+ESP8266)”