The concept of the Internet of Things (IoT) has thus permeated our consciousness, particularly regarding home automation. In recent years, devices like Amazon's Alexa, Philips Hue, British Gas's Hive, and Nest have emerged, indicating the rise of connected devices. Surveys predict that by 2020 there will be 50 billion connected devices worldwide, so we must find a way to use them effectively.

IoT and the cloud: the perfect combination.
Just as the concept of the Internet of Things has transformed, so too has the notion of cloud computing. Originally conceived as a way for large corporations to use their computing power more flexibly, it has moved beyond its corporate origins to now offer consumers the opportunity to access services at their fingertips.

And this is particularly true with regard to leveraging IoT devices, as the cloud still has immense potential that can transform the way we stay in touch.

Along with the rise of cloud computing and the boom in the Internet of Things, a third factor is at play: the widespread use of mobile phones. The iPhone recently celebrated 10 years of offering users their own handheld computer. This ability to access on-demand, on-the-go services has changed the landscape for embedded computers.

Major cloud service providers have recognized the demand for cloud-connected IoT devices and have released software to help users more easily connect their embedded devices. Companies like Amazon, Microsoft, and Google are helping users take advantage of the cloud connectivity software included in a variety of devices.

Google has introduced its Cloud IoT Core, which enables centralized management of IoT devices and integrates them into a single system, while Microsoft has focused on improving its existing cloud system, Azure. The company has introduced its own version of device connectivity with Azure IoT Hub, which can connect industrial devices to the cloud, making the technology available to manufacturing companies while also offering management and analytics for a variety of remote devices and sensors. Amazon is probably the company that has taken things the furthest. Its AWS IoT offering includes a software development kit to help device users connect, authenticate, and exchange messages with AWS IoT using a variety of protocols.

In all these cases, cloud usage is crucial to how users manage their IoT devices. A highly resilient and distributed infrastructure is essential for connectivity. The cloud offers three things: unlimited computing capacity, flexibility in connecting remote devices, and a standardized approach to workload management.

The world of hobbyists:
This approach is excellent news for large companies using IoT devices, as it means they have the capabilities of large cloud service providers at their fingertips, making it easier to manage connected devices. But what about hobbyists or makers working from home, and individuals dedicated to small projects that require some kind of connectivity but don't have the budget of a large corporation?

Some cloud service providers have recognized the need to support this market. To make life easier for makers, Amazon has introduced the AWS IoT Button, a programmable device based on the Amazon Dash Button, which can leverage the capabilities of the AWS cloud to offer additional functionalities to hobbyists.

FARA016 Fig1w

AWS IoT Button:A programmable Wi-Fi button for designers, easy to set up and deploy

AWS IoT Core: Secure connectivity to AWS IoT Core using the appropriate credentials

AWS Lambda Function: Easily associate AWS Lambda functions

SNS Topic: Notifications via Amazon SNS

But there are other approaches as well. It's possible to access cloud services without committing to a full implementation. For example, Particle is an IoT platform that enables simple connectivity for devices. Companies are using it for their IoT products, but it can also be used with Raspberry Pi and Arduino—that is, for the kind of use expected by hobbyists who are the sort of people who don't want to deal with cloud service providers like AWS or Google.

IFTTT
("if this, then that"), a basic programming language that gives makers and hobbyists the opportunity to customize their own apps and web services. The "this" and "that" are important in this context, as IFTTT responds to situations where one event triggers another action; for example, a burglar alarm that is triggered can use IFTTT to send an alert notification to a phone.

The system works through applets, mini-applications that can trigger a set of responses. Applets are based on two elements: triggers (which more or less represent the "this" of the equation) and actions (the "that" of the program).

FARA016 Fig2w

IFTTT works with a wide variety of software (from websites like YouTube or eBay to devices), sending a security camera feed to a website, for example. IFTTT has proven especially useful for connecting Raspberry Pi to the cloud (it's a very effective way to introduce new applications). Using IFTTT, a user can take advantage of cloud-like services without actually using the cloud, which greatly simplifies device connectivity in homes or small offices.

To understand IFTTT, you must first understand the concept of services (formerly known as channels), as they are the foundation of all IFTTT applications.

There are a large number of different services for IoT devices: there are channels for health devices, home automation services, some that work with systems like Arduino, and others that work with enterprise systems (Office 365, for example, has its own service). There is a clear similarity between logging into these services and using the cloud for enterprise services: both use software located on other servers.
For example, the IFTTT Maker service is aimed at hobbyists who want to develop small electronics projects. By using Maker services, users can develop applets for their own projects and save them to share with other users. According to the terms of this service, each individual can have their own username to create these personal projects (most hobbyists do this using Raspberry Pi or Arduino).

Individuals can request their own username and use it as the basis for creating a suite of services. From there, users can implement webhooks to connect their own devices (or programs) to any other device or service accessible online.

Users have a wide range of options thanks to the combination of cloud capabilities and the power of IFTTT. Businesses have enjoyed the capacity and flexibility of cloud services for some years now, but hobbyists designing their own electronics projects can also take advantage of this abundance, and there's no excuse to ignore it.

By Cliff Ortmeyer, Global Head of Solutions Development at Premier Farnell and Farnell element14