Как общаться между ESP8266? Всем привет! Возникла потребность в передачи данных с модуля MPU-6050 на расстоянии по WIFI. Купил две ESP12, на одну из них вешаю MPU-6050, делаю точкой доступа (сервером) - передатчик. На втором модуле реализую клиент, и соединяюсь с точкой доступа (от нее принятые данные идут в com-порт и обрабатываются на ПК или ноутбуке). Но как передать данные, у меня возник вопрос. Получилось выводить данные на веб-страницу, но меня это не устраивает, нужно напрямую передать на клиент. Немного пошарился по форумам, ознакомился с принципом работы, понял что нужно передавать по UPD протоколу, и тут я завис. Как его реализовать для "точка доступа - клиент" на Arduino IDE? Может у кого есть такой опыт, или кто что может подсказать?

21 Авг 2019 в 06:29
263 +1
0
Ответы
1

Для передачи данных между двумя 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!" клиенту, который будет его принимать и выводить на монитор порта.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир