Difference: Slides_WhatIsNopIoT (1 vs. 2)

Revision 22019-06-06 - UliRaich

Line: 1 to 1
 
META TOPICPARENT name="Talk"

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… 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: “What is an elephant”

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 …

  • 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 “I” in IoT ?

The “I” 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
  • … 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: “Things” communicate also without human intervention.

Slide 7: Things, Sensors, Actuators

  • Coffee machines, dish washer, washing machine, …
  • Burglar alarm system
  • Intelligent farming
  • Weather station
  • Scientific measurements
  • Industrial factory control
  • Car electronics, ignition system, ABS,…
  • You name it!
The processor reads the state of “things” 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 “topic” 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

Added:
>
>

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

 

Sensor Readout example: Photo-Resistor and LED

Changed:
<
<

The ADC and GPIO driver classes

are already available in MicroPython.

This makes readout a child’s game.

protoDriver.png
proto.png
ESP8266 and ESP32 are powerful enough to run a Micropython interpreter -> Let’s use Python
>
>

The ADC and GPIO driver classes

are already available in micropython.

This makes readout a child’s game.

protoDriver.png
ESP8266 and ESP32 are powerful enough to run a Micropython interpreter -> Let’s use Python
 

Cayenne

  • Cayenne supplies the MQTT broker
  • It uses a dedicated format for “topic” and “payload”
  • We hide these details in a “Cayenne” Python class
  • Cayenne supplies widgets for display and control

Cayenne definitions

cayenneDefs.png

Publish to Cayenne

cayennePublish.png

Results on Cayenne

cayenneProtoResult.png

... or the history plot

cayenneProtoHistory.png

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

… or have a beer with me at the bar!

%SLIDESHOWEND%

-- Uli Raich - 2019-05-27

Comments

<--/commentPlugin-->

META FILEATTACHMENT attachment="child.png" attr="" comment="" date="1558960930" name="child.png" path="child.png" size="790928" user="UliRaich" version="1"
META FILEATTACHMENT attachment="elephant.png" attr="" comment="" date="1558960934" name="elephant.png" path="elephant.png" size="464197" user="UliRaich" version="1"
META FILEATTACHMENT attachment="cayenne.png" attr="" comment="" date="1558963048" name="cayenne.png" path="cayenne.png" size="226478" user="UliRaich" version="1"
META FILEATTACHMENT attachment="cayenneStart.png" attr="" comment="" date="1558963050" name="cayenneStart.png" path="cayenneStart.png" size="149818" user="UliRaich" version="1"
META FILEATTACHMENT attachment="mega.png" attr="" comment="" date="1558963052" name="mega.png" path="mega.png" size="265156" user="UliRaich" version="1"
META FILEATTACHMENT attachment="rpiBoard.png" attr="" comment="" date="1558963053" name="rpiBoard.png" path="rpiBoard.png" size="152165" user="UliRaich" version="1"
META FILEATTACHMENT attachment="wifishield.png" attr="" comment="" date="1558963055" name="wifishield.png" path="wifishield.png" size="205592" user="UliRaich" version="1"
META FILEATTACHMENT attachment="arduinoSpecs.png" attr="" comment="" date="1558963353" name="arduinoSpecs.png" path="arduinoSpecs.png" size="27875" user="UliRaich" version="1"
META FILEATTACHMENT attachment="post-office.png" attr="" comment="" date="1558964153" name="post-office.png" path="post-office.png" size="20211" user="UliRaich" version="1"
META FILEATTACHMENT attachment="shields.png" attr="" comment="" date="1558964161" name="shields.png" path="shields.png" size="397621" user="UliRaich" version="1"
META FILEATTACHMENT attachment="mqttDemo.png" attr="" comment="" date="1558964165" name="mqttDemo.png" path="mqttDemo.png" size="195883" user="UliRaich" version="1"
META FILEATTACHMENT attachment="protoBoard.png" attr="" comment="" date="1558964196" name="protoBoard.png" path="protoBoard.png" size="904008" user="UliRaich" version="1"
META FILEATTACHMENT attachment="mqttPostOfffice.png" attr="" comment="" date="1558964342" name="mqttPostOfffice.png" path="mqttPostOfffice.png" size="51402" user="UliRaich" version="1"
META FILEATTACHMENT attachment="proto.png" attr="" comment="" date="1558964617" name="proto.png" path="proto.png" size="116931" user="UliRaich" version="1"
META FILEATTACHMENT attachment="protoDriver.png" attr="" comment="" date="1558964728" name="protoDriver.png" path="protoDriver.png" size="32180" user="UliRaich" version="1"
META FILEATTACHMENT attachment="cayenneDefs.png" attr="" comment="" date="1558965804" name="cayenneDefs.png" path="cayenneDefs.png" size="61576" user="UliRaich" version="1"
META FILEATTACHMENT attachment="cayennePublish.png" attr="" comment="" date="1558965804" name="cayennePublish.png" path="cayennePublish.png" size="37732" user="UliRaich" version="1"
META FILEATTACHMENT attachment="cayenneProtoHistory.png" attr="" comment="" date="1558966106" name="cayenneProtoHistory.png" path="cayenneProtoHistory.png" size="117259" user="UliRaich" version="1"
META FILEATTACHMENT attachment="cayenneProtoResult.png" attr="" comment="" date="1558966111" name="cayenneProtoResult.png" path="cayenneProtoResult.png" size="118585" user="UliRaich" version="1"
Added:
>
>
META FILEATTACHMENT attachment="photoresistorSchema.png" attr="" comment="" date="1559809753" name="photoresistorSchema.png" path="photoresistorSchema.png" size="18678" user="UliRaich" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback