blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
Programátor
deadawp



Hlasom ovládané auto - ESP8266 (NodeMCU)
pridal deadawp 10.1. 2020 o 13:24 (naposledy upravené 29.6. 2021 o 12:42)



Pre implementáciu hlasovo ovládaného auta som použil ako aj pri predchádzajúcich projektoch využívajúcich ovládanie hlasom technológiu Webkit. Technológia je od Googlu, to znamená, že pre ovládanie hlasom je nutné používať iba prehliadač Chrome. Projekt je viazaný na webaplikáciu, ktorá umožňuje hlasové zadávanie príkazov, rovnako tak obsahuje aj zdrojový kód pre mikrokontróler vrátane kontroly s logom posledných príkazov.

Technológiu je možné použiť s akýmkoľvek svetovým jazykom - aj slovenčinou, češtinou, či anglickými regiónmi. Napríklad en-US, en-CA, en-AU a ďalšie... Prehliadač Chrome vyžaduje, aby webová stránka, kde prebieha hlasové zadávanie príkazov fungovala pod HTTPS protokolom. V opačnom prípade Chrome nedovolí zapnúť mikrofón a nahrávať hlas. 

V mojej implementácii som sa rozhodol pre anglický jazyk. Vyhotovil som prototyp programu pre hlasové ovládanie auta. Pre ovládanie motorov som využil dosku NodeMCU verzie 2, ku ktorej je kompatibilný L293D Motor shield.

Tento shield, či skôr base kit je vytvorený iba pre verziu NodeMCU 2! Verzia 3, verzia 1 je väčšia a do tohto shieldu sa nezmestí.
Porovnanie NodeMCU V3 (vľavo) a V2 (vpravo) - kompatibilná pre L293D Motor shield:

NodeMCU v2 neobsahuje VU pin, teda 5V výstup z USB napájania ako je to napríklad u veľmi populárnej verzie NodeMCU v3. Shield je vybavený driverom L293D, ktorý umožňuje regulovať dva DC motory. Shield obsahuje svorkovnice pre samostatné napájanie motorov, teda sa napájanie neťahá z ESP8266 (NodeMCU) a jeho regulátora.  

Do webového rozhrania som implementoval tieto príkazy:

  • Move forward
  • Move backward
  • Turn left
  • Turn right

NodeMCU sa vie pripojiť k webovému rozhraniu po HTTPS protokole s knižnicou WiFiClientSecure. Programová implementácia vyžaduje zadanie správneho HTTPS odtlačku certifikátu - fingerprintu. Testovací sketch bol vytvorený pre verziu 2.5.2 pre Arduino core - vložené do Arduino IDE.

Hotová implementácia RC ovládaného auta môže vyzerať napríklad takto:

NodeMCU komunikuje s webserverom a pri načítaní stavu pre pohyb (po zadaní hlasového príkazu) vykoná príkaz a zmaže aktuálny príkaz. Následne vyčakáva na ďalší príkaz. Používateľ vo webovom rozhraní vidí aj aktuálny stav, ktorý na pozadí aktualizuje AJAX. Vie overiť, či ESP vykonalo príkaz. Odozva je veľmi rýchla na serverovo orientované spojenie. Program pre ESP8266 je plne kompatibilný pre všetky verzie NodeMCU, pre Wemos D1 Mini a príbuzné ESP8266 vývojové kity a dosky. 

Základný zdrojový kód (bez ovládania motorčekov a schémy zapojenia) je dostupný zdarma na adrese, kde je možné odtestovať v reálnom čase aj samotný hlasové ovládanie. Implementácia:  https://arduino.php5.sk/php_car/ 

K programovým implementáciám som doplnil rovnaký program i pre ESP32 a pre Arduino s Ethernet shieldom. Pri Arduine platí, že podporuje iba HTTP protokol. Vyžaduje sa teda aj verzia webu po HTTP. 
Viac o projekte je možné nájsť na adrese: https://arduino.php5.sk/voice-car-esp8266.php



Prístupov 17565
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Update grafov, ukážkových kódov - Hladin...
[ 16.11.2024] (príspevkov 0)
XIAO ESP32-C6 od Seeed Studio
[ 10.11.2024] (príspevkov 0)
ESP-IDF v4.4.2 prechod na v5.2
[ 5.11.2024] (príspevkov 0)
Krabička pre RFID DOMINATOR 2.0
[ 18.10.2024] (príspevkov 0)
Známe neduhy - Ecotec 1.6E Opel/GM Chevr...
[ 8.10.2024] (príspevkov 0)
Cold-start BQ25570 vs BQ25504 od Texas I...
[ 2.8.2024] (príspevkov 0)
EG21-G - MQTT pripojenie na Thingsboard
[ 5.6.2024] (príspevkov 0)
Quectel EG21-G - HTTP request
[ 17.5.2024] (príspevkov 0)
Tip na darček k jubileu 60
[ 29.4.2024] (príspevkov 0)