Le maillage sans fil est-il un mauvais choix pour les appareils somnolents?


7

J'ai réfléchi à ce qu'il faudrait pour construire un réseau de capteurs de température pour le bloc d'appartements dans lequel j'habite. Un maillage sans fil, s'il fonctionnait , aurait de belles fonctionnalités. En particulier, je pouvais placer des capteurs dans les zones de stockage du garage et de la cave où aucun signal mobile ou Wi-Fi n'atteindrait autrement.

Une raison possible de ne pas utiliser de maillage est que je souhaiterais probablement également utiliser des appareils endormis pour éviter de changer souvent les piles. D'après ce que je peux voir, la seule façon dont cela va fonctionner est avec la synchronisation d'horloge afin que les appareils se réveillent en même temps et suffisamment longtemps pour que le signal se propage à travers le réseau.

Bien que j'aie entendu une telle solution décrite, je me demande dans quelle mesure cela fonctionnerait dans la pratique. Il est probable que la synchronisation d'horloge périodique doit être ajoutée au protocole pour éviter toute dérive. Quelqu'un a-t-il de l'expérience dans ce domaine et existe-t-il d'autres stratégies pour utiliser des maillages et des appareils somnolents en dehors de la synchronisation d'horloge?

Réponses:


7

Il est en fait possible d'autoriser les nœuds dormants sans avoir besoin de synchronisation horaire. L'idée de base est d'envoyer un message plusieurs fois jusqu'à ce que le nœud se réveille enfin. Il y a bien sûr beaucoup de place pour une optimisation intelligente, il existe donc des centaines d'approches de couche MAC basées sur cette idée.

Mais puisque votre question demande spécifiquement des couches MAC, où un nœud sait quand transmettre à l'avance, c'est-à-dire TDMA (Time Division Multiple Access), je me concentrerai sur ces approches.

Comme vous l'avez déjà mentionné, un problème est la dérive de l'horloge, donc les appareils doivent se réveiller régulièrement pour la synchronisation de l'heure. Dans les applications sans fil à courte portée typiques dont nous parlons, la durée de propagation du signal elle-même sur un seul bond n'est pas un gros problème. Il suffit donc qu'un coordinateur central envoie une balise, y compris l'heure courante, à intervalles réguliers connus des nœuds.

Dans un réseau à sauts multiples, cela devient plus compliqué. La simple transmission de la balise ne fonctionnera pas, car la latence est trop élevée. La solution est que plusieurs nœuds (sinon tous) envoient des balises, c'est-à-dire reçoivent une balise d'un nœud plus proche du coordinateur, corrigent la dérive d'horloge avec lui et envoient une propre balise avec l'heure corrigée. Vous n'avez qu'à éviter de créer des cercles (été là, fait ça ....).

Puisque maintenant chaque nœud du réseau a la même notion de temps, il y a un deuxième problème: comment un nœud sait-il quand il doit se réveiller pour transmettre ou recevoir? Il existe essentiellement quatre approches, qui peuvent également être combinées:

  • Emplacement commun : tous les nœuds se réveillent en même temps et utilisent une méthode d'accès basée sur les conflits pour transmettre leurs paquets Avantage : facile (si vous savez comment faire CSMA / CA). Inconvénient : sujet aux collisions, débit inférieur.

  • Prédéfini : pour un nombre restreint de nœuds, vous pouvez simplement affecter des emplacements fixes aux nœuds. Par exemple, le nœud 2 peut envoyer au nœud 1 dans le premier intervalle de temps et le nœud 3 peut envoyer au nœud 2 dans le deuxième intervalle de temps. Avantage : emplacements dédiés et aucune collision. Inconvénient : la topologie doit être corrigée (très difficile dans les réseaux maillés sans fil).

  • Centralisé : un coordinateur central demande aux nœuds des informations sur la topologie, calcule un planning global et les redistribue aux nœuds. Avantage : aucune topologie prédéfinie requise. Inconvénient : évolue mal et est sujet à des changements de topologie (l'ensemble du processus doit être redémarré).

  • Décentralisé : deux nœuds qui souhaitent communiquer négocient eux-mêmes l'emplacement. C'est assez complexe, car ils doivent s'assurer qu'aucun périphérique voisin ne transmet en même temps. Avantage : évolue bien car la négociation est locale. Inconvénient : complexe à mettre en œuvre.

Il existe deux techniques connexes incluses dans la norme IEEE 802.15.4 qui font actuellement l'objet de nombreuses recherches: TSCH et DSME.

TSCH lui-même est assez basique. Il ne résout que le problème de synchronisation de l'heure, mais laisse le problème d'attribution de créneau pour une couche supérieure. Il y a 6TiSCH qui essaie de combler cette lacune, mais ce travail est toujours en cours. Il existe des implémentations, par exemple incluses dans Contiki ou OpenWSN .

DSME, d'autre part, fournit déjà un mécanisme de négociation décentralisée des créneaux horaires. Nous avons en fait construit une implémentation open-source de ceci appelé openDSME . Bien qu'il existe un didacticiel vidéo pour exécuter une simulation, l'implémentation matérielle est malheureusement encore sous-documentée. Posez une autre question ou contactez-nous directement si vous souhaitez l'utiliser.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.