Задать вопрос
BRAGA96
@BRAGA96

Как установить связь между сервером в интернете и сервером в локальной сети WiFi роутера?

Здравствуйте.
Делаю IoT систему и возникло пару вопросов по IP и маршрутизации.

Что имеется
* Микроконтроллер NodeMCU с WiFi модулем ESP8266 (C, C++) в качестве WebServer'а
* Мобильный 2G интернет-флэшка включена в WiFi роутер
* NodeJS сервер на домене
* Forntend на домене

Последовательность действий
* NodeMCU подключается к WiFi роутеру и поднимается на своём адресе, например 192.168.0.100:80
* NodeJS сервер должен стучатся POST запросами на NodeMCU.
* NodeMCU принимает запросы NodeJS сервера и тоже может стучатся POST'ами на NodeJS сервер.
* Frontend стучится на NodeJS сервер, сервер проверят, обрабатывает и стучится на NodeMCU.

В чем проблема
Вроде все просто, но проблема в IP. На какой адрес будет стучатся NodeJS сервер если NodeMCU поднялся в локальной сети?
Когда frontend, NodeJS и NodeMCU находятся в одной локальной сети роутера, все работает, но как это перевести в интернет?
  • Вопрос задан
  • 450 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
BRAGA96
@BRAGA96 Автор вопроса
Вопрос решил с помощью протокола MQTT. Принцип работы очень похожий на WebSocket.
NodeMCU соединяется с NodeJS сервером (mqtt брокер, поднятый на mosca) и обменевается пакетами. В таком случае NodeJS серверу не нужно знать IP NodeMCU.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@cssman
вам нужен белый ip, либо обращаться по dns (сервисы no-ip). Белый ip назначать либо сразу на железку, либо NAT с белого ip на серый ip железки в локальной сети.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Вам нужен белый IP адрес, без него никак.
Причем на каждом клиенте.
Это 60-80рублей в месяц примерно на каждого клиента.
Без этого работать не будет никак.
Ну или меняйте архитектуру, чтобы стучался клиент, а не сервер, тогда вам нужен будет белый адрес только на сервере.
Ответ написан
@Drno
Мой вариант - унжен упр сервер в вебе с внешним IP. И стучаться только через него.
Вариант два - я выбрал его для своих задач - все клиенты вначале ломятся к собственному VPN в инете, и уже общаются внутри впн сети. В таком случае на клиенте может быть любой интернет, всё будет пучком.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы