IoT-1/Hardware

Uit Inf2019
Naar navigatie springen Naar zoeken springen
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