airvantage m2m cloud - a survival guide to newcomers
DESCRIPTION
This presentation has been presented during the first Sierra Wireless Developer Days on June 14, 2013. It describes briefly what is available in AirVantage M2M Cloud if you want to monitor a M2M solution and the different possibilities to develop and integrate a solution.TRANSCRIPT
Page
AirVantage M2M CloudA survival guide for newcomers
David Sciamma – AirVantage R&D Director
Sierra Wireless Developer Day – June 14th
Page 2Sierra Wireless Proprietary and Confidential
What you could do with AirVantage
Manage your systems
Develop your solution
Page 3Sierra Wireless Proprietary and Confidential
What you could do with AirVantage
Manage your systems
Develop your solution
Page 4Sierra Wireless Proprietary and Confidential
One click registration of ready-to-use solutions:
Manage your systems
Page 5Sierra Wireless Proprietary and Confidential
Manage and monitoring your fleet of systems:• Dashboard• Monitoring of status parameters• Alerts• Device management actions
• Reboot, Firmware upgrade, Configure, Wake-up, SMS, AT commands
• Diagnostic• Communications and status parameters history
Documentation: AirVantage > User Guide
https://doc.airvantage.net/display/USERGUIDE/AirVantage+M2M+Cloud+User+Guide
Manage your systems
Page 6Sierra Wireless Proprietary and Confidential
Manage your systems
Page 7Sierra Wireless Proprietary and Confidential
Manage your systems
Page 8Sierra Wireless Proprietary and Confidential
Manage your systems
Page 9Sierra Wireless Proprietary and Confidential
What you could do with AirVantage
Manage your systems
Develop your solution
Page 10Sierra Wireless Proprietary and Confidential
Sierra Wireless devices
Linux-based devices
Devices supporting HTTP
Develop your solution
Page 11Sierra Wireless Proprietary and Confidential
Sierra Wireless devices pre-integrated with AirVantage
Linux-based devices Port Mihini open source agent to add device management features
Devices supporting HTTP use REST API for devices to send and receive data
Develop your solution
Page 12Sierra Wireless Proprietary and Confidential
Sierra Wireless devices
Develop your solution
Using ALEOS Application Framework
Using OpenAT and the AirVantage agent
Page 13Sierra Wireless Proprietary and Confidential
Example:
Documentation: Developer Zone > ALEOS AF
http://developer.sierrawireless.com/ALEOS_AF
Using ALEOS AF
local airvantage = require "airvantage"local sched = require "sched"
local function main ()local server, status-- Initialize the link to the ReadyAgentairvantage.init()-- Create a new instance of an asset.local helloasset = assert (airvantage.newAsset("HelloAirVantage"))-- Start the asset to enable sending and receiving data.assert (helloasset:start(), "Can't register Agent")sched.wait(10)-- Put a state into the queuehelloasset:pushdata("uplink", {State=1}, "now")
endsched.run(main)sched.loop()
Page 14Sierra Wireless Proprietary and Confidential
Sierra Wireless devices
Develop your solution
Using ALEOS Application Framework
Using OpenAT and the AirVantage agent
Page 15Sierra Wireless Proprietary and Confidential
Example:
Documentation: Developer Zone > Create an AirVantage Open AT Application
http://developer.sierrawireless.com/Resources/Resources/AirVantage/Educational_Documentation/Tutorial_AirVantage_OpenAT_DevStudio_App.aspx
Using OpenAT and AirVantage agent
...case AWTDAHL_DATAMANAGER_CREATE_EVENT: if (status == AWT_STATUS_OK){ // Create data object to be sent and put data in the DataManager AwtDaObject* data = AWT_String_New("Hello world!"); push_message(data, "", "message" ); // Flush manager only after adding all data and Release objects AWT_HL_A_DataManager_Flush(pDataManager); AWT_DaObject_Release(data); } else { // Here a problem happened ... wip_debug("AWT_HL_A_DataManager_Create failed with error code %d\n", status); } break;case AWTDAHL_DATAMANAGER_FLUSH_EVENT:...
Page 16Sierra Wireless Proprietary and Confidential
Linux-based devices
Develop your solution
Using Mihini and Koneki
Page 17Sierra Wireless Proprietary and Confidential
Port Mihini onto your Linux-based devices:• To manage the lifecycle of your application
• Install, Start, Stop, Upgrade, Uninstall
• To monitor status parameters• To support device management actions
• Reboot, Configure, Wake-up, SMS
Then develop using Mihini and Koneki (same as ALEOS AF)
Documentation:
http://www.eclipse.org/mihini/
http://www.eclipse.org/koneki/
http://m2m.eclipse.org/
Mihini & Koneki ?
Page 18Sierra Wireless Proprietary and Confidential
Devices supporting HTTP• REST API for devices
• To store data• To get tasks (Read data, Write data, Execute command)
Develop your solution
Page 19Sierra Wireless Proprietary and Confidential
Example:
Documentation will be published with AirVantage 13.3
Using HTTP API for device
> POST https://na.airvantage.net/devices/api/messages[ "temperature" : [{ "value": "28", "timestamp": 1348683054569 }, { "value": "26", "timestamp": 1348503053478 }, { "value": "25", "timestamp": 1348303057000 }] }]< HTTP 200
Page 20Sierra Wireless Proprietary and Confidential
Use AirVantage M2M Cloud:• To view messages and debug communication• To view stored data• To send commands
Develop your solution
PageSierra Wireless Proprietary and Confidential 21
Use AirVantage M2M Cloud
PageSierra Wireless Proprietary and Confidential 22
Use AirVantage M2M Cloud
Page 23Sierra Wireless Proprietary and Confidential
Use AirVantage API to create an application specific to your business:• Custom display for your systems• Mobile application• Business dashboards• Advanced analytics from data
Everything is available through API
Documentation: AirVantage > Develop > API Documentation
https://na.m2mop.net/develop/apiDocumentation
Develop your solution
Page 24Sierra Wireless Proprietary and Confidential
AirVantage API
Page 25Sierra Wireless Proprietary and Confidential
What you could do with AirVantage
Manage your systems
Develop your solution
PageSierra Wireless Proprietary and Confidential 26
?
Page 27Sierra Wireless Proprietary and Confidential
Example:• Use API to get temperature and humidity
AirVantage API
> GET https://na.airvantage.net/api/oauth/token?grant_type=password&[email protected]&password=654dzzMk&client_id=my-trusted-app&client_secret=545fe77|544zzx<{ "access_token": "fe47d528-7414-4962-a7e6-ee6b82491f7a", "refresh_token": "9b465388-c9e2-45d3-98d0-1a44a503ec40", "expires_in": 43199,}> GET https://na.airvantage.net/api/v1/systems/6500ee29f8ed4e3991dff484b3ce3e73/data?access_token=fe47d528-7414-4962-a7e6-ee6b82491f7a&ids=house.temperature,house.humidity<{ "house.temperature": [ { "value": 25.0, "timestamp": 1331906459440 }], "house.humidity": [ { "value": 72.3, "timestamp": 1331906459440 }]}