Зв'язок з Arduino через Інтернет без переадресації порту


13

У мене є плата Arduino, підключена до мережі Wifi, яка має доступ до Інтернету. Що я хочу, це мені потрібно зв’язатися з цією платою Arduino з будь-якої іншої мережі без допомоги переадресації портів у домашній мережі Arduino. В даний час те, що я роблю, - це робити Arduino пінг на мій веб-сервер через кожні дві секунди інтервал, що не є практичним, я вважаю.

Як пристрої, такі як світлодіодні світильники розумного Wi-Fi, підключаються до Інтернету? Ми можемо керувати ними за допомогою мобільного телефону без переадресації портів чи будь-яких інших налаштувань конфігурації роутера, правда? Як вони це роблять?


Подивіться на CoAP та, можливо, деякі інші протоколи IoT.
Шон Хуліхане

Відповіді:


9

Щоб уникнути необхідності знаходитися в мережі, яка дозволяє вхідний трафік, вам потрібно підключити вихідний сервер до сервера, який передаватиме запити клієнтів, які також здійснюють вихідні з'єднання з ним.

Це по суті як модель супутника зв'язку. Як комп'ютер або телефон користувача, чи що завгодно, і пристрій IoT підтримують посилання на цей сервер у хмарі, і воно приймає кожне повідомлення, яке з’являється з одного боку, і надсилає його вниз з іншого, і навпаки.

Існує багато можливих способів реалізації такого сервера. Наразі в моді - це зробити брокером MQTT . У MQTT клієнти (як пристрій IoT, так і користувальницькі пристрої) здійснюють вихідні з'єднання з брокером, а розбиті спільні повідомлення, які "публікуються" на "тему" одним клієнтом усім клієнтам, які "підписалися" на цю "тему" "тема.

  • Оскільки вже встановлено з'єднання, брокер може надсилати небажаний трафік по ньому без будь-якого затримки інтервалу опитування

  • Щоб зберегти з'єднання, періодично надсилається постійний рух

  • Якщо з'єднання розривається, існують правила спроби відновити його

  • По суті, помітна затримка виникає лише в тому випадку, якщо брокер намагається перенести повідомлення вниз, а з'єднання виявиться розірваним і ще не відремонтовано, і в цьому випадку повідомлення буде відкладено до повторного з'єднання. (Є варіанти для зберігання повідомлень, їх скидання тощо).


1
MQTT до кінця. Дякую за підказку Кріс. NodeJS + MQTT - це шлях.
Jithesh Kt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.