These 5 methods can reduce intimidation and complications.
Think about IoT products as a triple-decker sandwich: top, middle and bottom. All three layers must work together.
As Iot devices capture the imagination and dollars of consumers, inventors are increasingly adding connected technology to their innovations. But the latter can be intimidating with so many different wireless protocols and microchips, not to mention the need for apps to show data or interact with the device.
To help simplify the main components of a connected device, think about IoT products as a triple-decker sandwich.
The top is the application layer, which is the deployed device and associated hardware. The bottom is the perception layer; this is how data or controls are viewed, typically in the form of an app. The middle that connects the two is the network layer, which is how data are transferred between them.
For an IoT device to function, all three layers must work together. Fortunately, the technology has matured, so it can be easy to add a device to the Internet of Things and control it with an app.
Five ways to add IoT technology to your prototypes:
One of the easiest ways to add connectivity to a prototype is via the Nordic Thingy. Nordic, one of the world’s leading manufacturers of Bluetooth chips, created the Thingy as a showcase of its technology.
The Thingy, 60mm square, includes a number of sensors: temperature, humidity, pressure, air quality color and light, and a 9-axis motion sensor. It also has a microphone, speaker and RGB LED.
The free app allows visualization and control of the device without writing a line of code. Although the board may be slightly too big to fit into small consumer goods, the technology is awesome for use in proof-of-concept prototypes.
For the more tech savvy, the source code and circuit files are open and free to download for customization. There is an SDK (software development kit) to create custom programs.
Hardware development boards
A number of hardware development boards are easy to deploy with a little bit of coding. My favorite is the ESP8266, which is a WiFi-enabled board that is inexpensive and easy to set up. It can be programmed with the Arduino IDE (integrated development environment), and most Arduino libraries are compatible with it.
Electronics supplier Adafruit has a breakout board for the 8266 for less than $10 and a version called the HUZZAH, which is designed to fit the Feather pinout system for easy integration of displays, relays and other peripherals for less than $20. Adafruit also has many great tutorials and sample code to help get your device connected to the cloud.
My other favorite development board is the Particle Photon. It is also a WiFi-enabled board but has some slight differences. The photons can be flashed wirelessly through Particle’s web-based integrated development environment (IDE), so there is no need for a USB cord and they can be programmed remotely. Particle also has a pre-built console in which events and data can be written to the web without setting up any back-end services.
Backends and dashboards
Storing and visualizing data is what makes IoT technology so powerful, with many back-end and dashboard services to help.
Adafruit.io, one of the fastest to get set up and use, is great for prototypes. Data feeds and dashboards to display them are easy to set up, looking good on mobile devices. There is a lot of sample code, and the free version gives you 10 data feeds, five dashboards, 30 data points per minute and 30 days of data storage.
If you need some more control over your dashboard or advanced features, consider a more sophisticated back-end such as Losant. It has a free account that allows you to set up multiple feeds just like Adafruit.io; however, it gives you much more control. Losant has workflows that allow you to write your own commands based on incoming data. This lets you easily create SMS and other notifications or perform more advanced data analysis.
This is an app that allows you to build your own app to control most popular development boards. Simply flash the dev board with the Blynk library, your app tokens, network credentials and the very simple code, and you are ready to create.
Blynk has a number of widgets that can be dragged into the app, such as buttons, sliders, LEDs, maps, RGB picker and many more to create a customized control for your board. Pins on the development board can be configured and controlled inside the app, which eliminates the need to develop custom code for the development board for many projects.
The app is free to download, and you get 2,000 energy points that you can use to add widgets; additional energy can be purchased. The app supports 70 different development boards and supports data transport via ethernet, WiFi, USB, GSM, Bluetooth and BLE.
Blynk can also scale with your product. The free app supports up to 20 devices, with paid plans available that support unlimited devices, customization of the look of the app, and publishing on app stores.
App design software
Designing an app can be daunting, but there are tools that will help you lay out the vision for the features of your app and what it will look like. An easy way to mock up an app and create a flow diagram (called wireframes) is to use the website draw.io or other slide presentation software.
The site offers templates for the shape of different brands of smartphones as well as libraries of stylized icons. Files can be downloaded to save and can be dragged back into the environment when you want to continue work on them later.
Another option is the recently released Adobe XD, which helps to quickly and beautifully design app and web interfaces.
The platform has the feel and some of the tools of Adobe Photoshop but with the added functionality needed to develop UX/UI interfaces. You can create app and web pages quickly and design how the click-through functionality will work. Then when you are ready to prototype, you can upload the design to the cloud and allow users to experience it via the Adobe XD app.