Мне надо сделать Web-сервер для esp8266, но сделать его не в пределах роутера, а доступным с любой точки планеты.
Сколько не гуглю - везде инструкции как сделать локальный.
Хочу сделать HTML или PHP страницу, чтобы данные передавались из Arduino на сайт, и наоборот.
/* Настройки IP адреса */
IPAddress local_ip(192,168,1,1); // вставьте белый адрес, На самом деле не стоит
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
Просто имея белый адрес на роутере сделайте проброс портов
например 17.17.99.80:8090 -> 192,168,1,1:80 протокол TCP
Либо настройте NGINX для обратного проксирования локального адреса, рекомендуемый вариант
Нужно начать с того, что каждое устройство должно иметь свой сетевой адрес (IPv4, IPv6) и тогда оно может быть доступно в пределах некоторой подсети. Обычно веб-сайты доступны по имени домена.
В зависимости от целей можно использовать доступ по HTTP (REST API на PHP, например), MQTT и прочим.
0. Ваш провайдер дает вам белый, или хотя-бы серый, но хоть какой-нибудь внешний IP. Без этого не взлетит.
1. Запускаете по той инструкции, что про локальный.
2. В настройках роутера внешние подключения к порту 80 (стандартный порт браузера) пробрасываете на порт вашей esp-шки. (гуглить "как пробросить порт модель_роутера")
Всё, теперь ваша esp-шка видна из интернетов, и любой китайский вирус может попытаться ее взломать.
Опционально можно купить или зарегистрировать бесплатный домен, и привязать его к вашему внешнему IP. fgshfghsdgsdgdgsd.tk бесплатно доступен только что был, например.