Slide 1

Slide 1 text

Qian Jin | @bonbonking | [email protected] 2018-2019 IoT Course EPF

Slide 2

Slide 2 text

About Me

Slide 3

Slide 3 text

+ +

Slide 4

Slide 4 text

Agenda

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Ubiquitous Computing

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

• 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.

Slide 9

Slide 9 text

• 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.

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Tabs: wearable centimetre sized devices Pads: hand-held decimetre-sized devices Boards: metre sized interactive display devices

Slide 12

Slide 12 text

• 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.

Slide 13

Slide 13 text

What’s IoT?

Slide 14

Slide 14 text

What is IoT? A buzz word The Evolution of IoT Ecosystem

Slide 15

Slide 15 text

A Buzz Word

Slide 16

Slide 16 text

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.

Slide 17

Slide 17 text

2013 the Global Standards Initiative on Internet of Things (IoT-GSI) defined the IoT as "the infrastructure of the information society."

Slide 18

Slide 18 text

The Evolution

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Source: NCTA

Slide 22

Slide 22 text

Nabaztag

Slide 23

Slide 23 text

Karotz

Slide 24

Slide 24 text

IoT Ecosystem

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Amazon Echo

Slide 28

Slide 28 text

Google Home

Slide 29

Slide 29 text

Samsung Family Hub Refrigerator

Slide 30

Slide 30 text

Belkin WeMo Insight Switch

Slide 31

Slide 31 text

NETATMO Smart Home Products

Slide 32

Slide 32 text

Nest Learning Thermostat

Slide 33

Slide 33 text

Philips Hue Wireless Dimming Kit

Slide 34

Slide 34 text

August Smart Lock

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Image Credit: Tech Crunh & Profitness Tech

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Thync

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

Nike HyperAdapt 1.0

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

Withings Products

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

Smart Citizen

Slide 54

Slide 54 text

Smart Citizen

Slide 55

Slide 55 text

Pigeon Air Patrol

Slide 56

Slide 56 text

Pigeon Air Patrol

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

Courtesy: Cognizant

Slide 59

Slide 59 text

Courtesy: Cognizant

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

Tesla Gigafactory

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

No content

Slide 67

Slide 67 text

And More…

Slide 68

Slide 68 text

Farming Data Survey Drones Fleet of Agribots Texting Cows Smart Tractors

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

How-To: IoT for Dummies

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

IoT Solution Life Cycle

Slide 75

Slide 75 text

COLLECT COMMUNICATE ANALYZE ACT IoT Life Cycle

Slide 76

Slide 76 text

Things Gateway Device Network & Cloud Network Infrastructure Cloud / Data Center Infrastructure

Slide 77

Slide 77 text

Edge Computing & Gateway Device

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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.

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

Connectivity Options

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

No content

Slide 85

Slide 85 text

No content

Slide 86

Slide 86 text

3G 4G LPWAN / WAN *LPWAN: Low Power Wide Area Network *WAN: Wide Area Network

Slide 87

Slide 87 text

• 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.

Slide 88

Slide 88 text

No content

Slide 89

Slide 89 text

No content

Slide 90

Slide 90 text

No content

Slide 91

Slide 91 text

No content

Slide 92

Slide 92 text

No content

Slide 93

Slide 93 text

M2M Data Protocols

Slide 94

Slide 94 text

• Machine to machine refers to direct communication between devices using any communications channel, including wired and wireless.

Slide 95

Slide 95 text

• 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.

Slide 96

Slide 96 text

Temperature Sensor Laptop Smartphone MQTT Broker 25°C Publish Subscribe 25°C Publish Subscribe Publish Subscribe to topic “temperature” Publish to topic “temperature”

Slide 97

Slide 97 text

• Low overhead • Low energy consumption • Based on TCP/IP • Support of WebSocket • Multiple implementations: Java/Python/C++ • Commercial and Open Source version

Slide 98

Slide 98 text

• 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

Slide 99

Slide 99 text

• 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.

Slide 100

Slide 100 text

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

Slide 101

Slide 101 text

IoT Cloud Solutions

Slide 102

Slide 102 text

No content

Slide 103

Slide 103 text

No content

Slide 104

Slide 104 text

No content

Slide 105

Slide 105 text

No content

Slide 106

Slide 106 text

No content

Slide 107

Slide 107 text

No content

Slide 108

Slide 108 text

No content

Slide 109

Slide 109 text

Device Gateway Cloud

Slide 110

Slide 110 text

No content

Slide 111

Slide 111 text

IoT & Big Data

Slide 112

Slide 112 text

IoT Hardware Guide

Slide 113

Slide 113 text

Hardware Guide SoC (System on Chips) & SoM (System on Module) Electronic Components I/O Basics Hardware Ecosystem Android Things *Beacon Technology

Slide 114

Slide 114 text

SoC & SoM

Slide 115

Slide 115 text

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.

Slide 116

Slide 116 text

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

Slide 117

Slide 117 text

SoM & Android Things Reference: https://developer.android.com/things/hardware/

Slide 118

Slide 118 text

Electronic Components

Slide 119

Slide 119 text

Breadboard

Slide 120

Slide 120 text

Resistors

Slide 121

Slide 121 text

No content

Slide 122

Slide 122 text

Diode

Slide 123

Slide 123 text

LED (Light-Emitting Diode)

Slide 124

Slide 124 text

No content

Slide 125

Slide 125 text

• 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

Slide 126

Slide 126 text

Transistor

Slide 127

Slide 127 text

BJT: Bipoler Junction Transistor NPN PNP

Slide 128

Slide 128 text

Capacitor

Slide 129

Slide 129 text

Male-Male Female-Female Male-Female

Slide 130

Slide 130 text

Grove Temperature & Humidity Sensor Grove Motion Sensor Grove Sound Sensor

Slide 131

Slide 131 text

No content

Slide 132

Slide 132 text

No content

Slide 133

Slide 133 text

No content

Slide 134

Slide 134 text

No content

Slide 135

Slide 135 text

*GPIO Numbering Physical Numbering *GPIO: General Purpose Input / Output

Slide 136

Slide 136 text

I/O Basics

Slide 137

Slide 137 text

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).

Slide 138

Slide 138 text

PCM: Pulse Code Modulation • Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals.

Slide 139

Slide 139 text

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.


Slide 140

Slide 140 text

Servo motor & PWM

Slide 141

Slide 141 text

No content

Slide 142

Slide 142 text

No content

Slide 143

Slide 143 text

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

Slide 144

Slide 144 text

No content

Slide 145

Slide 145 text

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

Slide 146

Slide 146 text

No content

Slide 147

Slide 147 text

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.

Slide 148

Slide 148 text

• 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.

Slide 149

Slide 149 text

Hardware Ecosystem

Slide 150

Slide 150 text

No content

Slide 151

Slide 151 text

No content

Slide 152

Slide 152 text

No content

Slide 153

Slide 153 text

No content

Slide 154

Slide 154 text

Ideal for powerful, intelligent devices on the edge that need to be secure. Cameras
 Gateways
 HVAC Control
 Smart Meters Point of Sale
 Inventory Control
 Interactive Ads
 Vending Machines Security Systems
 Smart Doorbells
 Routers
 Energy Monitors Asset Tracking
 Fleet Management
 Driver Assist
 Predictive Service

Slide 155

Slide 155 text

Android SDK Android Studio Play Services

Slide 156

Slide 156 text

Play Services Firebase Cloud Platform Android SDK Android Studio

Slide 157

Slide 157 text

No content

Slide 158

Slide 158 text

No content

Slide 159

Slide 159 text

No content

Slide 160

Slide 160 text

Displays are Optional Consider Alternate UI

Slide 161

Slide 161 text

IoT Developer Console Automatic Security Updates Signed Images Verified Boot

Slide 162

Slide 162 text

No content

Slide 163

Slide 163 text

NXP i.MX7D Starter Kit

Slide 164

Slide 164 text

Raspberry Pi Kit

Slide 165

Slide 165 text

Peripheral I/O APIs • APIs to communicate from your code with sensors and actuators, based on standard interfaces.

Slide 166

Slide 166 text

No content

Slide 167

Slide 167 text

Beacon Technology

Slide 168

Slide 168 text

No content

Slide 169

Slide 169 text

http://www.aislelabs.com/reports/beacon-guide/

Slide 170

Slide 170 text

No content

Slide 171

Slide 171 text

No content

Slide 172

Slide 172 text

No content

Slide 173

Slide 173 text

No content

Slide 174

Slide 174 text

No content

Slide 175

Slide 175 text

Exit Enter Region Monitoring

Slide 176

Slide 176 text

No content

Slide 177

Slide 177 text

No content

Slide 178

Slide 178 text

Criticism & Controversies

Slide 179

Slide 179 text

No content

Slide 180

Slide 180 text

No content

Slide 181

Slide 181 text

No content

Slide 182

Slide 182 text

No content

Slide 183

Slide 183 text

No content

Slide 184

Slide 184 text

No content

Slide 185

Slide 185 text

Criticism & Controversies Privacy Security Other Concerns

Slide 186

Slide 186 text

Privacy

Slide 187

Slide 187 text

No content

Slide 188

Slide 188 text

No content

Slide 189

Slide 189 text

Security

Slide 190

Slide 190 text

No content

Slide 191

Slide 191 text

No content

Slide 192

Slide 192 text

Hackers Remotely Kill a Jeep on the Highway—With Me in It

Slide 193

Slide 193 text

No content

Slide 194

Slide 194 text

Other Concerns

Slide 195

Slide 195 text

Interface Design, lack of standards Environmental sustainability impact Intentional obsolescence of devices

Slide 196

Slide 196 text

Future of IoT

Slide 197

Slide 197 text

Future of IoT Biohacking & Transhumanism The Ethics of Enhancement

Slide 198

Slide 198 text

No content

Slide 199

Slide 199 text

Preparation of Hands-on

Slide 200

Slide 200 text

Preparation of Hands-on Android Basic NXP i.MX7D Starter Kit Toolings (Android Studio, ADB)

Slide 201

Slide 201 text

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

Slide 202

Slide 202 text

Thank you :)

Slide 203

Slide 203 text

Twitter: @bonbonking Email: [email protected]

Slide 204

Slide 204 text

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