sierra wireless developer day 2013 - 11 - airvantage m2m cloud
DESCRIPTION
By David Sciamma - Director, AirVantage engineeringTRANSCRIPT
Page
AirVantage M2M Cloud A survival guide for newcomers David Sciamma – AirVantage R&D Director
Page 2
What you could do with AirVantage
Sierra Wireless Proprietary and Confidential
Manage your systems
Develop your solution
Page 3
What you could do with AirVantage
Sierra Wireless Proprietary and Confidential
Manage your systems
Develop your solution
Page
One click registration of ready-to-use solutions:
4
Manage your systems
Sierra Wireless Proprietary and Confidential
Page
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
5
Manage your systems
Sierra Wireless Proprietary and Confidential
Page 6
Manage your systems
Sierra Wireless Proprietary and Confidential
Page 7
Manage your systems
Sierra Wireless Proprietary and Confidential
Page 8
Manage your systems
Sierra Wireless Proprietary and Confidential
Page 9
What you could do with AirVantage
Sierra Wireless Proprietary and Confidential
Manage your systems
Develop your solution
Page
Sierra Wireless devices
Linux-based devices Devices supporting HTTP
10 Sierra Wireless Proprietary and Confidential
Develop your solution
Page
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
11 Sierra Wireless Proprietary and Confidential
Develop your solution
Page
Sierra Wireless devices
12
Develop your solution
Sierra Wireless Proprietary and Confidential
Using ALEOS Application Framework
Using OpenAT and the AirVantage agent
Page
Example:
Documentation: Developer Zone > ALEOS AF http://developer.sierrawireless.com/ALEOS_AF
13
Using ALEOS AF
Sierra Wireless Proprietary and Confidential
local airvantage = require "airvantage" local sched = require "sched" local function main ()
local server, status -- Initialize the link to the ReadyAgent airvantage.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 queue helloasset:pushdata("uplink", {State=1}, "now")
end sched.run(main) sched.loop()
Page
Sierra Wireless devices
14
Develop your solution
Sierra Wireless Proprietary and Confidential
Using ALEOS Application Framework
Using OpenAT and the AirVantage agent
Page
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
15
Using OpenAT and AirVantage agent
Sierra Wireless Proprietary and Confidential
... 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
Linux-based devices
16
Develop your solution
Sierra Wireless Proprietary and Confidential
Using Mihini and Koneki
Page
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/
17
Mihini & Koneki ?
Sierra Wireless Proprietary and Confidential
Page
Devices supporting HTTP • REST API for devices
• To store data • To get tasks (Read data, Write data, Execute command)
18
Develop your solution
Sierra Wireless Proprietary and Confidential
Page
Example:
Documentation will be published with AirVantage 13.3
19
Using HTTP API for device
Sierra Wireless Proprietary and Confidential
> POST https://na.airvantage.net/devices/api/messages [ "temperature" : [{ "value": "28", "timestamp": 1348683054569 }, { "value": "26", "timestamp": 1348503053478 }, { "value": "25", "timestamp": 1348303057000 }] } ] < HTTP 200
Page
Use AirVantage M2M Cloud: • To view messages and debug communication • To view stored data • To send commands
20
Develop your solution
Sierra Wireless Proprietary and Confidential
Page Sierra Wireless Proprietary and Confidential 21
Use AirVantage M2M Cloud
Page Sierra Wireless Proprietary and Confidential 22
Use AirVantage M2M Cloud
Page
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
23
Develop your solution
Sierra Wireless Proprietary and Confidential
Page 24
AirVantage API
Sierra Wireless Proprietary and Confidential
Page 25
What you could do with AirVantage
Sierra Wireless Proprietary and Confidential
Manage your systems
Develop your solution
Page Sierra Wireless Proprietary and Confidential 26
?
Page
Example: • Use API to get temperature and humidity
27
AirVantage API
Sierra Wireless Proprietary and Confidential
> 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 }] }