Implementing End-to-End IoT with Octave

Thursday 9/3/20 09:00am
Posted By Ramya Kanthi Polisetti
  • Up0
  • Down0

Snapdragon and Qualcomm branded products are products of
Qualcomm Technologies, Inc. and/or its subsidiaries.

The Internet of Things (IoT) opportunity continues to see rapid growth, with some estimates projecting that the global IoT market will be worth $1 trillion dollars by 2027. With numbers like that, this opportunity is definitely ripe for developers.

But what does it take to build out an IoT infrastructure? And how do you integrate such a wide range of assets, especially legacy and remote assets? First, you're going to need some sort of hardware-level connectivity so you can establish two-way digital communications with your assets and run business logic at the device edge. Next you'll need some sort of communications protocol stack, so you can send and receive high-level messages with those assets. And finally, you'll need some sort of cloud-based system that can establish end-to-end communications with those assets so you can monitor, manage, and control them. This cloud system will also need functionality like data storage, user management, secure access, and the ability to communicate with other external systems.

For developers, these requirements present numerous challenges including:

  • finding a way to facilitate device edge and cloud-side processing
  • achieving power efficiency at the device edge
  • designing and building cloud services
  • providing cellular connectivity for remote assets while finding a cost-effective cellular plan that aligns with the unique requirements of IoT
  • managing the costs to develop and maintain all of this.

Thankfully Sierra Wireless, a designer and manufacturer of cellular-based machine-to-machine communication products, has already been thinking about this and has developed their end-to-end Octave™ IoT framework.

If you've been following our blogs, you'll recall our recent write up on Axibio, a France-based waste management solutions company, that used Octave to develop their Gaïabox smart biowaste collection bin. In that blog, we covered how Octave provides developers with device edge and cloud processing facilities, multiple device-to-asset communication protocols, pay-by-message cellular connectivity and billing, and Low Power Wide Area (LPWA) hardware.

In this blog, we'll dive a bit deeper into Octave to see how its services and technology helps developers build and deploy robust, end-to-end IoT infrastructures.

Octave Devices

At the hardware level, communication with assets is achieved by physically connecting assets to one of the following Octave-enabled devices:

Figure 1 - A top-down view of the mangOH Yellow board.
Figure 1 - A top-down view of the mangOH Yellow board.

These devices are powered by the Sierra Wireless AirPrime® WP7702 LPWA radio module which was built using the Qualcomm® MDM9206 LTE modem. Their firmware includes Octave's edge-level runtime that executes logic at the device edge, supports communications with Octave's cloud services (described below), and communicates with assets. Each device can be pre-provisioned with cellular connectivity via a Sierra Wireless-supplied SIM card, with message-based pricing tailored to IoT. As a result, they're ready to communicate with Octave cloud services right out of the box.

Octave-enabled devices support a number of I/O standards for communicating with assets including GPIO, Modbus (over UART and Ethernet), and CANopen (over UART). For assets that have UART but don't support any of the aforementioned standards, developers can implement asset-device communications using Octave Resource Protocol (ORP), a simple ASCII-based protocol built on top of HDLC-framed data.

Developers have the option to use Octave-enabled devices in their IoT deployments, or build their own Octave-enabled devices based on the WP7702 module. Alternatively, developers can start with an Octave-enabled device to develop their proof of concept, since those devices are complete systems with Octave-enabled SoCs already embedded. Once their IoT infrastructure has been proven, developers can then focus on building their own Octave-enabled devices based on the WP7702 module.

Octave Cloud Service and Development Constructs

Octave devices communicate with Octave's cloud service over the Internet. Octave's cloud services include all of the communications infrastructure necessary for both low and high-level communications with devices in IoT deployments, and many of these services can be accessed programmatically using Octave's REST API. It also includes the Octave Dashboard (requires a Sierra Wireless account), a web-based user interface through which IoT deployments are implemented, configured, and managed.

From a development point of view, Octave provides a number of high-level constructs to implement device-edge and cloud-side processing as illustrated in Figure 2:

Figure 2 - Octave constructs for edge and cloud processing.
Figure 2 - Octave constructs for edge and cloud processing.

A Resource is the most fundamental construct, as it represents an individual asset such as a sensor, actuator, etc. Resources are organized into a hierarchy and thus have unique paths.

An Observation, as the name suggests, observes a specific Resource and streams events to or from the Resource's incoming or outgoing data. These streams form the basis for implementing business logic. Developers create Edge Actions, which are entities that execute JavaScript logic on the Octave-enabled device in response to a streamed event. For example, an Edge Action might parse an event that contains a temperature reading from a sensor asset, and then send a new event to the cloud if that reading exceeds some threshold. The Edge Action could also write to another Resource to invoke an action, such as sending a command to an actuator Resource.

Since Resources, Streams, and Observations are synchronized with Octave cloud services, developers can also use these entities to implement cloud-side logic. Similar to Edge Actions, Cloud Actions allow developers to implement JavaScript logic that processes events in the cloud, and optionally, sends data out to external systems. For example, a Cloud Action might watch for an event from a sensor Resource, and then invoke a REST request to the end point of an external system when a certain sensor value is detected.

Cellular Communications

Octave is particularly exciting for Qualcomm Technologies, Inc. because it's an example of how OEMs are using our technology. In this case, the Sierra Wireless WP7702 module gets its cellular connectivity from the MDM9206. The MDM9206 provides 15 LTE bands, which means it can operate virtually anywhere in the world, and provides power efficiency for years of battery life and LPWAN implementations.

Step up Your Next IoT Project by an Octave

There are lot of aspects and challenges to consider when implementing an IoT solution. Thankfully Sierra Wireless' end-to-end Octave framework provides all of the foundational components that developers need to facilitate device edge and cloud processing, perform cost effective communications over cellar, and orchestrate the system.

For more information about Octave, be sure to check out the Octave website and the extensive Octave developer documentation. Also be sure to check out our Merch Cart with mangOH Yellow Project that was built using Octave.

Qualcomm MDM9206 is a product of Qualcomm Technologies, Inc. and/or its subsidiaries.