ESP8266 UDP отправляет сбой через некоторое время [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 ESP8266 UDP отправляет сбой через некоторое время [закрыто]

Сообщение Anonymous »


У меня есть простой код c/c++, который отправляет сообщения udp с аналогового входа моего ESP8266-12f через UDP. Проблема в том, что через пару секунд он перестает работать и обрывается соединение Wi-Fi.

#include #include // сетевые настройки #define WIFI_SSID "***" #define WIFI_PASS "***" const char *udpAddress = "192.168.2.174"; const int udpPort = 4210; const int аналогIn = A0; const int sampleSize = 100; // --------- uint8_t образцы [sampleSize]; int sampleIndex = 0; интервал таймераLastSample; WiFiUDP UDP; недействительная настройка() { // установка серийного номера Serial.begin(115200); // даем некоторое время для последовательного соединения задержка(3000); // обратная связь Serial.println("Подключиться к Wi-Fi..."); // подключаемся к Wi-Fi WiFi.begin(WIFI_SSID, WIFI_PASS); // ждем подключения Wi-Fi пока (WiFi.status() != WL_CONNECTED) { задержка(100); Serial.print("."); } Serial.println("Подключено!"); Serial.print("IP: "); Serial.print(WiFi.localIP()); Serial.println(""); } недействительный цикл() { if(WiFi.status() != WL_CONNECTED){ ЕСП.сброс(); } int сейчас = миллис(); если (сейчас — timerLastSample >= 1) { timerLastSample = сейчас; // читаем значение и преобразуем его в 8-битное значение // https://forum.arduino.cc/t/uno-convert- ... d/361220/2 образцы [sampleIndex] = AnalogRead (аналоговый вход) / 4; // только для разработки Serial.print("Образец собран: "); Serial.print(sampleIndex); Serial.print(" = "); Serial.println(образцы[sampleIndex]); образециндекс += 1; } если (sampleIndex == sampleSize) { Serial.println("Отправить пакет udp!"); // перезагрузить образециндекс = 0; // отправляем данные UDP.beginPacket(udpAddress, udpPort); // https://arduino.stackexchange.com/q/81925/66902 // комментарий под вопросом UDP.write((const byte*) &samples, sizeof(samples)); UDP.endPacket(); //UDP.flush(); } } UDP-сервер:

var udp = require("dgram"); const fs = require("fs"); //const поток = fs.createWriteStream("./audio.raw"); const server = udp.createSocket("udp4"); пусть счетчик = 0; server.on("ошибка",функция(ошибка){ console.log("Ошибка: " + ошибка); сервер.закрыть(); }); server.on("сообщение",функция(сообщение,информация){ console.log("Данные получены от клиента: ", msg); console.log("Получено %d байт от %s:%d\n",msg.length, info.address, info.port); счетчик += 1; console.log(счетчик); // поток.write(msg); }); server.on("прослушивание", () => { пусть {адрес, порт} = server.address(); console.log(`Сервер прослушивает udp://${address}:${port}`) }); server.bind(4210, "0.0.0.0"); Как я могу это исправить?

Моя цель — семплировать с частотой 8000 Гц и 8 бит.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»