Future is here with SAP HANA Smart Data Streaming
IoT SAP HANA – Smart Data Streaming
We are committed to new technologies. In recent years our company got engaged with the Internet of Things and Industry 4.0 with CELLIOT and SAP IoT Service. Our latest IoT solution is in SAP Smart Data Streaming.
Smart Data Streaming is a HANA based data and event analytical tool from SAP. With this tool, we can easily develop real-time data processing projects with which we can receive and send data to our assets and create data streams for complex aggregations, joins, and we can even write simple script to manipulate the stream of data.
Watch this video about the solution:
Our steaming project is based on our latest IoT solution with SAP Cloud Internet of Thing Service. We also use the TI SensorTag as a data source, and we use Raspberry Pi as well to connect the Bluetooth sensors to the Internet. But this time we are not sending data to a cloud service, but rather to the Input Streams of a Smart Data Streaming project. Although one could use the Internet of Things service as well for device management and message management, because it has a built-in Smart Data Streaming data processing interface. But we found it was more efficient to connect directly to the HANA system.
We can connect to the project’s streams and windows with REST or WebSocket API as Subscriber or Publisher, or we can use built-in or custom adapter for a more specific job. For our project we use Websocket API to connect to the sensor, and built-in adapters for database connections, and one HTTP adapter for SAP Push Notification.
Our project scenario is to separate incoming data, based on the incoming data type. And to act properly in each scenario. An example input schema:
RASPBERRY_IN_STREAM(MACHINEID, TIMESTAMP, DATA_TYPE, DATA_VALUE)
When we get a new data entry (DEVICE001, ‘201706071530’ , ‘POWER_STATUS’ , ‘Power Off”) we then set the DEVICE001 power statuses to ‘Power Off’ and we start a counter, which counts until we get the “Power On” message for our device. Once this has happened we send a data record in a database with the downtime. It is all in real-time.
Notification about any abnormal event
Another scenario could be getting periodical temperature data from a device such as a fridge sensor. We can link that data to a reference database, so we can know the device’s temperature tolerance; if the temperature is rising too high or low, we can send an instant Push Notification to the responsible crew’s phone. Of course, we log all events in an appropriate logfile or table.
A live dashboard could be a third scenario. We get numerical data such as Temperature, Light, Pressure, etc. separately in different periods. In Smart Data Streaming we can update data fields with the latest data value. And of course this is all in real-time before touching a database table.
But if we want to, we can easily save data to a database with adapters for later examination. SAP Lumira is a great tool to do just that.
We can even make a machine to machine (M2M) connection without any human intervention. We are currently working on an Arduino project where a curtain is turned based on metered light.
That was just few examples what we are working on, but the possibilities are nearly endless.