Slide 1

Slide 1 text

@JoeKarlsson1 IoT and JS(?!) A Gentle Introduction to the Internet of Things @JoeKarlsson1

Slide 2

Slide 2 text

@JoeKarlsson1 Joe Karlsson @JOEKARLSSON1 @JOEKARLSSON JOEKARLSSON.COM

Slide 3

Slide 3 text

@JoeKarlsson1 How is this going to work? @JoeKarlsson1

Slide 4

Slide 4 text

@JoeKarlsson1 What the heck is IoT? @JoeKarlsson1

Slide 5

Slide 5 text

@JoeKarlsson1 A network of devices that have an IP address and can communicate with each other over the internet @JoeKarlsson1

Slide 6

Slide 6 text

@JoeKarlsson1 It’s just the internet, but with “things” on it @JoeKarlsson1

Slide 7

Slide 7 text

@JoeKarlsson1 …so what is a “thing?” @JoeKarlsson1

Slide 8

Slide 8 text

@JoeKarlsson1 @JoeKarlsson1

Slide 9

Slide 9 text

@JoeKarlsson1 Smart Home Home Security Smart Appliances Smart Light Bulbs Smart Outlets Nest Thermostat @JoeKarlsson1

Slide 10

Slide 10 text

@JoeKarlsson1 Automated Manufacturing Humidity Sensor Motion Sensor Remote Monitoring Smart Delivery Temperature Sensor @JoeKarlsson1

Slide 11

Slide 11 text

@JoeKarlsson1 Wearables Smart Water Bottle Fitbit Breathing Sensor Smart Running Shoes Lumo Run Shorts @JoeKarlsson1

Slide 12

Slide 12 text

@JoeKarlsson1 @JoeKarlsson1

Slide 13

Slide 13 text

@JoeKarlsson1

Slide 14

Slide 14 text

@JoeKarlsson1 IoT
 Lifecycle Collect Communicate Analyze Act @JoeKarlsson1

Slide 15

Slide 15 text

@JoeKarlsson1 A company is an association or collection of individuals, whether natural persons, legal persons, or a mixture of both. Company members share a common purpose and unite in order to focus their various talents and organize their collectively available skills or resources to achieve specific, declared goals. Collect Devices and sensors collect data @JoeKarlsson1

Slide 16

Slide 16 text

@JoeKarlsson1 A company is an association or collection of individuals, whether natural persons, legal persons, or a mixture of both. Company members share a common purpose and unite in order to focus their various talents and organize their collectively available skills or resources to achieve specific, declared goals. Communicate Data and events sent through the network Data Center The Cloud Home Router @JoeKarlsson1

Slide 17

Slide 17 text

@JoeKarlsson1 A company is an association or collection of individuals, whether natural persons, legal persons, or a mixture of both. Company members share a common purpose and unite in order to focus their various talents and organize their collectively available skills or resources to achieve specific, declared goals. Analyze Computers analyzes the incoming data Run Reports Home Router Machine Learning View Reports @JoeKarlsson1

Slide 18

Slide 18 text

@JoeKarlsson1 A company is an association or collection of individuals, whether natural persons, legal persons, or a mixture of both. Company members share a common purpose and unite in order to focus their various talents and organize their collectively available skills or resources to achieve specific, declared goals. Act Taking action based on the data Send a notification Communicate with
 another machine Stream @JoeKarlsson1

Slide 19

Slide 19 text

@JoeKarlsson1 Why does IoT Matter? Source: https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/ @JoeKarlsson1

Slide 20

Slide 20 text

@JoeKarlsson1 IoT + JS(?!) @JoeKarlsson1

Slide 21

Slide 21 text

@JoeKarlsson1 JS is a great choice for new devs Other low level programming languages can be difficult to develop @JoeKarlsson1

Slide 22

Slide 22 text

@JoeKarlsson1 Why Node? 58 percent of respondents that identified as IoT developers use Node Source: https://nodejs.org/en/blog/announcements/nodejs-foundation-survey/ @JoeKarlsson1

Slide 23

Slide 23 text

@JoeKarlsson1 Easy to update over a network @JoeKarlsson1

Slide 24

Slide 24 text

@JoeKarlsson1 The internet already speaks JS @JoeKarlsson1

Slide 25

Slide 25 text

@JoeKarlsson1 Tons of existing libraries, plugins and APIs @JoeKarlsson1

Slide 26

Slide 26 text

@JoeKarlsson1 Cylon.js Johnny-Five https://cylonjs.com/ http://johnny-five.io/ @JoeKarlsson1

Slide 27

Slide 27 text

@JoeKarlsson1 JS is great at handling event-driven apps @JoeKarlsson1

Slide 28

Slide 28 text

@JoeKarlsson1 @JoeKarlsson1

Slide 29

Slide 29 text

@JoeKarlsson1 @JoeKarlsson1

Slide 30

Slide 30 text

@JoeKarlsson1 It got dark in here @JoeKarlsson1

Slide 31

Slide 31 text

@JoeKarlsson1 Can you turn yourself on? @JoeKarlsson1

Slide 32

Slide 32 text

@JoeKarlsson1 I turned myself on @JoeKarlsson1

Slide 33

Slide 33 text

@JoeKarlsson1 plz turn yourself off @JoeKarlsson1

Slide 34

Slide 34 text

@JoeKarlsson1 I turned myself off @JoeKarlsson1

Slide 35

Slide 35 text

@JoeKarlsson1 Events reduce the cost of listening for the device @JoeKarlsson1

Slide 36

Slide 36 text

@JoeKarlsson1 Let’s jump into something practical @JoeKarlsson1

Slide 37

Slide 37 text

@JoeKarlsson1 IoT Morse Code Machine The future of Morse Code

Slide 38

Slide 38 text

@JoeKarlsson1 @JoeKarlsson1

Slide 39

Slide 39 text

@JoeKarlsson1 1 x Raspberry Pi 3 Model B 1 x Breadboard 1 x 68 Ohms Resistor What Materials Do We Need? 1 x LED 2 x Female to Male Wires

Slide 40

Slide 40 text

@JoeKarlsson1 Raspberry Pi @JoeKarlsson1

Slide 41

Slide 41 text

@JoeKarlsson1 Small and amazingly capable, credit card size $35 computer @JoeKarlsson1

Slide 42

Slide 42 text

@JoeKarlsson1 Install Node on your Pi Find tips here: https://www.losant.com/blog/how-to-install-nodejs-on-raspberry-pi @JoeKarlsson1

Slide 43

Slide 43 text

@JoeKarlsson1 @JoeKarlsson1

Slide 44

Slide 44 text

@JoeKarlsson1 General Purpose Input/Output Pins [GPIO] Can be used to interact in with the real world @JoeKarlsson1

Slide 45

Slide 45 text

@JoeKarlsson1 @JoeKarlsson1

Slide 46

Slide 46 text

@JoeKarlsson1 Output Pins Switches that the Raspberry Pi can turn on or off @JoeKarlsson1

Slide 47

Slide 47 text

@JoeKarlsson1 Input Pins Switches that you can turn on or off from the outside world @JoeKarlsson1

Slide 48

Slide 48 text

@JoeKarlsson1 Great Overview of the GPIO Pins on Wikipedia @JoeKarlsson1 Source: https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector

Slide 49

Slide 49 text

@JoeKarlsson1 @JoeKarlsson1

Slide 50

Slide 50 text

@JoeKarlsson1 onoff npm package for interacting with GPIO @JoeKarlsson1

Slide 51

Slide 51 text

@JoeKarlsson1 Breadboard A breadboard is used for prototyping electronics @JoeKarlsson1

Slide 52

Slide 52 text

@JoeKarlsson1 @JoeKarlsson1

Slide 53

Slide 53 text

@JoeKarlsson1 @JoeKarlsson1

Slide 54

Slide 54 text

@JoeKarlsson1 @JoeKarlsson1

Slide 55

Slide 55 text

@JoeKarlsson1 LED Resistors Resistors are used to reduce current, adjust signal levels, etc. A diode that emits light when a voltage is applied to it. @JoeKarlsson1

Slide 56

Slide 56 text

@JoeKarlsson1 @JoeKarlsson1

Slide 57

Slide 57 text

@JoeKarlsson1 @JoeKarlsson1

Slide 58

Slide 58 text

@JoeKarlsson1 Building a circuit @JoeKarlsson1

Slide 59

Slide 59 text

@JoeKarlsson1 @JoeKarlsson1 Code: https://github.com/JoeKarlsson/IoT-Morse-Code-Demo

Slide 60

Slide 60 text

@JoeKarlsson1 @JoeKarlsson1

Slide 61

Slide 61 text

@JoeKarlsson1 @JoeKarlsson1

Slide 62

Slide 62 text

@JoeKarlsson1 @JoeKarlsson1

Slide 63

Slide 63 text

@JoeKarlsson1 @JoeKarlsson1

Slide 64

Slide 64 text

@JoeKarlsson1 IoT Morse Code Machine

Slide 65

Slide 65 text

@JoeKarlsson1 Smaller and more powerful devices \ Better Hardware support JS with a smaller footprint Batteries will become the bottleneck The Future of JS + IoT? @JoeKarlsson1

Slide 66

Slide 66 text

@JoeKarlsson1 Do you want to be an IoT and JS master? @JoeKarlsson1

Slide 67

Slide 67 text

@JoeKarlsson1 Just do it! @JoeKarlsson1

Slide 68

Slide 68 text

@JoeKarlsson1 Magic Mirror @JoeKarlsson1

Slide 69

Slide 69 text

@JoeKarlsson1 IoT is exploding Raspberry Pi’s use GPIO to interact with the real world JS is a great choice for IoT Easy to update apps Internet already speaks JS Great supporting libraries JS excels at event-driven apps Start with a small project and jump in and learn as you go!

Slide 70

Slide 70 text

@JoeKarlsson1 Questions? @JoeKarlsson1

Slide 71

Slide 71 text

@JoeKarlsson1 Thank You! @JoeKarlsson1

Slide 72

Slide 72 text

@JoeKarlsson1 Let’s Stay In Touch @JOEKARLSSON1 @JOEKARLSSON JOEKARLSSON.COM

Slide 73

Slide 73 text

@JoeKarlsson1 •Code - https://github.com/JoeKarlsson/IoT-Morse-Code-Demo •Programming the Internet of Things Using Node.js* and HTML5 (PDF) - 6/23/2015 •Losant: Node.js and The Internet of Things - 1/30/2016 •Embedded JavaScript, HTML5 and the Internet of Things - Jesse Cravens •Creating the Internet of Things with JavaScript - Tom Hughes-Croucher •A language for the Internet: Why JavaScript and Node.js is right for Internet Applications - Tom Hughes-Croucher •Video: Realtime Hardware with Node.js - Emily Rose •Getting Physical: Networked Hardware with Node.js - Ted Hayes •Video: My Sensors Love Node.js - Ward Cunningham •How To Electrocute Yourself using the Internet - Alexander Roche A talk about the Internet of things, Arduino and JavaScript frameworks including BreakoutJS and Johnny-Five •An Internet Of Things System – How To Build It Faster - Matteo Collina •Hardware Hacking With JavaScript - Feb 26th •HTML5 Powered Internet Of Things Products - Clickside - 10/21/2014 Additional Resources @JoeKarlsson1

Slide 74

Slide 74 text

@JoeKarlsson1