Introduction

The Cumulocity IoT Sensor App is a free smartphone application available for iOS and Android smartphones. It is the successor of the previous Cloud Sensor App.

The app is designed to collect measurements from your smartphone, nearby Bluetooth device sensors, and vehicle On-board Debug (OBD) sensors, and send them to the Cumulocity IoT platform. It has a straightforward registration workflow to get you up and running quickly and provides an easy way to get data into Cumulocity IoT.

If you are using the Cumulocity IoT free trial available via Software AG Cloud, the app ideally helps you to quickly get familiar with the platform as it provides an easy way to connect devices and sensors. Capturing data from Bluetooth devices with Cumulocity IoT moreover saves a lot of implementation effort.

Besides sending data to the platform, the Cumulocity IoT Sensor App can also send commands to the smartphone directly from the phone dashboard. Commands currently available in the dashboard include alert messages and vibration.

Supported smartphone sensors include:

  • Accelerometer and motion sensor
  • Gyroscope
  • Barometer
  • Magnetometer and compass
  • GPS location
  • Microphone and voice
  • WiFi strength (selected Android devices only)
Info
The app only works with sensors supported by your smartphone’s hardware which provide official APIs. Depending on platform support, additional sensors may be added in future versions.

The latest list of supported Bluetooth devices is provided in the app. A button to take you to this page can be found when scanning for new devices. Currently the app supports the following devices:

  • Texas Instruments Sensor Tag
  • Acaia Lunar Scale
  • Cinco Scale
  • CirrusSense Pressure Sensor
  • Blebricks

More devices will be supported in the future and made available in the app.

Info
The Barista.io demo demonstrates the use of connected weight and pressure sensors to brew the perfect coffee. The demo sends measurements from up to 4 connected Bluetooth devices to Cumulocity IoT in real time.

Reading vehicle sensors comes with the use of an additional OBD dongle, which exposes the vehicles sensors to the phone via WiFi or Bluetooth (Note: iOS is WiFi only). There are two supported diagnostic connectors, both based on the ELM327 microcontroller:

  • Kungfuren OBD2 Diagnostic Device Bluetooth 4.0 Adapter
  • Kungfuren OBD2 Reader WiFi Adapter

Software libraries

Cumulocity IoT offers a wide range of functionality for interfacing IoT devices and other IoT-related data sources with the Cumulocity IoT platform.

If your device uses a completely proprietary runtime environment, you can always use MQTT and SmartREST 2. These will work on practically any internet-connected device today, down to the smallest systems.

Detailed information on device integration using MQTT and REST can be found in Device integration.

Mobile networking support

Cumulocity IoT supports any type of internet connectivity in a secure manner. It gracefully deals with intermittent, bandwidth-restricted and uni-directional connections (such as communication through NAT). Where desired, Cumulocity IoT can control remote devices in a real-time manner.

Mobile internet connectivity is an ideal choice for many machine-to-machine applications, since it works well nearly everywhere without requiring any integration with a company’s network infrastructure. This is especially true if your IoT SIM card allows for free roaming between mobile networks. The large bandwidths requirements of consumer applications are often not required. With Cumulocity IoT, you can benefit from mobile connectivity without requiring additional network provider services such as VPNs and public or even static IP addressing.

Device management

Cumulocity IoT provides extensive device management for fully certified devices. This includes:

  • Hardware and modem information.
  • Connection monitoring.
  • Centralized fault management and service level monitoring.
  • Configuration management.
  • Software and firmware management.
  • Graphs of device statistics.
  • Frequently used remote controls (such as restart button and switches).
  • Troubleshooting features such as events list and operations queue.

The level of depth in device management may depend on device features (for example if a device does not support remote firmware upgrade, it will also not be available through Cumulocity IoT). For interfacing devices not yet certified with Cumulocity IoT, the fragment library and Device integration are publicly available.

Visualization and remote control

Cumulocity IoT visualizes your sensor data centrally and graphically through its modern web user interface. It also exposes common remote controls to users with the relevant permissions.

The user interface automatically adapts itself to the devices you connect – no configuration required. For example, if you connect a device that supports being restarted from remote, you will see a “Restart” button. If the device sends light sensor data, you will see a graph with the readings from the sensor.

It also adapts itself to the web browser that you use. For example, if you use a mobile phone or tablet with limited screen size, it will change user interface controls to use less screen estate.

Through the fragment library, common sensor and control types are rendered correctly regardless of the device that produces the sensor data.

Customization

The functionality described so far already provides a wide range of device management, visualization and control options.

Furthermore it produces custom visualization, new control widgets and custom business logic.

Cumulocity IoT has extensive customization options, for example:

  • Write alarm rules to reprioritize or suppress alarms and to define your SLA parameters.
  • Use realtime to implement real-time business rules. For example, get an email when critical events happen, or trigger automated actions on devices in that case.
  • Set up a graphical dashboard with your most important KPIs.
  • Subscribe to plugins that contribute new functionality to the Cumulocity IoT application.

Customization concepts of Cumulocity IoT are described in Real-time processing and Developing applications.

APIs

Cumulocity IoT exposes its complete functionality through programming interfaces (APIs). This means that all of Cumulocity IoT’s functionality is available for you to use in different contexts outside of what Cumulocity IoT directly provides - in your own applications, in your own devices. See the Cumulocity IoT OpenAPI Specification for details.

In contrast to many other IoT platforms, Cumulocity IoT uses the same APIs and the same interface technology for all use cases. As a consequence, you have a wider range of choices in putting intelligence into your IoT devices, depending on how powerful they are. Moreover, you must only use one set of APIs and one technology to build a complete solution from device to application on your own.

Cumulocity IoT uses HTTP and REST, which is today the most widely used interfacing technology and which works on any internet-connected device ranging from small embedded microcontrollers up to desktop PCs. The secure variant, HTTPS, is used for the most security critical applications and will give you the best possible security.

The plugin concept of Cumulocity IoT enables you to write new user interface functionality that will seamlessly extend the existing Cumulocity IoT platform.

Important
The public APIs for Cumulocity IoT are backward compatible where possible. For details see API compatibility.

Compatibility policy

Cumulocity IoT provides the highest possible level of compatibility to make sure that your investments into developing solutions with Cumulocity IoT are maintained.

Info
For details on the release types (such as GA release, Yearly release or Maintenance release) and their version labels see Release types.

The current compatibility statements are described as follows.

API compatibility

Cumulocity IoT’s REST, SmartREST and MQTT APIs as documented in the product documentation are backwards compatible. You can find such documentation in:

Cumulocity IoT is continually improving the user experience and product capabilities and may improve the API from time-to-time. In general, applications must always obey a few basic rules:

  • Clients must only use documented API methods and documented behavior. Do not rely on undocumented but observed behavior.
  • Clients must only rely on behavior that is explicitly described in the documentation. For instance, clients shall not rely on a sequence of results if no sort order is guaranteed.
  • Clients can rely on a stable inventory API where they can manage their inventory objects. However, the data structures for objects owned by the Cumulocity IoT platform can change.
  • APIs will evolve within the boundaries of backward compatibility; as examples optional fields might be added in the request and APIs might return additional JSON fields. Therefore, clients must be written in a way that they ignore such changes.
  • There is no forward compatibility specified for the Cumulocity IoT APIs, therefore newer clients built against a newer API (or SDK) are not guaranteed to work with older Cumulocity IoT APIs.
Info

If changes result in breaking backward compatibility, to provide our customers with the time to change their solution, such changes will in general be announced at least 6 months ahead of the version in which the change becoming effective.

In some cases we may have to change an API due to external factors, for example in order to support a security enhancement or to achieve compliance with the underlying standard. Under these circumstances the change will also be announced, but based on an assessment of impact the announcement might not happen ahead of time.

Preview APIs

To maintain API and product quality we may, from time to time, hold back new APIs in a preview state to make sure that they are robust, properly documented, and provide the capability required. These APIs may change without a prior announcement. Please keep this in mind if you start using APIs that are documented as beta in our API documentation.

SDK and client library compatibility

Cumulocity IoT developer libraries and SDKs (like Java, JavaScript) may be changed. The libraries and SDKs help developers to access the Cumulocity IoT APIs in their custom implementation and are typically bundled with the custom implementation. The programming interfaces for Cumulocity IoT developer libraries and SDKs might change with new versions, requiring the custom implementation using these libraries or SDKs to be changed. It is not required to upgrade the custom implementation since the underlying REST and MQTT APIs remain compatible as long as no breaking changes to the APIs happen (see API compatibility).

Info
Regular upgrades to the latest SDK versions are strongly recommended to be able to benefit from new product features as well as the latest bug and security fixes. Changes are communicated as part of the Cumulocity IoT release notes or change logs. Whenever possible, it is also strongly recommended to consider software updates for devices from the start.

Maintenance release

For clarification, maintenance releases for the same Yearly release contain only corrective functional changes but no breaking API changes.

Applications and microservices

In general, you can run an older application or microservice version against a newer Cumulocity IoT backend, as long as the application or microservice uses documented APIs only. In the rare case of announced breaking changes it might be required to update the application or microservice with a more recent version of an SDK before the change becomes effective.

Cumulocity IoT functionality

Cumulocity IoT microservices and user interface features may be deprecated. In this case, the Cumulocity IoT deprecation process provides an early indication to users of the features. Deprecation notices are included in the documentation and the change logs at least 6 months ahead of the version in which the change becomes effective.

Summary

Cumulocity IoT is an independent device and application management IoT platform. It connects and manages your devices and assets efficiently and can control them remotely.

  • Connect your devices and assets over any network.
  • Monitor conditions and generate real-time analytics.
  • React immediately to conditions or situations.