SO_OOF
New member
Здравствуйте. Сделал проект arduino nano + esp-01. Arduino читает датчики и передает все esp, а esp отдает все серверу который поднят на компе. Имя SSID и пароль сети прописан статически в коде и ip сервера, если я сделаю это на другом компе в другой сети, мне понадобиться все переписывать в коде и снова записывать на esp, что не очень удобно. Поэтому хотел бы узнать, есть ли способ это как-то менять динамически. Например сделать на сервере поле, сервер передает информацию в esp и esp обновляет свои показатели. Находил wifi manager, но это не то что мне нужно.
Вот код для esp
Вот код для esp
Код:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiUdp.h>
const char* ssid = "***";
const char* password = "***";
unsigned long last_time;
String temp;
char json_string[200];
const int port = 8888;
IPAddress server_ip(192,168,1,30);
WiFiUDP Udp;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password); //Инициализация соединения Wi-Fi
while (WiFi.status() != WL_CONNECTED) { //ожидание соединения
delay(500);
}
}
void loop() {
if (millis() - last_time >= 2000) {
last_time = millis();
data_reception();
udp_send();
}
}
void data_reception() {
temp = "";
while (Serial.available() > 0) {
temp += char(Serial.read()); //читаем данные переданные arduino
}
temp.toCharArray(json_string, 200);
}
void udp_send() { //отправляем UDP на сервер
Udp.beginPacket(server_ip, port);
Udp.write(json_string);
Udp.endPacket();
}