• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь esp-12f Голосовое управление

mix

New member
Доброго времени суток. Подключил к esp-12f DFPlayer, написал простенькую программку в appinventor и пытаюсь голосовыми командами отсылать запросы на веб сервер, без подключения к интернету. Предварительно установив оффлайн библиотеки распознания русской речи в своем телефоне.

В программе всего 2 кнопки, первая запускает распознавание голосовой команды, после распознания записывает результат в текстовое окно и отсылает команду на веб сервер(192.168.4.1/zv1). Вторая же после нажатия сразу отсылает команду на веб сервер(192.168.4.1/zv2).
Так вот беда, когда я подключаюсь к есп и нажимаю на кнопку 2 то команда отсылается без проблем и мой плеер начинает проигрывать мелодию, но стоит попробовать запустить распознавание речи так он ничего не распознает, ни одного слова(несколько секунд висит, после выдает окошко - попробуйте еще раз) . А если отключить вифи на телефоне и снова попробовать включить распознавание речи то всё прекрасно работает, распознает каждое слово и записывает его в текстовое окно.
В чем может быть беда, не могу никак понять, может кто подскажет?


Код:
#include <DFPlayer_Mini_Mp3.h>
#include <SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>


SoftwareSerial mySerial(8, 2); // RX, TX

/* Set these to your desired credentials. */
const char *ssid = "testing";
const char *password = "5432154321";

ESP8266WebServer server(80);

void myz1() {
mp3_play (8);
  delay (300);
server.send(200, "text/html","myz_play 8");
}

void myz2() {
mp3_play (9);
  delay (300);
server.send(200, "text/html","myz_play 9");
}

/* Just a little test message.  Go to http://192.168.4.1 in a web browser
* connected to this access point to see it.
*/

void handleRoot() {
    server.send(200, "text/html", "<h1>You are connected</h1>");
}

void setup() {
 
    delay(1000);
     Serial.begin(115200);
mySerial.begin (9600);
mp3_set_serial (mySerial); //set softwareSerial for DFPlayer-mini mp3 module
  mp3_set_volume (25);
    Serial.println();
    Serial.print("Configuring access point...");
    /* You can remove the password parameter if you want the AP to be open. */
  WiFi.mode(WIFI_AP);
    WiFi.softAP(ssid, password);
    IPAddress myIP = WiFi.softAPIP();
    Serial.print("AP IP address: ");
    Serial.println(myIP);
    server.begin();
    Serial.println("HTTP server started");
  server.on("/", handleRoot);
server.on("/zv1", myz1);
server.on("/zv2",myz2);
}

void loop() {
    server.handleClient();
}
 

goodwin

Member
Ведроид видит сетевое подключение, забивает на локальное распознавание и пытается подключиться к гуглосерверу через ESP...
Я юзал bluetooth ;)
 
Последнее редактирование:

Olegator

New member
Гугл использует формат speex или raw pcm. Я вполне успешно пользуюсь сервисом Google с ESP.

Вот мои исходники захвата и кодирования звука в SPEEX формате (правда для STM32) stm32aio/audio_in.c at master · wiieva/stm32aio · GitHub

Вот код отправки в Google для ESP8266 - examples/wiieva-intro.cpp at master · wiieva/examples · GitHub

Вот видос - как работает :)
 
Сверху Снизу