Estimote beacons and simple Android application
-
Upload
sapienza-university-of-rome -
Category
Engineering
-
view
622 -
download
2
Transcript of Estimote beacons and simple Android application
Davide PiccardiLinkedin: https://it.linkedin.com/in/davide-piccardi-8b3950105
Github: https://github.com/davidepic91
Sapienza University of Rome – DIAG – Pervasive Systems
Estimote beacons and simple Android application
What are Estimote beacons ?
• Small wireless sensors • Any location or object• Processor, memory, Bluetooth
smart module, coin battery, temperature and motion sensors
• New type of applications• Proximity to nearby objects• Temperature and motion
How do they work ?
• Broadcast radio signals
• Smart devices in range
• Apps can respond
• Different types of response
• Data from cloud
How many types of devices exist ?
Location• Built-in sensors • 7 years battery life• iBeacon™,Eddystone™ and Indoor Location
Proximity• 3 years battery life
Sticker• Smaller, thinner• 1 years battery life
FAQ: beacons and stickers
What is the difference between Beacons and Stickers?• Beacons public places• Sticker nearables
What is a Beacon's range?• 70 m, depends on location
Can Estimotes be placed outdoors?• Yes, waterproof
What are the practical application of beacons ?
Restaurant Clothing store
What are the practical application of stickers ?
BicyclePlants
Development technologies
Estimote SDKs• Two different versions for iOS and Android
Estimote Indoor SDK• Precise location services indoors
iBeacon ™• Bluetooth 4.0 communication protocol by Apple
Eddystone ™• By Google
Development technologies (cond’t)
Estimote Cloud• web-based platform • settings and locations • public RESTful API
• fetch data • Estimote Analytics• Estimote Cloud with backend
Important concepts for developers
Beacon region• filter or a regular expression
• Three values:• UUID (String) • major number (unsigned short integer)• minor number
• combinations of parameters
Important concepts for developers (cond’t)
Beacon monitoring• “geofence”, virtual barrier • “enter” and “exit” events
Beacons ranging• scans nearby beacons• results every second• list of matching beacons• Proximity estimation
• Immediate,near,far, unknown
Demonstration: simple restaurant Android app
• Name: Notification Restaurant Beacon• Purpose: notify the daily menu of a
restaurant• Topic: beacon monitoring• Cloud: None (for simplicity)• Used technologies: Estimote SDK for Android• Tested on: Nexus 5 with Android 6.0.1• GitHub repository:
https://github.com/davidepic91/NotificationRestaurantBeacon.git
Simple restaurant Android app (cond’t)
@Override public void onCreate() { super.onCreate();
//ADD A BEACON MANAGER beaconManager = new BeaconManager(getApplicationContext());
//START MONITORING beaconManager.setMonitoringListener(new BeaconManager.MonitoringListener() { @Override public void onEnteredRegion(Region region, List<Beacon> list) { showNotification("Restaurant AL VIALETTO", "Click for the dishes of the day"); } @Override public void onExitedRegion(Region region) { } }); beaconManager.connect(new BeaconManager.ServiceReadyCallback() { @Override public void onServiceReady() { beaconManager.startMonitoring(new Region("monitored region", UUID.fromString("B9407F30-F5F8-466E-AFF9-25556B57FE6D"), 17957, 56571)); } }); }
Code from MyApplication.java
Simple restaurant Android app (cond’t)
Simple restaurant Android app (cond’t)
That’s all !