Как общаться между ESP8266? Всем привет! Возникла потребность в передачи данных с модуля MPU-6050 на расстоянии по WIFI. Купил две ESP12, на одну из них вешаю MPU-6050, делаю точкой доступа (сервером) - передатчик. На втором модуле реализую клиент, и соединяюсь с точкой доступа (от нее принятые данные идут в com-порт и обрабатываются на ПК или ноутбуке). Но как передать данные, у меня возник вопрос. Получилось выводить данные на веб-страницу, но меня это не устраивает, нужно напрямую передать на клиент. Немного пошарился по форумам, ознакомился с принципом работы, понял что нужно передавать по UPD протоколу, и тут я завис. Как его реализовать для "точка доступа - клиент" на Arduino IDE? Может у кого есть такой опыт, или кто что может подсказать?
Для передачи данных между двумя ESP8266 модулями по протоколу UDP вам необходимо настроить инициализацию UDP соединения на обоих устройствах.
Вот пример кода для отправки данных с сервера (точка доступа) на клиент:
Сервер (точка доступа):
#include <ESP8266WiFi.h>WiFiServer udpServer(12345);
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_AP);
WiFi.softAP("Tester", "password");
udpServer.begin();
}
void loop() {
WiFiClient client = udpServer.available();
if (client) {
Serial.println("Client connected");
client.println("Hello, client!");
client.stop();
}
}
Клиент:
#include <ESP8266WiFi.h>const char* ssid = "Tester";
const char* password = "password";
const char* host = "192.168.4.1";
const int port = 12345;
WiFiClient client;
void setup() {
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void loop() {
if (!client.connect(host, port)) {
Serial.println("Connection failed");
delay(5000);
return;
}
while (client.available()) {
String message = client.readStringUntil('\r\n');
Serial.println(message);
}
client.stop();
}
Поменяйте SSID и пароль точки доступа на свои, а также IP адрес сервера и порт на котором сервер слушает соединения.
Теперь сервер будет отправлять сообщение "Hello, client!" клиенту, который будет его принимать и выводить на монитор порта.