Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 31.03.24
Príspevky: 450
Témy: 198
Bydlisko: Poprad-okolie
Príspevok NapísalOffline : 25.07.2018 19:33

Ahoj pcforumáci a priaznivci Arduina a NodeMCU, prípadne ESP32. Po veľmi dlhom čase som sa odhodlal zmeniť šablónu pre webaplikáciu ovládania hlasom pre mikrokontroléry, aby som ju lepšie dokázal sprístupniť aj verejnosti a bola ľahšia na implementáciu aj laikmi.
Ovládanie hlasom v slovenčine pre mikrokontroléry a mikropočítače
Na môj web som pridal ďalšie info o tomto ovládaní, doplnil som zdroje, pridal aj EN, RU jazyk. Samotná možnosť ovládania hlasom je zabudovaná do prehliadača Chrome, využíva technológiu Webkit, ktorá umožňuje speech-to-text v reálnom čase a to XHR requestom na Google servery. Nakoľko sa jedná o Google službu, je možné využiť akýkoľvek svetový jazyk vrátane regiónov, napr en-US, ale taktiež aj en-CA, en-GB a iné podľa language kódov. Táto zmena sa dáva priamo do zdrojového kódu Javascriptu. V prípade slovenčiny sa používa sk-SK jazykový kód a pre český jazyk cs-CZ.
Ovládanie hlasom v slovenčine pre mikrokontroléry a mikropočítače
Popis funkčnosti (zjednodušene povedané):
Používateľ klikne na mikrofón vo webaplikácii, čo aktivuje jeho mikrofón s použitím javascriptu (za predpokladu, že je povolený) a začne nahrávať hlas, to prebieha, pokým používateľ hovorí, keď dohovorí, autoamticky sa prostredníctvom XHR requestu odošle požiadavka na Google servery, vráti sa odpoveď a AJAX ju predá PHP scriptu, ktorý túto informáciu uloží do textového súboru (ten je najľahší na čítanie mikrokontrolérmi). Mikrokontróler je už iba v úlohe klienta, ktorý si obsah súboru číta a vyhodnocuje jeho obsah na vykonanie akcie.

Odpoveď na XHR request:
Ovládanie hlasom v slovenčine pre mikrokontroléry a mikropočítače
Využil som jednoduchú Bare Boostrap šablónu, ktorá mi ponúkla ľahký grid systém na zostavenie jednoduchých stĺpcových elementov, v ktorom stránka beží. Pridal som stručné informácie, ako webaplikáciu rozbehnúť, aby ste mohli vyskúšať voice-to-text v reálnom čase aj u vás doma s jednou zo spomínaných vývojový dosiek.

V deme na vyskúšanie som sprístupnil 2 príkazy Zapni/Zapnúť Vypni/Vypnúť, k dispozícii som spravil aj obdobnú českú verziu s príkazmi Zapni/Zapnout Vypni/Vypnout. Na konci tohto príspevku je preklik na tieto stránky.

Toto ovládanie hlasom využívam primárne na ovládanie Arduina, prípadne dosiek ESP8266, či ESP32. Dôležité je iba si vyparsovať obsah .txt súboru. Problém pri webovo orientovaných aplikáciách je taký, že odpoveď prichádza ako niekoľko riadková response. Je v nej údaj o HTTP hlavičke, kód HTTP hlavičky, sprievodné informácie o serveri, napríklad verzia, engine... Tu je dôležité prečítať iba presný riadok, ktorý sa má prečítať, aby sa informácia dala porovnať v Arduino kóde cez jednoduchú if podmienku. Pre vyprasovanie premennej pri Arduine a Ethernet shielde som napísal parser, ktorý to umožňuje a prebytočnú časť hlavičky zahodí. Parser je momentálne vyhotovený pre 12 riadkovú response, ktorú webserver vracia na HTTP request. (Môže sa líšiť podľa servera, enginu, rošírení)

Na mojom webe som sprístupnil i kódy pre mikrokontroléry, konkrétne v spojení: Arduino + Ethernet shield W5100 (totožný kód funguje aj s W5500, ale vyžaduje zmeniť knižnicu na Ethernet2.h) a NodeMCU, ESP32. Dosku ESP32 je možné napojiť aj na podnikovú sieť, či univerzitnú - Eduroam pod protokolom 802.1x (WPA/WPA2 Enterprise).

Aby Webkit na webserveri mohol bežať, je nutné, aby server bežal pod HTTPS protokolom a toto je niekedy veľký problém, nakoľko Arduino sa s Ethernet shieldom nedokáže pripojiť na HTTPS web, preto je nutné mať aj jeden variant tohto webu i druhý, napríklad primárne https://web.sk a sekundárne http://www.web.sk, aby sa Arduino dokázalo pripojiť, pri NodeMCU to nie je problém, nakoľko plne podporuje HTTPS, rovnako aj ESP32. Vývojová doska ESP32 ale vyžaduje root certifikát priamo do svojho programu, čo je trochu ťažšie na implementáciu z dôvodu pridania ukončovacích znakov riadku. Pri ESP8266 (NodeMCU) doskách stačilo na HTTPS spojenie pridať do zdrojového kódu odtlačok HTTPS certifikátu v SHA1 formáte.

Ak bude stránka pod HTTP protokolom, Chrome nedovolí zapnúť mikrofón!
Ovládanie hlasom v slovenčine pre mikrokontroléry a mikropočítače
Priamo vo webaplikácii je možné vidieť aktuálny stav zariadenia pri ovládaní hlasom, vďaka Ajaxu sa stav mení okamžite bez nutnosti refreshu stránky.
Zapnuté:
Ovládanie hlasom v slovenčine pre mikrokontroléry a mikropočítače
Vypnuté:
Ovládanie hlasom v slovenčine pre mikrokontroléry a mikropočítače
Ak máte chuť túto webaplikáciu vyskúšať, navštívte môj web, kde je možné nájsť aj zdrojové kódy pre mikrokontroléry Arduino a NodeMCU, ESP32 (zatiaľ s HTTP requestom). K dispozícii je EN, RU, CS, SK verzia.

Info o webaplikácii + zdrojové kódy pre mikrokontroléry: https://arduino.php5.sk/ovladanie-hlasom.php
Projekt na Githube CS a SK verzia: https://github.com/martinius96/Ovladanie-hlasom-Arduino-NodeMCU-ESP32
CS: https://arduino.php5.sk/PHP_cs/
SK: https://arduino.php5.sk/PHP_sk/
EN: https://arduino.php5.sk/PHP_en/
RU: https://arduino.php5.sk/PHP_ru/
Postupujte prosím podľa inštrukcií na stránke!
Projekt je možné využiť na akýkoľvek účel, projekt je pod MIT licenciou. Web je univerzálny a je možné použiť na akýkoľvek mikrokontróler s konektivitou na web (C.H.I.P, Raspberry, Bigclown, micro:bit a mnoho iných).


Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Ovládanie hlasom pre Arduino/NodeMCU/ESP32/Raspberry/Orange Pi ... projekty

v Mikropočítače

1

2072

16.09.2017 9:16

ado130 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ESP8266 - Ovládanie hlasom cez Amazon Echo Dot

v Články

3

1235

30.05.2020 23:37

stiv Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Diaľkové ovládanie vhodné pre XBMC

v Ostatné

8

1516

31.12.2011 18:59

GIGN1987 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hlasom ovládané auto - ESP8266 (NodeMCU)

v Články

2

990

10.01.2020 18:25

martinius96 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Inštalátor v slovenčine

v Ostatné programy

2

503

14.12.2007 16:56

MANIAC Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. XnView v slovenčine

v Grafické programy

3

504

17.08.2010 16:56

Steal6th Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. classifieds software v slovenčine

v Redakčné systémy

0

400

08.02.2012 15:46

davider137 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ v Slovencine robi problem

v Assembler, C, C++, Pascal, Java

6

686

09.07.2017 15:18

JouSVK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Microsoft Security Essentials v slovencine

v Novinky

14

866

18.02.2010 8:26

tom1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Freeware-napalovanie (v slovencine/cestine)

v Ostatné programy

4

571

16.03.2012 20:08

zaciatocnik1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. GuestBook v slovencine - bez reklamy

v HTML, XHTML, XML, CSS

4

2224

30.11.2007 19:53

vl4kn0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nová verzia Gmailu už aj v slovenčine

v Novinky

1

478

15.02.2008 8:30

brm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chyba pri slovenčine z tejto stránky (PHPBB 2)

v Redakčné systémy

3

587

02.07.2007 17:42

dodi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dialkové ovládanie

v Elektronika

4

5034

19.12.2010 10:09

erikoo Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. ovladanie pc

v Ostatné programy

1

414

22.12.2010 21:52

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dialkove ovladanie

v Ostatné

1

901

07.08.2009 23:37

PietroLM Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra