Slides_WhatIsNopIoT

Page Actions
Start presentation

Slide 1: What is IoT?

An Introduction

Uli Raich (uli.raich@gmail.com)

Formally CERN, Geneva, Switzerland

Slide 2: What is IoT?

Answer: IoT is the Internet of Things
But\x85 what is the Internet of Things?

I hate buzz-words!

Everybody talks about IoT but who does deeply know,

what is hidden behind the acronym.

Who is able to set up an IoT by himself?

Slide 3: The child and the elephant

Child: \x93What is an elephant\x94

Me: An elephant is a grey animal!

Result:

  • The child has got an answers and does not disturb me any longer

  • The child thinks that I am clever, because he thinks

    I know what an elephant is (which is not true!)

  • The child does not know much more than before asking
child.png elephant.png

Slide 4: What should I have done?

  • Learned about elephants myself

  • Told him everything about elephants I know myself:

    • Where and how they live

    • What they eat

    • How they behave \x85

  • Gone to the zoo (in Europe) or a nature reserve (here in East Africa)

    to show him a live elephant.

Slide 5: What is the \x93I\x94 in IoT ?

The \x93I\x94 stands for Internet. This means:

We need a processor (IoT node) that can connect to the Internet.

It must be powerful enough to run Internet protocols and

it needs an interface to the Internet.

  • Ethernet interface

  • WiFi interface

  • GSM
  • \x85 connection to a gateway with access to the internet

Slide 6: Standard way to access the Internet

Usually the Internet is used by humans

Typical applications are

  • WEB browsing

  • Email

  • Social media

  • Telephone and chats
Human to machine or human to human communication.

!IoT: \x93Things\x94 communicate also without human intervention.

Slide 7: Things, Sensors, Actuators

  • Coffee machines, dish washer, washing machine, \x85
  • Burglar alarm system
  • Intelligent farming
  • Weather station
  • Scientific measurements
  • Industrial factory control
  • Car electronics, ignition system, ABS,\x85
  • You name it!
The processor reads the state of \x93things\x94 though sensors and controls them through actuators.

Our processor needs interfaces to these sensors and actuators.

Slide 8: The IoT system

We need a system with a number of processors

that read out sensors and/or control actuators

These processors communicate with each other

over the Internet with or without human intervention.

Design decisions:

  • Which processors?
  • Which communication protocol
  • Which GUI to be able to see what is going on?
  • Which programming language?

Slide 9: The Raspberry Pi

The Raspberry Pi is a small computer powerful enough to run a full blown Linux operating system:

A quad core 1.2 GHz Broadcom 64 bit ARM CPU

  • 1 Gbytes of Ram
  • Ethernet and wireless networks
  • 4 USB2 ports
  • Micro SD connector
  • 40 pin extended GPIO connector with
  • GPIO pins
  • SPI and I2C bus interface
  • Cost ~ 80-100 US $
  • No ADC
rpiBoard.png

Slide 10: Arduino + WiFi shield

arduinoSpecs.png
mega.png wifishield.png
Total cost: ~12-15 US $

Slide 11: The ideal IoT solution?

ESP8266 or ESP32 processor board

ESP8266 specs:

  • WiFi on chip
  • 10 bit ADC on chip
  • 80 kByte RAM
  • 4 Mbyte flash
  • Can run a Micropython interpreter
  • Can be programmed through the Arduino IDE
  • SPI, I2C interfaces
  • 11 GPIO pins
  • Many sensor and actuator boards
  • Can be plugged together without bread board or soldering
  • Cost of processor board: ~ 2.5 US$

ESP32 is even more powerful
Cost: ~ 4.5 US$
shields.png

Slide 12: Communication

MQTT (Message Queuing Telemetry Transport: a publish-subscribe based

Message protocol running of top of TCP.

A processor can subscribe to messages of a certain \x93topic\x94 and/or it can push its

results on a certain topic

mqttPostOfffice.png

Slide 13: MQTT Demo

mqttDemo.png

Slide 14: Programming language

  • Only the data recovered from the communication protocol is seen
  • Any programming language will do
  • Cayenne/MQTT libraries are available for

    • C, C++

    • Python

    • Java

    • Java Script

Slide 15: Prototype Board Hardware: Photo-Resistor and LED

The photo resistor and the 1 kΩ resistor form a voltage divider

The LED can be switched on by program and changes the light
Intensity seen by the photo resistor
proto.png photoresistorSchema.png

Slide 16: Sensor Readout example: Photo-Resistor and LED

The ADC and GPIO driver classes

are already available in micropython.

This makes readout a child\x92s game.
protoDriver.png
ESP8266 and ESP32 are powerful enough to run a Micropython interpreter -> Let\x92s use Python

Slide 17: Cayenne

  • Cayenne supplies the MQTT broker
  • It uses a dedicated format for \x93topic\x94 and \x93payload\x94
  • We hide these details in a \x93Cayenne\x94 Python class
  • Cayenne supplies widgets for display and control

Slide 18: Cayenne definitions

cayenneDefs.png

Slide 19: Publish to Cayenne

cayennePublish.png

Slide 20: Results on Cayenne

cayenneProtoResult.png

Slide 21: ... or the history plot

cayenneProtoHistory.png

Slide 22: Do you want to know more?

Unfortunately you missed the workshop on IoT at this conference

But you may have a look at its Twiki server

http://afnog.iotworkshop.africa

\x85 or have a beer with me at the bar!

-- %USERSIG{UliRaich - 2019-05-27}%

Comments

 
I Attachment Action Size Date Who Comment
arduinoSpecs.pngpng arduinoSpecs.png manage 27 K 27 May 2019 - 13:22 UnknownUser  
cayenne.pngpng cayenne.png manage 221 K 27 May 2019 - 13:17 UnknownUser  
cayenneDefs.pngpng cayenneDefs.png manage 60 K 27 May 2019 - 14:03 UnknownUser  
cayenneProtoHistory.pngpng cayenneProtoHistory.png manage 114 K 27 May 2019 - 14:08 UnknownUser  
cayenneProtoResult.pngpng cayenneProtoResult.png manage 115 K 27 May 2019 - 14:08 UnknownUser  
cayennePublish.pngpng cayennePublish.png manage 36 K 27 May 2019 - 14:03 UnknownUser  
cayenneStart.pngpng cayenneStart.png manage 146 K 27 May 2019 - 13:17 UnknownUser  
child.pngpng child.png manage 772 K 27 May 2019 - 12:42 UnknownUser  
elephant.pngpng elephant.png manage 453 K 27 May 2019 - 12:42 UnknownUser  
mega.pngpng mega.png manage 258 K 27 May 2019 - 13:17 UnknownUser  
mqttDemo.pngpng mqttDemo.png manage 191 K 27 May 2019 - 13:36 UnknownUser  
mqttPostOfffice.pngpng mqttPostOfffice.png manage 50 K 27 May 2019 - 13:39 UnknownUser  
photoresistorSchema.pngpng photoresistorSchema.png manage 18 K 06 Jun 2019 - 08:29 UnknownUser  
post-office.pngpng post-office.png manage 19 K 27 May 2019 - 13:35 UnknownUser  
proto.pngpng proto.png manage 114 K 27 May 2019 - 13:43 UnknownUser  
protoBoard.pngpng protoBoard.png manage 882 K 27 May 2019 - 13:36 UnknownUser  
protoDriver.pngpng protoDriver.png manage 31 K 27 May 2019 - 13:45 UnknownUser  
rpiBoard.pngpng rpiBoard.png manage 148 K 27 May 2019 - 13:17 UnknownUser  
shields.pngpng shields.png manage 388 K 27 May 2019 - 13:36 UnknownUser  
wifishield.pngpng wifishield.png manage 200 K 27 May 2019 - 13:17 UnknownUser  
Topic revision: r2 - 06 Jun 2019, UliRaich