EPF IoT class 2018

7b5a07956eb0b62be7214d043821a987?s=47 jinqian
October 12, 2018

EPF IoT class 2018



October 12, 2018


  1. Qian Jin | @bonbonking | qjin@xebia.fr 2018-2019 IoT Course EPF

  2. About Me

  3. + +

  4. Agenda

  5. Preface: Ubiquitous Computing What’s IoT? How-To: IoT for Dummies IoT

    Hardware Guide Criticism and controversies Takeaways: The future of IoT Preparation of Hands-on: Android Things
  6. Ubiquitous Computing

  7. The most profound technologies are those that disappear. They weave

    themselves into the fabric of everyday life until they are indistinguishable from it. —— Mark Weiser, Xerox Parc, 1991 The Computer for the Twenty-First Century
  8. • Ubiquitous computing names the third wave in computing, just

    now beginning. First were mainframes, each shared by lots of people. Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop. Next comes ubiquitous computing, or the age of calm technology, when technology recedes into the background of our lives.
  9. • The purpose of a computer is to help you

    do something else. • The best computer is a quiet, invisible servant. • The more you can do by intuition the smarter you are; the computer should extend your unconscious. • Technology should create calm.
  10. None
  11. Tabs: wearable centimetre sized devices Pads: hand-held decimetre-sized devices Boards:

    metre sized interactive display devices
  12. • Synonyms: Pervasive computing, Ambient Intelligence, physical computing, the Internet

    of Things, haptic computing, and "things that think” • Research topics: distributed computing, mobile computing, location computing, mobile networking, context-aware computing, sensor networks, human-computer interaction, and artificial intelligence.
  13. What’s IoT?

  14. What is IoT? A buzz word The Evolution of IoT

  15. A Buzz Word

  16. In·ter·net of Things The network of physical devices, vehicles, buildings

    and other items—embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.
  17. 2013 the Global Standards Initiative on Internet of Things (IoT-GSI)

    defined the IoT as "the infrastructure of the information society."
  18. The Evolution

  19. None
  20. None
  21. Source: NCTA

  22. Nabaztag

  23. Karotz

  24. IoT Ecosystem

  25. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  26. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  27. Amazon Echo

  28. Google Home

  29. Samsung Family Hub Refrigerator

  30. Belkin WeMo Insight Switch

  31. NETATMO Smart Home Products

  32. Nest Learning Thermostat

  33. Philips Hue Wireless Dimming Kit

  34. August Smart Lock

  35. None
  36. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  37. None
  38. Image Credit: Tech Crunh & Profitness Tech

  39. None
  40. None
  41. Thync

  42. None
  43. Nike HyperAdapt 1.0

  44. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  45. None
  46. None
  47. None
  48. Withings Products

  49. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  50. None
  51. None
  52. None
  53. Smart Citizen

  54. Smart Citizen

  55. Pigeon Air Patrol

  56. Pigeon Air Patrol

  57. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  58. Courtesy: Cognizant

  59. Courtesy: Cognizant

  60. None
  61. Tesla Gigafactory

  62. None
  63. Building & Home automation Smart City Smart Manufacturing Wearables Health

    Care Automotive
  64. None
  65. None
  66. None
  67. And More…

  68. Farming Data Survey Drones Fleet of Agribots Texting Cows Smart

  69. None
  70. None
  71. How-To: IoT for Dummies

  72. None
  73. How-To: IoT for dummies IoT Solution Life Cycle Edge computing

    & gateway device Connectivity Options M2M Data Protocols: MQTT, CoAP, XMPP IoT Cloud Solutions IoT & Big Data
  74. IoT Solution Life Cycle


  76. Things Gateway Device Network & Cloud Network Infrastructure Cloud /

    Data Center Infrastructure
  77. Edge Computing & Gateway Device

  78. Edge Computing • Edge computing is a distributed computing paradigm

    in which computation is largely or completely performed on distributed device nodes known as smart devices or edge devices as opposed to primarily taking place in a centralized cloud environment. • Edge refers to the geographic distribution of computing nodes in the network as Internet of Things devices. Reference: https://en.wikipedia.org/wiki/Edge_computing
  79. Edge Computing: advantages • Privacy and security • Reduce data

    processing latency • Faster feedbacks • Offline capability • Reduce resource cost: only send and store useful data to the cloud Reference: https://en.wikipedia.org/wiki/Edge_computing
  80. Gateway Device A dedicated gateway device might be required if

    devices: • Don’t have routable connectivity to the Internet, for example, Bluetooth devices. • Don’t have processing capability needed for transport-layer security (TLS) and as such can't communicate with remote APIs • Don't have the electrical power to perform required network transmission.
  81. Gateway Device A gateway device might be used even when

    the participating devices are capable of communicating without one, in order to: • Condensing & cache data • Manage Timestamps • IPV6 to IPV4 translation • Ingesting and uploading other flat-file-based data • Firmware updates
  82. Connectivity Options

  83. Internet PAN / LAN *PAN: Personal Area Network *LAN: Local

    Area Network
  84. None
  85. None
  86. 3G 4G LPWAN / WAN *LPWAN: Low Power Wide Area

    Network *WAN: Wide Area Network
  87. • SIGFOX employs a cellular style system that enables remote

    devices to connect using ultra-narrow band (UNB) technology, the same used for submarine communications during World War I.
  88. None
  89. None
  90. None
  91. None
  92. None
  93. M2M Data Protocols

  94. • Machine to machine refers to direct communication between devices

    using any communications channel, including wired and wireless.
  95. • MQTT stands for MQ Telemetry Transport. • It is

    a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks.
  96. Temperature Sensor Laptop Smartphone MQTT Broker 25°C Publish Subscribe 25°C

    Publish Subscribe Publish Subscribe to topic “temperature” Publish to topic “temperature”
  97. • Low overhead • Low energy consumption • Based on

    TCP/IP • Support of WebSocket • Multiple implementations: Java/Python/C++ • Commercial and Open Source version
  98. • The Constrained Application Protocol (CoAP) is a specialized web

    transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. • The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation. CoAP
  99. • Extensible Messaging and Presence Protocol (XMPP) is a communications

    protocol for message-oriented middleware based on XML (Extensible Markup Language). • It enables the near-real-time exchange of structured yet extensible data between any two or more network entities. Originally named Jabber.
  100. Protocol RESTful HTTP MQTT CoAP XMPP Transport TCP / IP

    TCP / IP UDP TCP / IP Messaging Request/Response Publish/Subscribe Request/Response Request/Response Publish/Subscribe Request/Response 2G, 3G, 4G Suitability (1000s nodes) Excellent Excellent Excellent Excellent LLN Suitability (1000s nodes) Fair Fair Excellent Fair Compute Resources 10Ks RAM/Flash 10Ks RAM/Flash 10Ks RAM/Flash 10Ks RAM/Flash Success Storied Smart Energy Profile 2 (premise energy management/home services) Extending enterprise messaging into IoT applications Utility Field Area Networks Remote management of consumer white goods Reference: http://blogs.cisco.com/digital/beyond-mqtt-a-cisco-view-on-iot-protocols
  101. IoT Cloud Solutions

  102. None
  103. None
  104. None
  105. None
  106. None
  107. None
  108. None
  109. Device Gateway Cloud

  110. None
  111. IoT & Big Data

  112. IoT Hardware Guide

  113. Hardware Guide SoC (System on Chips) & SoM (System on

    Module) Electronic Components I/O Basics Hardware Ecosystem Android Things *Beacon Technology
  114. SoC & SoM

  115. SoC: System on Chip • A System-on-a-Chip brings together all

    the necessary components of a computer into a single chip or integrated circuit.
  116. SoM: System on Module • System on module (SOM) is

    a type of single board computer that can be plugged into a carrier board/baseboard, or some motherboards. • Reduce the cost of the base board or the main PCB (Printed Circuit Boards) • Design-reuse, can be integrated into many embedded computer applications
  117. SoM & Android Things Reference: https://developer.android.com/things/hardware/

  118. Electronic Components

  119. Breadboard

  120. Resistors

  121. None
  122. Diode

  123. LED (Light-Emitting Diode)

  124. None
  125. • Currents of 2 mA, 10 mA and 20 mA

    are common • Typically, the forward voltage of an LED is about 1.8–3.3 volts; it varies by the color of the LED. A RED LED typically drops 1.8 volts, but voltage drop normally rises as the light frequency increases, so a BLUE LED may drop around 3.3 volts. • To connect a LED to Arduino or Raspberry Pi: 5V - 2V / 0.02A = 150 ohm
  126. Transistor

  127. BJT: Bipoler Junction Transistor NPN PNP

  128. Capacitor

  129. Male-Male Female-Female Male-Female

  130. Grove Temperature & Humidity Sensor Grove Motion Sensor Grove Sound

  131. None
  132. None
  133. None
  134. None
  135. *GPIO Numbering Physical Numbering *GPIO: General Purpose Input / Output

  136. I/O Basics

  137. GPIO: General Purpose Input/Output • General Purpose Input/Output (GPIO) pins

    provide a programmable interface to read the state of a binary input device (such as a pushbutton switch) or control the on/off state of a binary output device (such as an LED).
  138. PCM: Pulse Code Modulation • Pulse-code modulation (PCM) is a

    method used to digitally represent sampled analog signals.
  139. PWM: Pulse Width Modulation • Pulse Width Modulation (PWM) is

    a common method used to apply a proportional control signal to an external device using a digital output pin. (e.g. servo motors, LCD display). It is a technique for getting analog results with digital means. • Frequency (expressed in Hz): describes how often the output pulse repeats. • Period is the time each cycle takes and is the inverse of frequency. • Duty cycle (expressed as a percentage) describes the width of the pulse within that frequency window.

  140. Servo motor & PWM

  141. None
  142. None
  143. I2C: Inter-Integrated Circuit • The Inter-Integrated Circuit (IIC or I2C)

    bus connects simple peripheral devices with small data payloads. Sensors and actuators are common use cases for I2C. Examples include accelerometers, thermometers, LCD displays, and motor drivers. • I2C is a synchronous serial interface, relies on a shared clock signal to synchronize data transfer between devices. I2C devices connect using a 3-Wire interface consisting of: • SCL: Shared clock signal • SDA: Shared data line • GND: Common ground reference
  144. None
  145. SPI: Serial Peripheral Interface • Serial Peripheral Interface (SPI) devices

    are typically found where fast data transfer rates are required. SPI is also a synchronous serial interface, it relies on a shared clock. • SPI supports full-duplex data transfer, meaning the master and slave can simultaneously exchange information. To support full-duplex transfer, the bus must provide the following separate signals, which makes SPI a minimum 4-Wire interface: • MOSI: Master Out Slave In • MISO: Master In Slave Out • CLK: Shared clock signal • GND: Common ground reference
  146. None
  147. UART: Universal Asynchronous Receiver Transmitter • UART is a computer

    hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. • Complex peripheral devices such as GPS modules, LCD displays, and XBee radios typically use UART ports (often simply called serial ports) to communicate. • Unlike SPI and I2C, UART only supports point-to-point communication between two devices.
  148. • 3-Wire ports include data receive (RX), data transmit (TX),

    and ground reference (GND) signals. • 5-Wire ports add request to send (RTS) and clear to send (CTS) signals used for hardware flow control.
  149. Hardware Ecosystem

  150. None
  151. None
  152. None
  153. None
  154. Ideal for powerful, intelligent devices on the edge that need

    to be secure. Cameras
 HVAC Control
 Smart Meters Point of Sale
 Inventory Control
 Interactive Ads
 Vending Machines Security Systems
 Smart Doorbells
 Energy Monitors Asset Tracking
 Fleet Management
 Driver Assist
 Predictive Service
  155. Android SDK Android Studio Play Services

  156. Play Services Firebase Cloud Platform Android SDK Android Studio

  157. None
  158. None
  159. None
  160. Displays are Optional Consider Alternate UI

  161. IoT Developer Console Automatic Security Updates Signed Images Verified Boot

  162. None
  163. NXP i.MX7D Starter Kit

  164. Raspberry Pi Kit

  165. Peripheral I/O APIs • APIs to communicate from your code

    with sensors and actuators, based on standard interfaces.
  166. None
  167. Beacon Technology

  168. None
  169. http://www.aislelabs.com/reports/beacon-guide/

  170. None
  171. None
  172. None
  173. None
  174. None
  175. Exit Enter Region Monitoring

  176. None
  177. None
  178. Criticism & Controversies

  179. None
  180. None
  181. None
  182. None
  183. None
  184. None
  185. Criticism & Controversies Privacy Security Other Concerns

  186. Privacy

  187. None
  188. None
  189. Security

  190. None
  191. None
  192. Hackers Remotely Kill a Jeep on the Highway—With Me in

  193. None
  194. Other Concerns

  195. Interface Design, lack of standards Environmental sustainability impact Intentional obsolescence

    of devices
  196. Future of IoT

  197. Future of IoT Biohacking & Transhumanism The Ethics of Enhancement

  198. None
  199. Preparation of Hands-on

  200. Preparation of Hands-on Android Basic NXP i.MX7D Starter Kit Toolings

    (Android Studio, ADB)
  201. Android Things Weather Station • A weather station that reads

    environmental temperature and pressure data from a BMP280 sensor, displays the latest reading on the Rainbow HAT, and send the data to a designated cloud service (Google Pub/Sub or AWS IoT). Reference: https://codelabs.developers.google.com/codelabs/androidthings-weatherstation/index.html
  202. Thank you :)

  203. Twitter: @bonbonking Email: qjin@xebia.fr

  204. Time to Get Your Hands Dirty https://github.com/jinqian/hands-on-iot-android-things