Post on 12-Jul-2015
Wearables at ScaleDeploying OSGi on an army of Cubie Trucks
Frank Lyaruu
About me
Frank Lyaruu
CTO at
Senior Technology Architect at
@lyaruu
11/17/14 2
About Dexels
• Est. 2001 based in Amsterdam
• Enterprise software for large companies
• Heavily invested in OSGi
• Focused on sports and entertainment11/17/14
3
About Dexels
• Est. 2013
• Joint venture with Dexels
• Custom hardware for large events
11/17/144
• Case study
• Hardware stack
• Software stack
• Development chain
• DEMO!
5
Tomorrowland
Tomorrowland
Tomorrowland 2014
Electronic music festival near Antwerp, Belgium
• 2 weekends
• 8 stages
• ~100 hectares
• ~100k visitors a weekend
• ~ € 250 per ticket
11/17/148
Requirements
Requirements
Design a wristband to do:
• Access control
• Location
• Profiling / feedback
• Crowd monitoring
• Integrate with 3rd party applications
• Something that adds to the UX
11/17/1410
Access control
• Should always work
• Should be secure
…simplicity is essential: Passive RFID
11/17/1411
Location
• Ability to locate individuals
• Ability to locate security personnel
11/17/1412
Profiling / feedback
• How do the visitors behave?
• What acts are popular?
11/17/1413
Crowd monitoring
• Find hotspots in the flow of people
• Dashboard for security personnel
11/17/1414
UX
• UX is key
• Comfortable
• Match the festival
• Suitable for non-nerds
11/17/1415
The plan
The setup
• Set up base stations around the terrain
• Wristbands will report status
• The base stations triangulate and consolidate the data
• Visualize and push the data to other applications
• Use regular passive RFID for access control11/17/14
17
Something cool
• LED lights on the wristbands, integrated with the light show
• A button to send Facebook friend requests
11/17/1418
The protocol
• Time slotted protocol
• All base stations synchronise with each other
• Visitor bracelets send every few minutes
• Staff bracelets send every few seconds
11/17/1419
Hardware
Hardware
• One 3V battery for 3 days
• Leather
• Branded for the festival
• < $10 per bracelet
11/17/1421
Base station hardware
22
Base station
23
§
24
Hardware challenges
11/17/1426
Base stations
• Heat
• Rain
• Unreliable power
• Unreliable network
• Unstable mount points
• Electromagnetic interference
11/17/1427
Base station deployment
28
Base stations
11/17/1429
Local “datacentre”Local “datacentre”
Hazelcast clusterHazelcast cluster
Sendrato Infrastructure
11/17/1430
CubieTruckCubieTruck CubieTruckCubieTruckCubieTruckCubieTruck
CloudCloud
Salt MasterSalt Master
Log serverLog server
MongoDbMongoDb MongoDbMongoDb
Super coordinatorSuper coordinator
Management UIManagement UI
3rd party3rd party
Base station software stack
11/17/1431
Fedora 20Fedora 20
JavaJava
Apache FelixApache Felix
Salt
age
ntSa
lt a
gent
Sendrato ApplicationSendrato Application
Base stationBase station
Basestation software
32
Radio DriverRadio Driver OSGi eventOSGi event
Log locally?Log locally?
Publish in clusterPublish in clusterFilter eventFilter event
Radio Radio
WristbandsWristbands
Logging
• Custom Logback appender to Redis queue
• ElasticSearch analytics
• Kibana web interface
33
Salt Stack
• Configuration manager
• Remote execution
• Agent based
• Versatile & Fast
• Master running in the cloud
34
“Testing in production”
Development cycle
36
EclipseEclipse Maven buildMaven build GitGit SaltSalt FileInstallFileInstall
• Pretty crude but effective:
Future work
• Distributed OSGi
• More mature deployment model
• Apache Karaf + Cellar
• Pluggable network / clustering
• Proper 3rd party API
37
Demo