Once you’ve connected your ‘things’ with the Watson Internet of Things platform, the next question is how to process the received data. In some scenarios the raw data triggers actions immediately, sometimes the data needs to be persisted so that it can be used for historical/descriptive analysis and sometimes the data is used to perform predictive analytics and prescriptive analytics.
The Watson Internet of Things platform uses MQTT which is a lightweight and secure publish/subscribe messaging transport protocol. Developers can write applications that talk MQTT to do whatever they like to do. In addition to this the Watson Internet of Things platform provides functionality to process data without custom development.
Below is an (incomplete) list of features and patterns how to handle the data from Internet of Things devices.
In the easiest case, for example for demonstration purposes, data can be displayed via cards in the Internet of Things dashboard.
With the IoT Real-Time Insights rules can be defined to invoke actions like IFTTT, Send Email, Webhook and Node-RED. Read the article Perform Actions in IBM Watson IoT Platform Analytics Real-Time Insights for details.
Via the Watson IoT platform data can be stored automatically either in the TimeSeries database or Cloudant NoSQL database. Applications can access this data asynchronously for descriptive analytics. Read the article Timeseries Data Analysis of IoT events by using Jupyter Notebook for more.
Apache Spark can be used to analyze data and notebooks can be used to visualize data. Additionally the machine learning library in Apache Spark can be used for predictive analytics. Read the articles Realtime IoT data analysis using Apache Spark for more.
Another alternative is the Predictive Analytics service on Bluemix. You can define models and deploy the models to Bluemix to perform predictions. Read Engage Machine Learning for detecting anomalous behaviors of things for more.
There is also a connector between MQTT and Kafka which is provided in the Bluemix Message Hub service. Read Integrating Watson IoT Platform with Message Hub and Apache Spark for more.
For many IoT scenarios serverless computing is interesting. Read my earlier blog and check out the open source project openwhisk_mqtt_feed.