Q: What is Amazon IoT Events?
A: Amazon IoT Events is a new IoT service that helps companies continuously monitor their equipment and fleets of devices for failure or changes in operation and trigger alerts to respond when events occur. Amazon IoT Events recognizes events across multiple sensors to identify operational issues, such as equipment slowdowns, and generates alerts such as notifying support teams of an issue. Amazon IoT Events offers a managed complex event detection service on the Amazon Web Services cloud, accessible through the Amazon IoT Events console, a browser-based GUI where you can define and manage your event detectors, or direct ingest application program interfaces (APIs), code that allows two applications to communicate with each other. Understanding equipment or a process based on telemetry from a single sensor is often not possible; a complex event detection service will combine multiple sources of telemetry to gain full insight into equipment and processes. You define conditional logic and states inside Amazon IoT Events to evaluate incoming telemetry data to detect events in equipment or a process. When Amazon IoT Events detects an event, it can trigger pre-defined actions in another Amazon Web Services service, such as sending alerts through Amazon Simple Notification Service (SNS).
Q: Why should I use Amazon IoT Events?
A: Amazon IoT Events makes it easy to detect and respond to events that happen across multiple IoT devices, equipment subsystems, and applications. For the vast majority of IoT customers, IoT deployments consist of multiple pieces of equipment with many independent sensors. For those customers, detecting when a critical event has occurred is hard and requires the creation of custom logic, which in turn requires the engagement of specialized system integrators. Amazon IoT Events makes it possible to easily and cost effectively detect events system-wide and respond with appropriate actions to drive results such as optimizing manufacturing efficiency or improving production quality.
Q: How do I get started with Amazon IoT Events?
A: To get started, sign up for an account. Log in to the console and create an endpoint to receive telemetry data you want to monitor, such as belt speed, motor voltage, amperage, and noise levels. Then, you can define your events to detect by writing simple ‘if-then-else’ statements, and selecting the alert or custom action to trigger when the event occurs. Amazon IoT Events is stateful and reacts to the same input differently depending on the current state of equipment, such as ‘running’, ‘stuck’, or ‘off’. You can define states of equipment and combine this with incoming telemetry data and conditional logic, to make the right decision at the right time. Then, you can select a pre-built action to trigger, such as sending a message to a motor to shut down, whenever an event is detected.
Q: How do I receive inputs in Amazon IoT Events?
A: Amazon IoT Events accepts inputs from many IoT telemetry data sources, including sensor devices, management applications, and Amazon IoT services. Any telemetry data input can be pushed to Amazon IoT Events using a standard API interface (“Put_Signals” API). To directly send telemetry data from a device using Amazon IoT Core, you can write a rule in Amazon IoT Rules Engine to forward your IoT data into Amazon IoT Events - identifying the detector via its Amazon Resource Name (ARN).
Q: How do I use Amazon IoT Events to detect events?
A: Amazon IoT Events uses custom, pre-defined conditional logic, such as ‘if-then-else’ statements, to understand events, such as when a motor might be stuck. An event detector definition includes inputs for evaluation, states that have been defined, conditional logic to evaluate, and actions to trigger. Within IoT Events, you can define an event detection in one of two ways. The first option is to use the Amazon IoT Events console to define the conditions under which an event occurs and trigger actions when the conditions evaluate to “true”. The second option is to programmatically create an event detection by calling the “Create_Detector” API.
Q: How do I take an action when Amazon IoT Events detects an event?
A: Amazon IoT Events triggers actions when events are detected. Many of the actions that trigger are predefined in the Amazon IoT Events actions library which makes it easier for you to reuse actions. Common actions used in Amazon IoT Events are sending notifications using Amazon Simple Notification Service (SNS), triggering a function in Amazon Lambda, writing a record to DynamoDB, and republishing a message via Amazon IoT Core. When configuring IoT Events, after defining the logic that will recognize a pattern in a number of inputs, you select the type of action to trigger.
Q: Can I create custom actions?
A: When using Amazon IoT Events, you will have the option of triggering a function in Amazon Lambda; this allows the execution of code without provisioning or managing servers and the ability to create custom actions.
Q: If my event is stateful, how do I use Amazon IoT Events and the states of my equipment?
A: States are operational modes of equipment and processes. Amazon IoT Events is stateful and reacts to the same input differently depending on the current state of equipment, such as ‘running’, ‘stuck’, or ‘off’. Amazon IoT Events ties together inputs, states, and conditional logic to trigger actions. A software developer can use a graphical console builder to define states and transition between states. Alternatively, they may also define the same using the available APIs.