by Jacob Tan and Trinidad Martinez.
In our SAP Leonardo IoT for SMBs blog series we have covered different tools and methodologies for developing IoT solutions on top of SAP Leonardo IoT.
In this blog we will like to share a mobile application prototype my colleague Jacob Tan has developed in order to show case possible IoT scenarios connecting to SAP Business One and SAP Business ByDesign.
The following video shows the main features of this mobile application.
The mobile application uses Bluetooth to connect to the Texas Instruments CC2650STK SensorTag and stream sensor data (Accelerometer, Luxometer, Humidity & Temperature).
The application has been developed as a web application and packaged into a mobile application using Cordova, therefore you can deploy this application in your iOS and/or Android mobile device.
After defining a rule, the application sends alerts to SAP Business One and/or SAP Business ByDesign via their corresponding oData/SOAP APIs:
- In the case of SAP Business One, the Service Layer oData APIs are used to create an alert.
- In the case of SAP Business ByDesign we are connecting via Web Services APIs (SOAP) and a Service Request is created.
The mobile application is also able to stream sensor data to an external application for storage. In our sample case the external application is a nodejs application running on SAP Cloud Platform Cloud Foundry. The nodejs application connects with SAP Leonardo IoT cockpit in order to store the sensor data and be able to manage the data via APIs.
You can see the different components and their interconnection in the following image:
Installation / deployment of the mobile app
You can get the SMB.io mobile application for your iOS device from the Apple Store:
If you want to install the mobile application on an Android device, you must install Cordova and build the application by yourself before deploying it in your device. Please check full instructions in this Readme file.
You can get the full source code of the mobile application from this GitHub repository containing deployment instructions on its Readme file.
To test the features of this mobile application, the first and mandatory step is to purchase a Texas Instruments CC2650STK SensorTag. If you have another type of device, you can adapt the source code provided to send data from your device to the mobile application based on your device APIs.
SAP Business One and/or SAP Business ByDesign backend
To test the creation of alerts in your ERP based on your defined rules, you need the connectivity details of your SAP Business One and/or SAP Business ByDesign ERP backend.
SAP Business One
This application creates Alerts and Activities in SAP Business One via the SAP Business One Service Layer oData APIs.
The Service Layer is installed by default since SAP Business One version for SAP HANA 9.2 and SAP Business One version for MSSQL 10.0. Please check more details about Service Layer on this introduction video and official documentation here.
SAP Business ByDesign
This mobile application creates ServiceRequests in SAP Business ByDesign via the Inbound_Service_ManageServiceRequestIn_V1 Web Service (SOAP).
Web Services are exposed by default in SAP Business ByDesign installations.
SAP Cloud Platform SAP Leonardo IoT
To test the stream data feature to SAP Leonardo IoT, you need an SAP Leonardo IoT cockpit account (no trial available at this time) and an SAP Cloud Platform Cloud Foundry account (you can use a free 30 days trial account). This requirement is not mandatory though and only impacts the Stream to SCP feature of the application.
If you want to learn more about SAP Leonardo IoT don’t hesitate to check the full set of SAP Leonardo IoT blogs we have prepared for SMB partners building the Intelligent Enterprise:
- SAP Leonardo IoT for SMBs
- SAP Leonardo IoT – How to define your Device Model and start persisting measures
- SAP Leonardo IoT – Digital Twin
- SAP Leonardo IoT – Services
- SAP Leonardo IoT – WebIDE templates and controls
- SMB.io: IoT mobile app prototype
Check the details of this mobile application in our SMB.io GitHub repository and let us know your feedback!