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?

Line: 111 to 111
 
    • 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

Line: 176 to 186
 
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"

Revision 12019-05-27 - UliRaich

Line: 1 to 1
Added:
>
>
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

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

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

Slide 16: 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

Slide 17: Cayenne definitions

cayenneDefs.png

Slide 18: Publish to Cayenne

cayennePublish.png

Slide 19: Results on Cayenne

cayenneProtoResult.png

Slide 20: ... or the history plot

cayenneProtoHistory.png

Slide 21: 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!

-- 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"
 
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