Skip to content
ICT Fusion Knowledgebase

Communicatie Protocol

Een communicatie protocol beschrijft hoe verschillende onderdelen van je IoT-systeem met elkaar praten. Je ontwerpt en documenteert hoe data wordt uitgewisseld tussen bijvoorbeeld sensoren en een microcontroller, of tussen een microcontroller en een back-end systeem. Je bepaalt welke data wanneer wordt verstuurd, in welk formaat, en hoe je zeker weet dat de data correct is aangekomen. Dit product past bij het pre-profiel IoT Developer.

Je kunt kiezen voor bestaande protocollen (bijv. MQTT, HTTP, serial, I2C) of een eenvoudig eigen protocol ontwerpen voor je project. Je documenteert het formaat van de berichten (syntax, velden, eenheden), de volgorde of timing, en eventueel foutafhandeling of checksums. Dit sluit aan bij de leeruitkomst over het maken van beargumenteerde keuzes in componenten, interfaces en timing.

Uitleg

Microcontroller en sensoren/actuatoren: Tussen een microcontroller en sensoren wordt vaak I2C, SPI of analoge/digitale pinnen gebruikt. Je legt vast welk signaal op welke pin staat, welke eenheid wordt gebruikt (bijv. graden Celsius, procent), en hoe vaak er wordt gemeten of uitgelezen.

Microcontroller en back-end: Tussen microcontroller en server of cloud kun je HTTP, MQTT of WebSockets gebruiken. Je beschrijft welke endpoints of topics er zijn, welk dataformaat (JSON, binary), en hoe je verbinding en fouten afhandelt.

Kwaliteitsindicatoren

Bij het waarderen van dit product zal er worden gekeken naar de volgende kwaliteitsindicatoren:

  • Het communicatie protocol is een op zichzelf staand document met een duidelijke introductie en scope (welke onderdelen communiceren).
  • Er is beschreven welk protocol of welke interface wordt gebruikt (en waarom).
  • Het dataformaat is gedocumenteerd (velden, eenheden, voorbeelden).
  • Er is aandacht voor timing of volgorde (wanneer wordt wat verstuurd?).
  • Er is beschreven hoe wordt gecontroleerd of data correct is aangekomen (eventueel checksum, acknowledgements, foutafhandeling).
  • De keuzes zijn beargumenteerd (passend bij het project en de componenten).
  • Er is een lijst van bronnen opgenomen.
  • Eventueel: er is code of configuratie opgenomen of verwezen die het protocol implementeert.

Template

Om een communicatie protocol te documenteren, kan je gebruik maken van de volgende template:

# Communicatie Protocol: [systeem / onderdeel]

Korte introductie: welke onderdelen communiceren met elkaar en wat is het doel van het protocol?

## Overzicht

- Microcontroller ↔ sensoren/actuatoren: welk interface (I2C, SPI, pins)? Welk formaat?
- Microcontroller ↔ back-end: welk protocol (HTTP, MQTT)? Welke endpoints of topics?

## Protocolkeuze

Welk protocol of welke interface heb je gekozen en waarom? Alternatieven kort toegelicht.

## Dataformaat

Beschrijf het formaat van de berichten of signalen:
- Velden, eenheden, voorbeeldbericht
- Eventueel: diagram of tabel

## Timing en volgorde

Wanneer wordt data verstuurd of uitgelezen? Hoe vaak? In welke volgorde?

## Betrouwbaarheid en foutafhandeling

Hoe controleer je of data correct is aangekomen? Checksum, ACK, retry? Wat gebeurt er bij fouten?

## Implementatie

Verwijzing naar code of configuratie in GitLab die het protocol implementeert.

## Bronnen

Lijst van gebruikte protocollen, documentatie of bronnen.