IoT-1/Hardware: verschil tussen versies

Uit Inf2019
Naar navigatie springen Naar zoeken springen
 
(7 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 15: Regel 15:


Afhankelijk van de "dingen" die in het internet verbonden moeten worden, en de eisen van de toepassing,  
Afhankelijk van de "dingen" die in het internet verbonden moeten worden, en de eisen van de toepassing,  
zijn er verschillende keuzes voor de radio:
zijn er verschillende keuzes voor de radio voor de IoT-knoop:


{| class="wikitable"
{| class="wikitable"
! power !! bereik !! bitrate || radio IoT-knoop !! tussenstap !! protocol (**)
! radio  !! power !! bereik !! bitrate !! tussenstap !! protocol (**)
|-
|-
| medium power || lokaal bereik (10-50m)  || MBytes/s || WiFi  || (rechtstreeks) || HTTP  
|  WiFi  || medium power || lokaal bereik (10-50m)  || MBytes/s || (rechtstreeks) || HTTP  
|-
|-
| medium power || lokaal bereik (10-50m)  || Mbytes/s || WiFi ||  (evt. lokale broker/bridge) || MQTT  
|  WiFi  || medium power || lokaal bereik (10-50m)  || Mbytes/s ||  (evt. lokale broker/bridge) || MQTT  
|-
|-
| low power    || lokaal bereik (50-200m)  || 50kbits/s (*) || RFM69 || lokale gateway || MQTT
|  RFM69 || low power    || lokaal bereik (50-200m)  || 50kbits/s (*) || lokale gateway || MQTT
|-
|-
| low power    || niet-lokaal (enkele km)  || 1 kbit/s (*) || LoRa || publieke gateway || MQTT
| LoRa (bijv. RFM95)  || low power    || niet-lokaal (enkele km)  || 1 kbit/s (*) || publieke gateway || MQTT
|}
|}


Regel 33: Regel 33:
(**) protocol: IoT-knoop <-> NodeRed/web-app
(**) protocol: IoT-knoop <-> NodeRed/web-app


Bovenstaande betekent dat er niet een enkele oplossing is die in alle gevallen voldoet.
Bovenstaande betekent dat er geen universele radio-oplossing is: dit moet per toepassing gekozen worden.


=== Microcontroller ===
=== Microcontroller ===
Regel 55: Regel 55:
de meeste moderne microcontrollers werken met deze spanning,  
de meeste moderne microcontrollers werken met deze spanning,  
en ook voor low-power toepassingen is dit eigenlijk een voorwaarde.
en ook voor low-power toepassingen is dit eigenlijk een voorwaarde.
Sensoren die gebruikt worden bij de cursus:
* bme280 (luchtdruk/temperatuur/luchtvochtigheid)
** https://www.tinytronics.nl/shop/nl/sensoren/temperatuur-lucht-vochtigheid/bme280-digitale-barometer-druk-en-vochtigheid-sensor-module
* db18b20 (temperatuur)
** https://www.tinytronics.nl/shop/nl/sensoren/temperatuur-lucht-vochtigheid/ds18b20-to-92-thermometer-temperatuur-sensor
* drukknopjes (en LEDjes)


=== Combinaties ===
=== Combinaties ===
Regel 108: Regel 115:
** programmeren in microPython
** programmeren in microPython


==== LoRa gateway ====
=== LoRa gateway ===


Voor een school kan het aantrekkelijk zijn om een eigen LoRa gateway te instelleren; de kosten hiervan bedragen ca. 350-500 euro.  
Voor een school kan het aantrekkelijk zijn om een eigen LoRa gateway te instelleren; de kosten hiervan bedragen ca. 350-500 euro.  
Zie bijv.: http://uk.farnell.com/the-things-network/ttn-gw-868/the-things-gateway-eu/dp/2675813
Zie bijv.: http://uk.farnell.com/the-things-network/ttn-gw-868/the-things-gateway-eu/dp/2675813
Een alternatief is het zelf bouwen hiervan, op basis van een Raspberry Pi en aanvullende hardware (kosten ca. 250 euro).
Een alternatief is het zelf bouwen hiervan, op basis van een Raspberry Pi en aanvullende hardware (kosten ca. 250 euro).
=== Raspberry Pi ===
Voor het sommige opstellingen is het gebruik van een Raspberry Pi handig, bijvoorbeeld als lokale MQTT-broker/gateway.
Een ander voordeel van de Raspberry Pi is dat hierop de NodeRed-software beschikbaar is (als onderdeel van de Raspbian distibutie).
== Hardware voor de IoT-cursus ==
{| class="wikitable" border="1"
|-
!
! kop 2
! prijs ca. (Euro)
|-
| Div. sensoren
|
| 10,-
|-
| WeMos prototype boards etc.
|
| 10,-
|}
== Experimenten ==
* ESP8266 (WiFi) met sensoren -> MQTT -> externe broker
* ESP8266 (WiFi) met sensoren -> MQTT -> lokale broker (RasPi)
* Arduino (3V3) met RFM69 met sensoren ->
** in combinatie met ESP8266 als RFM69-gateway -> MQTT -> ...
* Arduino (3V3) met RFM95 met sensoren -> LoRa gateway

Huidige versie van 12 jul 2018 om 19:51

Netwerken

IoT workshop 11 juni 2018

Zie ook Netwerken-project

IoT-hardware

Het Internet of Things bestaat aan de randen (bij de "dingen" en één stap verder) uit:

  • IoT-knopen; een dergelijke knoop omvat gewoonlijk:
    • sensoren
    • (soms) actuatoren
    • microcontroller
    • radio
    • energievoorziening (meestal een batterij, of een permanente stroomvoorziening)
  • gateways/bridges naar het internet

Radio

Afhankelijk van de "dingen" die in het internet verbonden moeten worden, en de eisen van de toepassing, zijn er verschillende keuzes voor de radio voor de IoT-knoop:

radio power bereik bitrate tussenstap protocol (**)
WiFi medium power lokaal bereik (10-50m) MBytes/s (rechtstreeks) HTTP
WiFi medium power lokaal bereik (10-50m) Mbytes/s (evt. lokale broker/bridge) MQTT
RFM69 low power lokaal bereik (50-200m) 50kbits/s (*) lokale gateway MQTT
LoRa (bijv. RFM95) low power niet-lokaal (enkele km) 1 kbit/s (*) publieke gateway MQTT

(*) voor LoRa is de bitrate nog lager bij een groot bereik. Bovendien mogen RFM69 en Lora-radio's max. 1% van de tijd zenden.

(**) protocol: IoT-knoop <-> NodeRed/web-app

Bovenstaande betekent dat er geen universele radio-oplossing is: dit moet per toepassing gekozen worden.

Microcontroller

Er komen de laatste jaren veel krachtige en betaalbare microcontroller-bordjes op de markt. Een aanzienlijk deel hiervan is te programmeren met de Arduino IDE. Daarnaast wint microPython aan populariteit (o.a. voor de ESP8266/ESP32-serie).

In eerste instantie gebruiken we voor de IoT-toepassingen de Arduino IDE: dit is de meest stabiele omgeving. We gebruiken deze voor het programmeren van de volgende microcontrollers:

  • Arduino mini (pro) - voor low-power (en low-cost) toepassingen
  • Arduino UNO - voor kortdurende experimenten
  • ESP8266 - in het bijzonder voor toepassingen met een grote batterij/permanente stroomvoorziening
  • ESP32 - idem

De ESP32 is ook geschikt voor low-power toepassingen, maar de software is daar nu nog niet op ingericht.

Sensoren

Er is een groot aanbod aan sensoren, voor allerlei toepassingen. Een belangrijke overweging is dat de IoT-sensoren bij voorkeur geschikt zijn voor 3.3V: de meeste moderne microcontrollers werken met deze spanning, en ook voor low-power toepassingen is dit eigenlijk een voorwaarde.

Sensoren die gebruikt worden bij de cursus:

Combinaties

microcontroller radio link prijs ca.
Arduino mini Pro LoRa (RFM95) https://www.thethingsnetwork.org/labs/story/creating-a-ttn-node EURO 32,- (incl. USB-serial omzetter)
Arduino mini Pro RFM69HCW (zelfde bordje, andere radio) EURO 20,- (excl. USB-serial omzetter)
Arduino (UNO etc.) RFM69HCW bijv. Adafruit RFM69 breakout https://www.adafruit.com/product/3070 EURO 23,- EURO 13,- (radio, excl. UNO)
Arduino (UNO etc.) LoRa (RFM95) bijv. Adafruit RFM95 https://www.adafruit.com/product/3072 EURO 13,- (radio, excl. UNO)
ESP8266 (Bijv. WeMos D1 mini Pro; of NodeMCU) WiFi (ingebouwd)
evt. extra RFM69
https://wiki.wemos.cc/products:d1:d1_mini_pro EURO 8,50
ESP32 (Bijv. Wemos LoLin D32 Pro) WiFi (ingebouwd)
evt. extra RFM69
(zelfde bordje, andere radio) EURO 14,-

Deze prijzen zijn gebaseerd op Nederlandse winkelprijzen; rechtstreekse import uit China is meestal goedkoper, maar kan (veel) meer tijd kosten.

Alternatieven

LoRa gateway

Voor een school kan het aantrekkelijk zijn om een eigen LoRa gateway te instelleren; de kosten hiervan bedragen ca. 350-500 euro. Zie bijv.: http://uk.farnell.com/the-things-network/ttn-gw-868/the-things-gateway-eu/dp/2675813 Een alternatief is het zelf bouwen hiervan, op basis van een Raspberry Pi en aanvullende hardware (kosten ca. 250 euro).

Raspberry Pi

Voor het sommige opstellingen is het gebruik van een Raspberry Pi handig, bijvoorbeeld als lokale MQTT-broker/gateway. Een ander voordeel van de Raspberry Pi is dat hierop de NodeRed-software beschikbaar is (als onderdeel van de Raspbian distibutie).

Hardware voor de IoT-cursus

kop 2 prijs ca. (Euro)
Div. sensoren 10,-
WeMos prototype boards etc. 10,-

Experimenten

  • ESP8266 (WiFi) met sensoren -> MQTT -> externe broker
  • ESP8266 (WiFi) met sensoren -> MQTT -> lokale broker (RasPi)
  • Arduino (3V3) met RFM69 met sensoren ->
    • in combinatie met ESP8266 als RFM69-gateway -> MQTT -> ...
  • Arduino (3V3) met RFM95 met sensoren -> LoRa gateway