Как управлять MKR1000 из-за пределов локальной сети

http mkr1000

Я хочу отправить HTTP-команду MKR1000 из-за пределов моей локальной сети.

До сих пор все ресурсы googled указывают на получение локального IP (пример 192.168.0.10) MKR1000 и отправку команды типа http://192.168.0.10/H к нему, а затем разобрать его.

Как отправить команду MKR1000 из - за пределов его локальной сети?

Я должен уточнить,что хочу, чтобы это был потребительский продукт, и не могу позволить конечному пользователю возиться со своими маршрутизаторами для переадресации портов и т. Д.

, 👍0

Обсуждение

Google "переадресация портов" вместе с маркой и моделью вашего маршрутизатора., @Majenko

Я хочу, чтобы это был потребительский продукт, и не хочу, чтобы каждый конечный пользователь возился со своим маршрутизатором. Отредактировал мой вопрос соответствующим образом., @Kashif

Ну, ты не можешь. Простой факт: устройства во внутренней сети, как бы вам этого ни хотелось, недоступны извне. Только пользователь может настроить свой маршрутизатор для переадресации доступа к нему., @Majenko

Но многие потребительские продукты Интернета вещей (например, NEST) управляются с вашего мобильного устройства из любого места?, @Kashif

Нет, это не так. Внешняя служба управляется с вашего устройства, и устройство Интернета вещей запрашивает ту же самую внешнюю службу., @Majenko

То, что вы *действительно* хотите, - это что-то вроде MQTT, @Majenko

Понятно, значит, мне нужен сервер. Мобильное устройство записывает данные на сервер, а MKR1000 продолжает запрашивать сервер для получения команд? Я думаю, что Firebase будет работать хорошо, НО этот непрерывный запрос на стороне MKR1000 будет потреблять батарею и данные., @Kashif

Зависит от того, насколько "непрерывный" вам действительно нужен., @Majenko


2 ответа


Лучший ответ:

3

Единственный способ, который я могу придумать для достижения этой цели, - это перенаправить ваш маршрутизатор и перенаправить порт 80 (http) на ваш MKR1000. Вы можете проверить https://portforward.com/ для получения инструкций по этому поводу.

Если вы не хотите переадресовывать порты, вам нужно будет подключить MKR1000 к централизованному серверу Интернета вещей и попросить пользователя пройти через сервер, чтобы получить доступ к MKR1000. Именно так это делают другие устройства Интернета вещей, такие как камеры nest.

,

2

Теперь вы можете попробовать эту библиотеку UPnP_Generic, чтобы сделать автоматическую блокировку портов для вас, не касаясь маршрутизатора вручную.



Многие из нас вручную переадресовывают порты в устройстве интернет-шлюза (IGD, Маршрутизатор), чтобы обеспечить доступ к локальным веб-сервисам из Интернета.

Эта библиотека обеспечивает более простой способ автоматической переадресации портов с помощью простого протокола обнаружения служб (SSDP), работающего на nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, ESP8266/ESP32, использующего ESP WiFi, WiFiNINA, Ethernet W5x00, ESP8266/ESP32 AT-command WiFi поддерживает многоадресную рассылку UDP.

SSDP обеспечивает механизм, с помощью которого сетевые клиенты, практически не имеющие статической конфигурации, могут обнаруживать сетевые службы. SSDP выполняет эту задачу, обеспечивая поддержку многоадресного обнаружения, а также маршрутизацию уведомлений и обнаружения на основе сервера.

SSDP используется для рекламы и обнаружения сетевых служб и информации о присутствии. Он выполняет эту задачу без помощи серверных механизмов конфигурации, таких как протокол динамической конфигурации хоста (DHCP) или Система доменных имен (DNS), а также без специальной статической конфигурации сетевого хоста. SSDP является основой протокола обнаружения Universal Plug and Play (UPnP) и предназначен для использования в жилых или небольших офисных помещениях.

Эта библиотека UPnP_Generic создана для автоматического обновления ваших IGDs запрошенной информацией о переадресации портов, используя одну из многих доступных плат / экранов. См.раздел Поддерживаемые в настоящее время платы.

Время между проверками обновления сопоставлений портов UPnP настраивается в соответствии с вашим вариантом использования и устанавливается в примерах на уровне 10 минут. LEASE_DURATION также настраивается и по умолчанию составляет 10 часов (36000 секунд). Имя виртуального сервера также может быть указано в скетче и показано в IGD, например NRF52-W5X00 или ESP8266-WIFI, как показано на следующем рисунке:

Код UPnP_Generic очень короткий, может быть погружен в ваши проекты и вызываться в коде loop ().

,