Contacter Arduino via Internet sans redirection de port


13

J'ai une carte Arduino connectée à un réseau Wifi qui a accès à Internet. Ce que je veux, c'est que je dois contacter cette carte Arduino à partir de tout autre réseau sans l'aide de la redirection de port dans le réseau domestique d'Arduino. Actuellement, ce que je fais, c'est de faire le ping Arduino sur mon serveur web toutes les deux secondes, ce qui n'est pas pratique je crois.

Comment un appareil comme les lumières LED wifi intelligentes se connecte-t-il à Internet? Nous pouvons les faire fonctionner avec notre téléphone mobile sans aucune redirection de port ni aucun autre ajustement de la configuration du routeur, non? Comment font-ils?


Regardez CoAP et peut-être d'autres protocoles IoT.
Sean Houlihane

Réponses:


9

Afin d'éviter d'avoir à être sur un réseau qui autorise le trafic entrant , vous devez vous connecter sortant à un serveur qui relaiera les demandes des clients qui lui établissent également des connexions sortantes.

C'est essentiellement comme le modèle d'un satellite de communication. L'ordinateur ou le téléphone de l'utilisateur ou quoi que ce soit, et l'appareil IoT, maintiennent des liens "vers le haut" vers ce serveur dans le cloud, et il prend chaque message qui apparaît d'un côté et le transmet de l'autre, et vice versa.

Il existe de nombreuses façons d'implémenter un tel serveur. L'une des tendances actuelles est d'en faire un courtier MQTT . Dans MQTT, les clients (à la fois l'appareil IoT et les appareils utilisateur) établissent des connexions sortantes avec le courtier, et les messages de partage rompus qui sont "publiés" sur un "sujet" par un client à tous les clients qui se sont "abonnés" à ce "sujet " sujet.

  • Étant donné qu'une connexion est déjà établie, le courtier peut envoyer du trafic non sollicité vers le bas sans latence d'intervalle d'interrogation

  • Pour maintenir les connexions établies, un trafic de maintien en vie occasionnel est envoyé

  • Si la connexion est interrompue, il existe des règles pour tenter de la rétablir

  • Essentiellement, une latence notable ne se produit que si le courtier essaie de relayer un message et que la connexion s'avère être interrompue et pas encore réparée, auquel cas le message serait retardé jusqu'à ce que la reconnexion soit effectuée. (Il existe des options pour conserver les messages, les supprimer, etc.).


1
MQTT tout le chemin. Merci pour l'indice Chris. NodeJS + MQTT est le chemin à parcourir.
Jithesh Kt
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.