Statut de Connexion
Les boards ont deux états simples : CONNECTED et DISCONNECTED.
Cette section explique comment elles passent de l’un à l’autre, en fonction de leur connectivité.
Cela peut aider à comprendre les informations renvoyées par la Plateforme de Données.
Au-delà d’un simple état de connexion, ce statut informe sur la santé de la board et sa capacité à fonctionner normalement.
Il tient compte notamment des performances réseau, de la stabilité de l’alimentation et de la qualité du signal Wi-Fi.
💡 Une board est considérée comme CONNECTED dès qu’elle publie un message Hello à la plateforme de données Centiloc.
Pour atteindre cet état, la board suit la même séquence de base, quel que soit le type de connexion :
flowchart LR
classDef class_blue fill:#00aec2,color:#fff,stroke-width:0px;
classDef class_success fill:#a2c617,color:#fff,stroke:#4a4a49,stroke-width:2px;
A("1. Connexion au serveur NTP"):::class_blue --> B("2. Connexion au réseau (Wi-Fi ou Ethernet)"):::class_blue --> C("3. Connexion au Broker MQTT"):::class_blue --> D("4. Publication du message Hello"):::class_success
Si l’une de ces étapes échoue, la board reste dans l’état DISCONNECTED.
Les connexions Wi-Fi et Ethernet permettent toutes deux d’accéder à la plateforme de données, avec quelques différences :
| Type de réseau | Exigences | Remarques |
|---|---|---|
| Wi-Fi | Réseau 2.4 GHz, mot de passe requis | Le mot de passe doit être configuré avant le déploiement |
| Ethernet | Connexion physique à un switch ou un routeur | DHCP attribue automatiquement une adresse IP |
Si la connexion Ethernet échoue, la board tentera automatiquement de se connecter via Wi-Fi (sauf si le Wi-Fi a été désactivé à la commande).
La board tente de se connecter au port UDP 123 d’un des serveurs suivants :
- Pools standard de serveurs NTP (publics)
- Hôte de la plateforme de données (important pour les installations OnPremise déconnectées d’internet)
Selon la configuration, toutes les étapes suivantes doivent réussir pour établir la connexion au broker MQTT :
- La board se connecte en utilisant un identifiant utilisateur et un mot de passe.
Boards v5+ :
- La board établit une connexion sécurisée (SSL handshake) :
- Vérifie la validité et la signature du certificat serveur (CA Centiloc)
- Présente son propre certificat signé par la CA Centiloc
- Authentification par utilisateur et mot de passe.
Boards v4- :
- Établit une connexion SSL :
- Vérifie la validité du certificat serveur (CA Let’s Encrypt)
- Authentification par utilisateur et mot de passe.
Boards v5+ :
- Établit une connexion SSL :
- Ignore la vérification du certificat serveur
- Présente son propre certificat signé par la CA Centiloc
- Authentification par utilisateur et mot de passe.
🚫 Boards v4- : non supporté
Enfin, la board publie un message Hello sur un topic spécifique.
- La board doit avoir l’autorisation de publier.
- Le message doit être correctement formaté.
Certaines conditions peuvent faire repasser la board à l’état DISCONNECTED.
Le protocole MQTT vérifie la connexion de ses clients via des échanges KeepAlive standards.
Si la board se déconnecte du broker MQTT (ex. coupure Wi-Fi ou Ethernet) et ne répond plus aux échanges KeepAlive, elle passe automatiquement à l’état DISCONNECTED
(techniquement, un message Last Will est publié).
🕰 Cela se produit à la fin de la procédure KeepAlive (timeouts + retries), soit jusqu’à 4 minutes dans le pire cas.
En complément du mécanisme MQTT, la plateforme de données vérifie périodiquement l’activité des boards.
Elle envoie automatiquement un ping à chaque board silencieuse toutes les 10 minutes environ.
Si une board ne répond pas, son statut est mis à jour vers DISCONNECTED.
💡 Une board série est considérée comme CONNECTED dès que la gateway à laquelle elle est reliée publie un message Hello vers la plateforme Centiloc, et que la board répond à un ping.
En effet, dans ce cas, la gateway gère la connexion entre la board et la plateforme, qui surveille son statut.
La gateway doit donc d’abord établir sa propre connexion (comme une board Wi-Fi) avant de transmettre les pings de la plateforme aux boards connectées, à la demande de la plateforme (voir Gateway).
En d’autres termes, le statut de connexion d’une board série n’est mis à jour qu’après réception d’un ping, qu’il soit automatique ou initié par l’utilisateur.
L’utilisateur peut vérifier la connexion d’une board en l’interrogeant via un ping.
La board n’a pas besoin d’être CONNECTED pour répondre.
- Si la board est
DISCONNECTEDet qu’elle répond au ping → son statut passe automatiquement àCONNECTED. - À l’inverse, si elle est
CONNECTEDmais ne répond pas → son statut passe automatiquement àDISCONNECTED.