At the end of November, Amazon hosted its re:Invent developer conference which included the launch of AWS Greengrass, a new service designed for Internet of Things (IoT) devices to help them deliver better and smarter compute capabilities. Your initial reaction might be “big deal – there are product announcements at trade shows all the time.” And while we would agree with you that product announcements are nothing new, the launch of Greengrass is definitely a big deal.
As the IoT continues to expand and evolve, new opportunities for developers will emerge. As we recently pointed out, if you have been doing mobile application development, now is a great time to consider how you can begin to make the shift to IoT development.
Here’s the thing: Many of us tend to think about IoT primarily in terms of connectivity – both to other devices, and to the internet – whether that is by means of Wi-Fi, Bluetooth or cellular. And while connectivity is essential to successfully implementing your own IoT project, as a developer you will also face challenges like power efficiency, performance, interoperability, device coordination, security, always-on systems and cost.
Want another wrinkle? For a given IoT application, it may be appropriate for some of these concerns to be handled on the device – i.e. at the ‘edge’ – and for others to utilize services running in the cloud. Selecting the right combination of hardware, software and cloud service integration allows you the means to effectively build contemporary and durable IoT experiences.
Now back to Greengrass. Greengrass builds on top of AWS IoT and AWS Lambda. AWS IoT is a managed platform for connecting devices to cloud services while AWS Lambda runs code without provisioning servers. Greengrass can run Lambda functions locally, but can also talk to the AWS cloud to manage these devices and the code that runs on them. Devices running Greengrass can respond quickly to local events, operate with intermittent cloud connectivity and minimize data transmission costs while supporting current IT device management and security practices.
The benefits of processing at the edge
Allowing for processing at the “edge” of an IoT solution can help provide a wide range of benefits, from cost savings that come from reduced data signaling and cloud storage, to reduced latency for time sensitive automated decision making, to compliance and privacy support through local data storage.
Snapdragon processors are designed with the power and speed to support edge processing. When combined with AWS Greengrass, Snapdragon-based devices combine local power and reliability with the flexibility of managing computation, data storage and security locally or in the cloud. Being able to design which computation or data storage happens at the device versus in the cloud opens up new avenues for IoT applications across the industry. Snapdragon processors and AWS Greengrass offer developers two high quality solutions in concert to build better IoT experiences.
Getting started with Greengrass and DragonBoard™ 410c
The Greengrass service is now available in a limited preview from AWS. Like with other AWS offerings, there is an introductory service tier to support your getting started and additional service offerings for applications that are production ready.
Using the DragonBoard 410c from Arrow Electronics with AWS IoT / Greengrass makes it possible for you to access the necessary hardware, along with a development environment and cloud programming model that can provide you with a platform to get started building your next IoT application.
To give you a head start, you will find a project to create your own “smart home assistant” here on QDN. It combines the DragonBoard 410c with an audio input via a microphone, along with the Alexa voice service to initiate a cloud-based Internet search. You can find the DragonBoard 410c, power supply cord and new 96Boards Audio Mezzanine Board from Seeed Studio on Arrow.com. Use this hardware along with a Bluetooth speaker to re-create this demo. Take a look at the Projects page here on QDN for step-by-step instructions and links to the necessary code.