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

21 Авг 2019 в 06:29
234 +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 Апр в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 727 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир