Проблема с подключением к Интернету из другой сети для NodeMCU ESP8266, которую я использую для домашней автоматизации IOT - PullRequest
0 голосов
/ 21 марта 2019

Кто-нибудь хотел бы помочь мне с этой проблемой, пожалуйста?

как подключить / управлять Wi-Fi-модулем Nodemcu esp8266 из другой сети для управления устройствами из-за пределов любого дома / дома?

Проблема с интернет-соединением из другой сети для NodeMCU ESP8266, которую я использую для домашней автоматизации IOT.

На самом деле, в случае с проектом класса, я использовал некоторый код (также скопировал код и получил помощь с какого-то веб-сайта) из Интернета, а также использовал Blynk для управления моим ESP8266. Но я не хочу создавать личное приложение, с помощью которого я могу управлять своими устройствами вне дома.

Я уже подключился к маршрутизатору WI-FI через домашнюю сеть !! Это сработало хорошо, Но я не знаю, как сделать то же самое из разных сетей.

Если возможно, я думаю, что любой может помочь мне ....

Спасибо. Каждому.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Вы можете использовать Arduino IDE для программирования устройства ESP8266.

https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/

После установки ESP8266 в Arduino IDE.Вам необходимо подключить ESP8266 к маршрутизатору WiFi (к которому подключен интернет).После того, как ваше устройство подключено к маршрутизатору WiFi.Вы можете протокол MQTT для связи с сервером.Вы можете использовать следующую библиотеку в Arduino для реализации MQTT-клиента в ESP8266.ESP8266 используется для отправки и получения данных из другой сети.ESP8266 подписан на определенную тему.Вы можете опубликовать данные по этой теме из другого клиента MQTT.

https://github.com/Imroy/pubsubclient

Используйте следующую ссылку, чтобы ознакомиться с протоколом MQTT

https://www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt

Вы можете использовать настольное приложение MQTTfx для отправки иполучить данные от NodeMcu (ESP8266).

Базовая диаграмма MQTT для понимания

0 голосов
/ 21 марта 2019

Ответ был дан более подробно на сайтах Arduino и Интернет вещей StackExchange. В итоге:

В целях безопасности сложно установить соединение с устройством в другой локальной сети. Устройства в сетях WiFi защищены от Интернета брандмауэром, который обычно настроен на возврат ответов на запросы, отправленные устройствами, но блокирует все нежелательные сообщения. Даже если брандмауэр разрешает входящее соединение через заданный порт, «переадресация портов» или другие пользовательские конфигурации необходимы для того, чтобы неожиданные сообщения могли попасть на одно из нескольких устройств в сети (устройства обычно используют один и тот же общедоступный IP-адрес сети и сообщения внешних систем не могут достигнуть правильного локального адреса без пересылки маршрутизатором).

Любое устройство, подверженное нежелательным запросам, подобным этому, может подвергнуться атаке и может представлять опасность для других систем в сети. Таким образом, безопаснее оставить брандмауэр тем же и вместо этого заставить устройство подписаться на внешний веб-сервер, который действует как почтовый ящик для входящих сообщений. Затем вы можете отправлять запросы на сервер с любого устройства, подключенного к Интернету, и сервер будет хранить их и передавать их на ESP8266 всякий раз, когда запрашивает ESP. Протокол MQTT, использующий программу-посредник на стороне сервера, такую ​​как Mosquitto , и клиент, такой как PubSubClient на вашем ESP8266, может работать для такого рода модели публикации-подписки, а учебные пособия и объяснения MQTT доступны как для как на сайтах инструментов, так и на сайтах стеков.

...