4. Internet of Things
Internet of things or IoT is a network of
connected computing devices. Complexity of
devices varies from simple sensors, to advanced
computing devices with UI and high processing
capabilities.
5. iOT Market Today
Smart thermostats (Nest)
Connected Cars (10 000) -> predicted to grow to 10 mln in
2017
Connected TVs (30% U.S. households have connected TVs)
Wearable Activity trackers (Predicted to be 22% market of
IoT)
Home automation
Retail (iBeacons)
7. Connectivity and Communication
Bluetooth (radio transmissions )
WiFi (radio transmissions )
NFC & RFID (electromagnetic radio fields)
Powerline/Powercord
GSM&CDMA (Cellular)
QR-Code
8. Scale of IoT
2014
1.4 billions mobile device
1.5 billion computers
2020
8 billions connected devices
20 - 700 billion IoT devices!
Source: Rethinking the Internet of Things
9. IP4 vs IP6
IPv4 uses a 32-bit address scheme allowing for
a total of 2^32 addresses (just over 4 billion
addresses).
IPv6 uses a 128-bit address scheme, which
allows a total of 2^128 addresses.
10. Issues
Reliability
IoT is not always right.
Sensors can produce false-positives, run of battery or just simply fail.
Developers should design system that does most of the work in the background but prompts user for
his final input.
“instead of having the lights go on when you walk into the house (and thereby waking up your cousin
sleeping on the couch) have the system gently turn on the floor lights so you can navigate in the dark
but a voice system waits for you to say ‘lights’ before actually turning on the main lights.”
Complexity:
Complex machine learning algorithms, data mining
Data over flooding:
Sensors can produce massive amounts of data, that needs to be processed and stored
Security & Privacy
A lot of IoT devices have capability to carry sensitive private data.
12. Android IoT
Android Wear - it is a version of Android
designed for wearable devices.
Android Auto - extends Android platform
into the car.
Android TV
13. Windows IoT
Windows Developer Program for IoT.
https://dev.windows.com/en-us/featured/Windows-
Developer-Program-for-IoT
Can be installed on Windows hardware called Galeio.
14. iOS 8 IoT Features
Continuity
let users reply to standard SMSes from their Macs and iPads as long as the
iPhone is nearby.
Handoff: Let’s you switch between devices without losing work. For example
it let’s you start writing email on on iPhone and continue on Mac. Answer calls
using Mac, or iPad.
HealthKit - central repository for health related data. Connects to wearable
health devices .
HomeKit- HomeKit is a framework in iOS 8 for communicating with and
controlling connected accessories in a user’s home. You can enable users to
discover HomeKit accessories in their home and configure them, or you can
create actions to control those devices.
16. iBeacon
iBeacon is a name of technology that is enabling new location awareness
possibilities for apps.timation of proximity to a beacon [1] .
Leveraging Bluetooth Low Energy (BLE), a device with iBeacon technology
can be used to establish a region around an object. This allows an iOS device to
determine when it has entered or left the region, along with an es
17. user-iBeacon-data
1
2 3
1. User enters the beacon’s region
2. App recognizes it and starts
approximating it’s distance from/to
the beacon
3. app identifies iBeacon, it’s
proximity and displays data
related to it
18. iBeacon Technology Components
Hardware
● iBeacons
● Mobile Devices/Desktop Computers
Software
● Customer facing Mobile App
● iBeacon Management App
● Database and/or Web Application
19. iBeacon Technology Components
iBeacons - transmit advertisement
Mobile devices/desktop computers - serve as iBeacons transmitters
and/or BLE receiver
Customer facing app: approximates the distance to the
beacons,communicates with web services, displays iBeacon related data
Database/Web Application used to store the data and provide analytics.
iBeacon Management app - used to manipulate characteristics of the
beacon, advertisement rate, advertisement data. Used to monitor battery life of
the iBeacon.
20. Supported Hardware
Any device capable of connecting with BLE is capable of interacting with the
iBeacons
Apple:
● iPad Mini or later
● iPhone 4s or later
● iPod Touch 4th generation or later
● iPad 3rd generation or later
● Mac Book Air, Mac Book Pro, Mac Pro with BLE
Android
● Google Nexus 4,5,7,10
● Samsung Galaxy
iBeacon is in almost 200 Million devices !
21. iBeacon Use Cases
Retail
Contextualized deals:
based on time, location, client
Monitoring Shopping Behavior
storing and analyzing data about customer’s behavior
Indoor Mapping
Education
Contextual learning can be used in libraries, art museums, scavenger hunts, student orientation
Healthcare
Identifying location of patient, doctor.
Home Automation
Detecting user’s location
Social/Dating
Detecting users with the same preferences nearby
Hospitality
Automated check in
22. Proximity and range
Apple Identifies four different proximities defined as CLProximity
enumeration type
enum CLProximity : Int {
case Unknown
case Immediate
case Near
case Far
}
Unknown - Location unknown, out of range
Immediate - immediate vicinity most likely right next to the beacon (few
inches)
Near - relatively close to beacon (few meters)
Far - relatively close to beacon (more than 10 meters)
Standard beacons have an approximate range of 70 meters. Long range
beacons can reach up to 450 meters.
23. iBeacon Advertisement
Each iBeacon device transmits advertisement
with the following fields, that help to identify
location of the beacon:
Field Size Description
UUID 16 bytes Most generic, can be used for iBeacons
used by app
Major 2 bytes Specifies iBeacon subregion
Minor 2 bytes Further subdivision
Store
Location
Pensacola Chicago
UUID D9B9EC1F-3925-43D0-80A9-
1E39D4CEA95C
Major 1 2
Minor-
Patients
1 - 100000 1-100000
Minor
Equipment
100000-200000 100000-200000
24. Little bit of programming
To interact with the iBeacons in the iOS world you have to:
● ask user for permission to use location services
● register iBeacon regions that you would like to monitor
● start monitoring
● respond to delegate methods that will notify you when
the user enter or left the region
You can dowload my iBeacon manager from Github:
https://github.com/appzzman/OpenSource/
25. Little Bit of Programming
//Register regions and start monitoring for them
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc]initWithProximityUUID:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"
major:1 minor:2 identifier:@"beacon id"];
beaconRegion.notifyOnEntry=YES;
beaconRegion.notifyOnExit=YES;
beaconRegion.notifyEntryStateOnDisplay=YES;
[self.locationManager startMonitoringForRegion:beaconRegion];
//Delegate Methods:
- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region{}
//get’s called when user entered the region
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{
if([region isKindOfClass:[CLBeaconRegion class]]){[self.locationManager startRangingBeaconsInRegion:(CLBeaconRegion *)
region];}}
//gets called when the system determines proximity to the beacons
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region{}
//get’s called when user left the region
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{}
26. Where to get the iBeacon Hardware ?
● Estimote
● Gimbail
● Kontakt.io
and...
Apple! Each device with BLE can serve as a
iBeacon
30. System Components
Component Description Functionality
Front-End Website Website that users use to manage content associated with learning stations, and also display
information for potential customers or users
Managing Content and Interactions
Marketing
Analytics
Management App Manages iBeacons, monitors battery life. Most of iBeacon producers have free software to
manage their beacons.
Beacon management and
maintenance
Customer Facing Mobile
App
Caregiver mobile app that interacts with iBeacons, sends data about events to the web
application. Displays patients information.
It is used to identify caregiver, patient and medication.
sends data about events to web
application
interacts with iBeacons
display patient’s information
displays warnings
servers as a barcode reader
Nurse barcode At the beginning of the sim visit nurse authenticates herself by scanning the barcode. She/he
needs to authenticate herself again before administration of the medicine.
For self identification and
authentication
Patients barcodes For patient identification. Need to be scanned with bar code reader in the app. Patient identification
Medication barcode For medication identification. Needs to be scanned by caregiver Medicine identification
iBeacons Mini Bluetooth LE devices that are used by mobile app to determine proximity to different
objects, and time the events
Proximity and timestamps
32. Challenges
● Choosing feature set without overwhelming
users
● Figuring out permission matrix
● Dealing with unreliable data and signals
● Which data do you want to gather?
● Backend
33. FAQ
1. What’s the leading IoT platform?
Android?
1. When was developed the first IoT device?
In 1832 when Baron Schilling in Russia created an electromagnetic telegraph
1999 - IoT was used as a name of the presentation
1. What’s the role of IPv6 in IoT ?
2011: IPV6 public launch - The new protocol allows for 2128 (approximately 340 undecillionor
340,282,366,920,938,463,463,374,607,431,768,211,456) we could assign an IPV6 address to every atom on the surface of the
earth, and still have enough addresses left to do another 100+ earths.”
4. Issues?
privacy concerns, security, costs, standards, regulations,
5. What’s the profit of IoT 2014: 180 + Billion in revenue comparing to $1 trillion in 2020
6. What’s the main usage of iBeacon? Retail
7. Differences between NFC (no power source) and BLE (must have a power source) Active NFC can communicate with
Passive NFC devices. Active RFID are very similar to iBeacons