>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Unknown

Een gids door de wereld van hardware en protocollen in de awesome-iot repository

IoT-ontwikkeling voelt vaak aan als door mist wandelen. Dozijnen fabrikanten bieden hardware aan. Communicatieprotocollen vermenigvuldigen zich elk jaar. Voeg daarbij de keuze tussen MicroPython, Rust en C++, en je hoofd begint al pijn te doen bij het ontwerpstadium. Ik herinner me dat ik twee avonden heb besteed aan het proberen te begrijpen hoe CoAP verschilt van MQTT en wat zou draaien op een microcontroller toen ik mijn eerste temperatuursensor dashboard bouwde.

De awesome-iot repository van Khallim Carroum helpt tijd te besparen. Dit is een netjes gestructureerde verzameling van hardwareplatformen, besturingssystemen, programmeertalen en netwerkprotocollen.

Het project heeft meer dan vierduizend sterren verzameld op GitHub. Laten we verkennen welke interessante bronnen hier beschikbaar zijn en hoe je deze kennisbank kunt benutten.

Wat de catalogus bevat

Zoals elke Awesome-lijst bestaat het project uit links met korte beschrijvingen. De auteurs hebben alle bronnen in vijf grote secties verdeeld:

  • Hardware en single-board computers
  • Softwarestack (besturingssystemen, talen, frameworks en hulpprogramma's)
  • Netwerkprotocollen en communicatienormen
  • Allianties en industriegroepen
  • Boeken, artikelen en wetenschappelijke publicaties

Deze structuur helpt je snel de juiste component voor je project te vinden zonder door zoekmachines te hoeven graven.

Hardware en besturingssystemen

Naast vertrouwde borden zoals Raspberry Pi en Arduino bevat de verzameling oplossingen voor gespecialiseerde taken.

Voor eenvoudige sensoren met Wi-Fi en Bluetooth werken ESP32- of NodeMCU-chips goed. Als je een miniatuur industriële computer nodig hebt met een werkbereik van -25°C tot +85°C, is OLinuXino handig. Voor het werken met de automotive CAN-bus vind je het AutoPi-project in de lijst.

De softwaresituatie voor hardware is vergelijkbaar. De catalogus bevat real-time besturingssystemen:

  • FreeRTOS en Zephyr Project voor apparaten met strikte stroom- en geheugenbeperkingen.
  • Apache Mynewt met een focus op Bluetooth Low Energy.
  • OpenWrt en Raspbian voor volwaardige single-board computers.
  • NodeOS voor degenen die een JavaScript-gebaseerd besturingssysteem willen draaien.

Waarmee code schrijven

Je kunt hardware niet alleen in C of C++ met logica verbinden. De community heeft aanpassingen van vertrouwde talen voor microcontrollers gemaakt.

De verzameling bevat MicroPython, evenals PikaPython, dat slechts 4 KB RAM vereist. Voor fans van strikte typering is er TinyGo, dat Go-code kan compileren voor Arduino en BBC micro:bit. Als je in Rust schrijft, vind je ook een rijke bibliotheekbasis hiervoor. Exotische opties zoals AtomVM laten je Erlang en Elixir direct op microcontrollers draaien.

Frameworks en gegevensoverdracht

Een sensor met een server verbinden is een aparte taak. De catalogus scheidt de gegevensoverdrachtslagen duidelijk.

Fysieke en netwerktechnologieën omvatten LoRaWAN, NB-IoT, ZigBee en Thread. Op applicatieniveau zijn MQTT, CoAP en STOMP vertegenwoordigd.

Voor gegevensverwerking aan de apparaat- of serverzijde bevat de lijst kant-en-klare tools:

  • Home Assistant voor domotica.
  • Astarte voor het beheren van fletten van Linux- en ESP32-apparaten.
  • Eclipse Ditto voor het maken van digitale tweelingen van fysieke apparaten.
  • ForestHub voor het draaien van artificiële intelligentie-modellen op edge-apparaten zoals Jetson of Raspberry Pi.

Onder message brokers kun je kiezen uit lichtgewicht NanoMQ voor draaien op het apparaat zelf of high-capacity EMQX en VerneMQ, die miljoenen gelijktijdige verbindingen aankunnen.

Wie heeft deze lijst nodig

De repository werkt als naslagwerk in situaties waarin je een stack voor een nieuw project moet kiezen.

Voor webserviceontwikkelaars toont het instappunten naar hardware via vertrouwde talen zoals JavaScript of Python. Voor architecten vereenvoudigt het het vinden van de juiste broker of het communicatieprotocol. Voor beginnende engineers geeft de verzameling een compleet beeld van waar moderne IoT-systemen uit zijn opgebouwd.

Het project staat open voor de community. Als je een goed open-source-oplossing voor het werken met hardware gebruikt, kun je deze via Pull Request voorstellen.

Gerelateerde projecten