IoT Tutorials for Embedded Developers

If you are an embedded programmer and have found many of the online IoT tutorials too abstract or providing too little practical value, then the following set of tutorials may be just for you. The following hands on articles include source code and working examples.

Real Time Logic's expertise is in (remote) device management and our IoT articles mainly focus on how to control and supervise devices/equipment in the field via cloud services. For example, a light bulb that switches on by using a Smartphone app fits into this category.

Using an IoT service provider or rolling your own

Have you considered which IoT service provider to use? Many developers may initially consider big providers such as Amazon and Azure. These providers are great if you plan on scaling to the millions, but in most cases, these providers are overkill. In addition, these providers tend to be very expensive to use. You may not have thought about setting up your own IoT solution on say a Virtual Private Server (VPS) or you may have thought that it is too complicated and difficult to maintain your own IoT cloud solution. In fact, setting up a cost effective IoT solution is very easy as long as you are OK with learning a few Linux commands. See the article Setting Up a Low Cost IoT Solution if you are interested in exploring this option. You may also set up an IoT learning environment on your own computer as an initial test.

Provide access options: via cloud or local access

A headless device (a device with no display) can be managed via an IoT cloud solution. However, not all customers may have access to the Internet or the customer's Internet connection may be intermittent. Controlling the device via the Internet may be of little value when the device and user are in the same location. You may consider designing a hybrid solution where a device includes an embedded web server for local access, but also lets a remote user control the device via a cloud server. We have a reference example you may download from GitHub, which includes a local web interface that is re-used by a cloud server. Re-using the user interface considerably speeds up the development time. An IoT cloud demo is also available online. The complete tutorial is available at DZone . See our embedded web server tutorials for additional hybrid cloud tutorials.

IoT device management via a cloud server is typically accomplished by using a custom web based interface. When creating the web interface and the IoT solution, a goal would be to make sure the web interface provides real time updates and that it works similarly to a standard desktop and/or phone app. In addition, multiple users might access the same device simultaneously and you may want to design the solution such that device state changes are replicated and synchronized among all connected browsers. The article Modern Approach to Embedding a Web Server in a Device explains this in detail.

Scaling the IoT solution

At some point, you may have to scale the IoT solution or provide redundancy. A super simple and extremely cost effective way to scale an IoT solution is to use an IoT protocol that supports scaling by using round robin DNS. We provide an online IoT cluster demo including tutorials on how to set this up.

IoT Security and access control

Security is super important in IoT solutions and all of the above tutorials incorporate the use of TLS. However, TLS is far from sufficient when it comes to securing a complete IoT solution. The DZone article Have We Forgotten the Ancient Lessons About Building Defense Systems goes into the IoT security in detail.

Posted in Whitepapers