IoT mini-architecture
Une chaîne IoT complète d’un capteur micro:bit jusqu’à une application Android.
Le projet
Un micro:bit mesure la température, l’humidité, la pression et la luminosité. Il les envoie par radio à un second micro:bit qui sert de passerelle. La passerelle les transmet à un serveur Python par liaison série. Le serveur les stocke dans SQLite et répond à une application Android en UDP. Depuis l’application on peut aussi changer l’ordre d’affichage des valeurs sur l’écran du capteur.
- micro:bit capteurBME280, capteur de lumière, OLED
- Radio 2,4 GHz, XOR + nonce
- micro:bit passerelle
- UART, XORSHIFT32 + CRC16
- Serveur PythonSQLite, Grafana
- UDP
- Application Android


Sécuriser la liaison radio
Au début les valeurs étaient envoyées en clair. N’importe qui à portée pouvait les lire. Nous avons ensuite utilisé un XOR avec une clé fixe mais deux trames identiques donnaient les mêmes octets. Nous avons donc ajouté un nonce qui change à chaque trame. Un CRC16 détecte les trames abîmées et la passerelle ignore une trame si son nonce a déjà servi.
AES aurait été mieux. Le micro:bit a une puce AES mais notre SDK ne permettait pas de l’utiliser. Nous avons écrit cette limite dans notre rapport.