ArduinoIoT

Internet connected devices (IoT – the ‘Internet of Things’) continue to proliferate, with 50 billion devices expected within just a few years. There will be jobs in design, repair and configuration/installation and knowledge of using IoT devices will become part of everyday life. Advances in technology have made it relatively cheap and simple to make an IoT device with very little expertise. On top of this, there are pathways to help commercialize ideas, moving from prototype to production ( for example – http://www.blynk.io/business/). As the technology barriers come down, the becomes more one of imagination: who has the insight to put the pieces together.

One of the easiest ways to make an IoT device is using Blynk with Arduino.  Blynk is a cloud-based service that manages the connection between your IoT device (such as Arduino) and devices like phones and tablets. It is easy to produce graphs, dials and button using a drag-and-drop interface to construct a professional-looking app-like interface.

Before you can use Blynk you need to install the app and create an account. It’s free (as long as you are frugal with projects and widgets- otherwise it is low cost).

To install Blynk simply add the Blynk libraries to your Arduino IDE using the in-built library manager (https://vimeo.com/192235907).

Now you can take some of the Blynk code (now in the examples section of your Arduino IDE) and upload it to the Arduino. This will listen for instructions over the Internet, and send sensor values back.  Don’t forget to generate a new project in the Blynk app and then paste the ‘auth-code’ into the Blynk code before you compile and upload to your Arduino.  The ‘auth-code’ functions as a Blynk-specific Internet address that connects your device to your phone via the Blynk cloud.

The simplest way to use Blynk is connected to your Arduino over a USB cable. Here are some instructions:

http://docs.blynk.cc/#hardware-set-ups-arduino-over-usb-no-shield

https://youtu.be/SZuqlpDMdbo

These instructions show how to run a Blynk script on your computer to link your Arduino to the Internet without an expensive WiFi/Ethernet shield.

If you want to extend the range or get rid of the USB cable you could use a pair of HC-05 Bluetooth chips (ask me how).

If you don’t need to access your Arduino over the Internet you can use Bluetooth Low Energy (BLE or Bluetooth version 4) to connect directly from your phone or tablet. To do this you will need an HM-10 BLE Bluetooth chip. (Ask me how).

Once you have Blynk installed and have uploaded the listening code onto your Arduino you can add analog and simple on/off sensors (or buzzers/relays) to your Arduino, then add widgets to talk to them within the Blynk app.

If you want to show off your sensor live on the web (i.e. without an app) there are other simple and low-cost  alternatives, such as ESPeasy and Thingspeak.

If you want to connect over WiFi  (i.e. ditch the computer and talk directly to the WiFi router) you will need to get an ESP8266 chip or one of it’s low-cost derivatives such as nodeMCU or Wemos D1 mini. You can even get ESP8266 boards that fit Arduino shields, such as the Seeedstudio sensor shield used in this workshop.

Once you have the basics working you can do fancy stuff. This includes setting alerts on your phone, sending e-mails, SMS, and tweets from Blynk. You can also add digital sensors that needs special code (such as specific code libraries).

Have fun and be creative!

Bob