Insights into designing short range communication interface for IOT Bluetooth Low Energy Insights into designing short range communication interface for IOT Presented By: Amir Rix Director, Strategic Solutions, TandemG October 31, 2017 Amir Rix
Some background - IoT Amir Rix
Some background - BLE Capabilities and limitations overview Advantages – power, simplicity, available handy peers and gateways (mobile) Disadvantages – throughput, security (*), range Common use cases – cable replacement, display replacement, physical accessibility, location/presence Amir Rix
Some background – BLE stack Amir Rix
Insight #1 - Hardware Select the correct vendor Chip vs. Module Capabilities: features supported, SDKs, samples Maturity – Popular? Any deployed products based on it? Longevity support/community Chip vs. Module Price @ Quantity vs. NRE Time-to-market Certification and regulation (SIG) RF risks Focus Amir Rix
Insight #2 - Security As of BLE Version 4.2, the spec offers features to enhance privacy and security, significantly enhanced in BLE 5 (June 16’) An IoT device is a connected computer - an entry point to your smart home, smart car, and anywhere your data is A hacked IoT device is a potential BOT Amir Rix
Insight #3- Profile GAP role: Central / Peripheral GATT service (standard or proprietary) Server / Client E.g. Temperature, Glucose, Battery Multiple services w/ multiple characteristics Multiple characteristics vs. consolidated, could sometimes be used for throughput reasons. Amir Rix
Insight #4 - Power Save Rx/Tx power consumption Advertising interval, Scan interval and Scan window (Time to scan and discover) Connection parameters – Connection interval and slave latency (Time to connect) Read vs. Notification vs. indication Connection interval: Determines how often the Central will ask for data from the Peripheral. When the Peripheral requests an update, it supplies a maximum and a minimum wanted interval. The connection interval must be between 7.5 ms and 4 s. Slave latency: By setting a non-zero slave latency, the Peripheral can choose to not answer when the Central asks for data up to the slave latency number of times. However, if the Peripheral has data to send, it can choose to send data at any time. This enables a peripheral to stay sleeping for a longer time, if it doesn't have data to send, but still send data fast if needed. The text book example of such device is for example keyboard and mice, which want to be sleeping for as long as possible when there is no data to send, but still have low latency (and for the mouse: low connection interval) when needed. Amir Rix
Insight #5 - Compatibility Android Integral part since Jelly Bean (4.3), Oreo (8.0) already has API for BLE 5 Sensitivity to Manufacturer, ROM, OS version (e.g., www.idevicesinc.com/sweetblue) iOS Integral part since iOS 5, iPhone 8 already supports BLE 5 BluetoothDesignGuidelines.pdf (Updated 16/6/17) Lower max throughput (weighed against UX) A way around MFi program Amir Rix
Thank You! Feel free to contact me amir@tandemg.com +972-54-9509704 www.tandemg.com Amir Rix