Using AWS IoT Things Graph to Enable Hardware Integration

Duc Quy Nguyen
Illustration: © IoT For All

Businesses have always depended on human labor to make sure operations are running smoothly. However, COVID-19 has disrupted that. Business leaders can no longer make decisions without assessing the risk it creates for workers. Every time you send an employee out to do manual tasks, such as recording a temperature reading, you increase their odds of getting COVID-19. As a result, businesses are now turning to software and sensors to automate tasks previously performed by humans. While this has led to the accelerated adoption of IoT, nobody is talking about the elephant in the room: building these types of automation applications. Hardware integration to build these custom IoT solutions is still a painful process.  In this article, I will explain some of the challenges when it comes to hardware integration and how using AWS IoT Things Graph can make hardware integration an easy and painless process.

Why is Hardware Integration so Challenging?

Imagine you have an orchestra composed of musicians from all over the world all preparing to play Mahler’s Fifth Symphony. The one catch is there is no conductor. The musicians would probably be able to perform the piece, but it wouldn’t sound great.

Along the way, there would also probably be a few hiccups, miscommunication, and arguments about how things should be played. In order to have a fantastic performance, the musicians need alignment, the ability to be able to communicate with each other effectively and complex interactions between different groups within the orchestra must be managed. The orchestra needs a conductor. 

Hardware integration faces similar problems. You have a ton of devices that you need to work in a concerted manner to perform specific tasks. On top of all of that, each hardware vendor chooses to speak in different protocols, so you can’t necessarily make music or use devices out of the box immediately. 

The lack of commonly shared standards in the industry results in confusion for developers. Last but not least, developers are forced to waste time in repeat integration efforts for different devices when the devices are fundamentally the same (Ex. Philips Smart LED Light Bulb and Yeelight Smart LED Light Bulb). Hardware integration is so challenging because you need somebody with deep expertise to understand how all the parts come together to make the big picture.

What is AWS IoT Things Graph and Why Should You Use it?

AWS IoT Things Graph is a service that allows you to connect different devices and web services in a plug-and-play manner to solve business problems. AWS IoT Things Graph was built to address the challenges of hardware integration and building IoT applications. AWS IoT Things Graph is the conductor the IoT space needs.

The conductor in an orchestra unifies musicians, controls the interpretation and pace of the music, listens critically (monitoring), and ultimately sets the vision.

The four key features of AWS IoT Things Graph are:

  1. Models (Abstraction)
  2. Visual User Interface (Drag & Drop)
  3. Run at the Edge
  4. Monitoring Flows

Models represent things (devices and web services). Models are important because they enable developers to spend less time worrying about the underlying implementation and focus on using the model capabilities. Developers often spend a lot of time making sure that messages between various models are communicating with each other properly. AWS IoT Things Graph makes it easy to work with devices and services. 

Diagram representing the light bulb model.
Fig. 1 Example of using reusing a light bulb model

In addition, models are reusable building blocks that developers can share with each other and leverage to avoid undifferentiated integration efforts. 

The AWS IoT Things Graph UI allows you to quickly define interactions between various models using a flow diagram linking outputs & inputs. You can define how devices & services should interact with each other and make multi-step workflows. Developers can spend time focusing on business logic & functionality. If my model was a light bulb for example here are some of the things you could potentially do:

Diagram showing the actions, states, and events in the lightbulb model.
Fig. 2 Example of Light Bulb Model

The flexibility of AWS IoT Things Graph allows you to iterate on your applications easily as customer needs change. One of the greatest challenges of IoT is upgrading legacy systems with new hardware. Previously you were locked-in to specific ecosystems, but now you have the freedom to change hardware without having to rebuild everything from the ground up. 

In addition, AWS IoT Things Graph allows you to run at the edge with just a few clicks in the console. The steps you have to take are to specify your parameters, associate models with your real-world devices, define triggers (when to execute), and deploy applications to the cloud or AWS Green IoT Greengrass device. AWS IoT Things Graph helps you quickly turn concepts into products that exist in the marketplace. 

Another key feature of AWS IoT Things Graph is the ability to monitor the state of the IoT application. When combined with Amazon Cloudwatch you are able to log flow & execution times and where any flows or steps fail. You can define the metrics which you are concerned about and receive notifications when specific alarms are raised. 

AWS IoT Things Graph was built to help application developers tackle the unique challenges that come with hardware integration. Developers no longer have to fight through the lack of standards from different hardware vendors and spend time on repeated integration efforts. Developers can instead focus on the important tasks: building features to address business problems. IoT is hard and using AWS IoT Things Graph for your hardware integration will give your team the speed, simplicity, and customization you need to build IoT applications that matter. 

Duc Quy Nguyen
Duc Quy Nguyen - Staff Writer, IoT For All
Quy is a staff writer at IoT For All who is interested in how IoT can help solve the global food challenges. He studied laser engineering at University of Central Florida and these days he works as a developer. When he is not coding he enjoys rea...
Quy is a staff writer at IoT For All who is interested in how IoT can help solve the global food challenges. He studied laser engineering at University of Central Florida and these days he works as a developer. When he is not coding he enjoys rea...