In this tutorial, you will connect an Android device to WSO2 IoT Server and monitor the sensor data.
WSO2 IoT Server supports devices on Android version 4.2.x to 7.0 (Android Jelly Beans to Nougat)
The following subsections explain how you can work with the Android Sense device type:
Before you begin
Start the WSO2 IoT Server broker, core and, analytics profiles in the given order. For more information, see how to start the WSO2 IoT Server.
cd <IOTS_HOME>/bin ------Linux/Mac OS/Solaris ---------- ./broker.sh ./iot-server.sh ./analytics.sh -----Windows----------- broker.bat iot-server.bat analytics.bat
Enroll Android Sense
Sign in to the Device Management console.
Click Enroll New Device.
If you are an Admin user, click the
menu icon, and select DEVICE MANAGEMENT, to access the ENROLL DEVICE button.- Click Android Sense to enroll a device of the type Android Sense.
Enroll the device.
Scan the QR code using your device, and the Android Sense agent will download on to your device.
Prerequisite: If you click Scan QR code, you will need to have a QR scanner application on the device.
- Click Download APK.
- Copy the downloaded file to your mobile device.
PrerequsiteConfigure the email settings to send out an invitation for users to register their device with WSO2 IoT Server.
- Click Invite by Email.
Enter the email address of the users who need to enroll their device with WSO2 IoT Server, and click Send Invite(s).
If you entered your email address, you will receive the registration email.In this scenario, WSO2 IoT Server uses a third-party email account to send the email invite to the same/another email address. Make sure the settings of that third-party email account allows another entity (in this case it is WSO2 IoT Server) to send an email on its behalf.
Open the downloaded file, tap NEXT, and tap INSTALL.
- Tap OPEN, once the WSO2-SenseAgent is installed.
- Enter your details and tap REGISTER DEVICE.
- Username: Your WSO2 IoT Server username
- Password: The password you used to sign into WSO2 IoT Server
- Server URL: Provide the server URL in the
https://<IOTS_HOST>:<IOTS_HTTPS_PORT>
format.
Example:https://10.100.4.98:8243
- Try out the Android Sense application.
If you want to add sensors, tap add sensor
, select the sensors you wish to add, and tap OK.For more information on configuring the accelerometer to work with Android Sense, see Configuring the Rapid Accelerometer of the Android Sense.
- If you want to push the data to the WSO2 IoT Server so you can view the data in real time or check out the historical data, tap push data to device .
View device analytics
To monitor real-time device statistics,
- Click on the device icon available on the Devices page, and navigate to Device Details page.
- To view location-based device statistics, follow the steps below:
Install the geo extension feature to WSO2 IoT Server, by navigating to
<IoTS_HOME>/wso2/analytics/scripts
directory and running the following command.mvn clean install -f siddhi-geo-extention-deployer.xml
Enable the geo extension feature in WSO2 IoT Server, by opening the
cdm-config.xml
file in the<IoTS_HOME>/conf
directory and setting the following properties under the<GeoLocationConfiguration>
tag to true.<GeoLocationConfiguration> <isEnabled>true</isEnabled> <PublishLocationOperationResponse>true</PublishLocationOperationResponse> </GeoLocationConfiguration>
Restart the WSO2 IoT Server broker, core and, analytics profiles in the given order
cd <IOTS_HOME>/bin ------Linux/Mac OS/Solaris ---------- ./broker.sh ./iot-server.sh ./analytics.sh -----Windows----------- broker.bat iot-server.bat analytics.bat
Click on the Device Location tab.
For more information on location-based services, see Monitoring Devices Using Location Based Services.
What's next
Follow the options given below to see what you can do next:
Try out building the Android Sense source. For more information, see Building the Android Sense Agent.
Navigate to the Device Management page to view all the created devices.
Select a device from your device dashboard and check the available operations and monitor real-time data.