IoT-1/Hardware
Netwerken |
---|
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:
power | bereik | bitrate | radio IoT-knoop | tussenstap | protocol (**) |
---|---|---|---|---|---|
medium power | lokaal bereik (10-50m) | MBytes/s | WiFi | (rechtstreeks) | HTTP |
medium power | lokaal bereik (10-50m) | Mbytes/s | WiFi | (evt. lokale broker/bridge) | MQTT |
low power | lokaal bereik (50-200m) | 50kbits/s (*) | RFM69 | lokale gateway | MQTT |
low power | niet-lokaal (enkele km) | 1 kbit/s (*) | LoRa | 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 niet een enkele oplossing is die in alle gevallen voldoet.
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
Combinaties
microcontroller | radio | link |
---|---|---|
Arduino mini Pro | LoRa (RFM95) | https://www.thethingsnetwork.org/labs/story/creating-a-ttn-node |
Arduino mini Pro | RFM69HCW | (zelfde bordje, andere radio) |
Arduino (UNO etc.) | RFM69HCW | bijv. Adafruit RFM69 breakout https://www.adafruit.com/product/3070 |
Arduino (UNO etc.) | LoRa (RFM95) | bijv. Adafruit RFM95 https://www.adafruit.com/product/3072 |
ESP8266 (Bijv. WeMos D1 mini Pro; of NodeMCU) | WiFi (ingebouwd) evt. extra RFM69 |
https://wiki.wemos.cc/products:d1:d1_mini_pro |
ESP32 | WiFi evt. extra RFM69 |
(zelfde bordje, andere radio) |
Alternatieven
- Adafruit Feather Huzzah 8266 - https://www.adafruit.com/product/2821
- Adafruit Feather Huzzah32 - https://www.adafruit.com/product/3405
- Adafruit Feather M0 with RFM69 - https://www.adafruit.com/product/3176
- Adafruit Feather M0 with RFM95 - https://www.adafruit.com/product/3178
- Arduino MKR1300 (LoRa) - https://store.arduino.cc/mkr-wan-1300
- Pycom LoPy(4) (WiFi, Bluetooth, LoRa, Sigfox ) - https://pycom.io/product/lopy4/
- programmeren in microPython
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).