• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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

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