Skip to content

TinyRail v0.14.0-beta.9

Pre-release
Pre-release

Choose a tag to compare

@chpeps chpeps released this 03 Sep 21:42
· 9 commits to main since this release

Accès distant MQTT, chiffré de bout en bout

La carte publie son état sur mqtt.tinyrail.xptrucks.fr:8883 en TLS et se pilote à distance. Le contenu est chiffré avec la clé d'appairage : le broker achemine, il ne peut ni lire ni commander. Le protocole décalque le GATT, une caractéristique par topic.

Le Wi-Fi et le compte du broker se posent par BLE (OP_SET_WIFI, OP_SET_MQTT). Rien n'est compilé dans l'image : un secret y serait lisible d'un strings.

Deux interrupteurs séparés : publier son état, et accepter les commandes.

⚠️ Ce qui disparaît, et qu'il faut savoir avant de flasher

Plus de serveur web, plus de point d'accès de secours, plus de portail captif, plus d'Improv BLE. L'usage du produit est BLE plus application.

Conséquence directe : une carte sans Wi-Fi ne se configure plus que par BLE, ou par le câble USB (improv_serial, conservé). Il n'y a plus de réseau « TinyRail V2 Setup » sur lequel se rabattre, ni de page à 192.168.4.1.

Home Assistant découvre toujours la carte, par mDNS.

Ce retrait est ce qui a rendu le MQTT possible : le creux de mémoire libre passe de 236 octets à 27 432, et le plus gros bloc allouable de 8 192 à 26 624, ce qu'un handshake TLS exige.

L'annonce BLE retrouve du même coup son UUID de service, qu'Improv confisquait.

Garde-fous

  • Une option Bluetooth qui change met les cartes en service en boucle de redémarrage, sans remède à distance. La carte migre seule, et la publication est refusée si la configuration a bougé.
  • Cinq paniques d'affilée effacent la NVS, pour sortir d'une boucle sans intervention.
  • reboot_timeout: 0s sur l'API et sur le Wi-Fi, désormais contrôlé : sans lui, une carte pilotée seulement en BLE redémarrerait toutes les quinze minutes en coupant ses huit sorties.
  • Un garde-fou de débit par sujet, qui diffère au lieu de jeter.

⚠️ Ce qui n'a jamais tourné en conditions réelles

Le filet des cinq paniques, la migration Bluetooth sur un parc, huit clients simultanés. C'est pourquoi cette version reste une bêta.