Gadaj, a jedź: samochodzik sterowany głosem z WebUSB
Steruj samochodzikiem głosem z poziomu przeglądarki
Kiedy ostatnio myślałeś o tym, co potrafi Twoja przeglądarka? Pewnie kojarzy Ci się z pisaniem maili, oglądaniem filmików i scrollowaniem social mediów. A co gdybym Ci powiedział, że możesz dzięki niej sterować prawdziwym samochodzikiem RC za pomocą komend głosowych? Bez instalowania żadnych aplikacji, bez customowych sterowników. Brzmi jak scifi? Poznaj projekt bot-reborn.
O co w tym chodzi?
Wyobraź sobie zabawkę na kółkach z telefonem zamontowanym na dachu. Telefon słucha Twoich poleceń, przetwarza je i wysyła do chipa FT232H przez WebUSB. Chip komunikuje się z silnikami. I voila - samochód jeździ tam, gdzie mu powiesz.
Brzmi jak ciekawostka dla fanów elektroniki? Może i tak, ale to jednocześnie świetna demonstracja tego, w jakim kierunku zmierzają technologie webowe i hardware'owe.
WebUSB: przeglądarka rozmawia z urządzeniami
Przez lata podłączenie niestandardowego sprzętu do komputera oznaczało pisanie natywnych sterowników, kodu specyficznego dla danego systemu albo obejść w stylu Electron. WebUSB to zmienia.
To stosunkowo nowe API w przeglądarkach, które pozwala stronom internetowym komunikować się bezpośrednio z urządzeniami USB. Pomyśl o tym ile to daje podczas prototypowania. Piszesz kod obsługujący hardware w JavaScript, wrzucasz na stronę i gotowe. Użytkownicy odwiedzają stronę, przeglądarka pyta o dostęp do urządzenia i mogą zacząć korzystać. Chrome, Edge, Opera - nie ma znaczenia.
Dla startupów budujących hardware to prawdziwa rewolucja. Zamiast inwestować w osobne aplikacje na iOS i Androida, możesz po prostu dostarczyć stronę www.
Chip FT232H jest popularny w projektach hardware'owych, bo oferuje elastyczny interfejs USB-do-serial z możliwością sterowania pinami GPIO. W trybie async bitbang potrafi błyskawicznie przełączać piny na podstawie wartości wysyłanych przez USB - zasadniczo zamienia się w programowalny kontroler, którym możesz sterować z poziomu przeglądarki.
Rozpoznawanie głosu: mówisz, samochód słucha
Za rozpoznawanie mowy odpowiada Web Speech API. Nowoczesne przeglądarki obsługują je natywnie, bez konieczności wysyłania danych na zewnętrzne serwery (przynajmniej gdy korzystasz z rozpoznawania na urządzeniu). Dla zabawki sterowanej głosem to idealne rozwiązanie - błyskawiczna reakcja i prywatność w cenie.
Mówisz "do przodu" - samochód jedzie do przodu. "Skręć w lewo" - skręca. Komendy głosowe zamieniają się w sekwencje bajtów, które FT232H interpretuje jako stany pinów, a te z kolei sterują silnikami.
Czemu to ma znaczenie dla deweloperów i startupów?
Jeśli budujesz produkt hardware'owy, potrzebujesz aplikacji towarzyszącej. Tradycyjnie oznacza to inwestycję w natywny development na iOS i Androida albo utrzymywanie aplikacji desktopowej. WebUSB i API do rozpoznawania mowy to zmieniają.
Możesz dostarczyć prostą stronę, która obsługuje wszystko: parowanie urządzenia, interfejs użytkownika i teraz nawet sterowanie głosowe. Użytkownicy odwiedzają stronę, przyznają przeglądarce uprawnienia do sprzętu i mogą zacząć korzystać z produktu przez znajomą przeglądarkę.
Debugowanie też staje się prostsze. Narzędzia JavaScript do logowania, inspekcji i hot-reloadu przyspieszają iteracje znacznie bardziej niż ciągłe rekompilowanie kodu embedded przy każdej zmianie.
Od czego zacząć?
Repozytorium bot-reborn to świetny punkt wyjścia do eksperymentowania z tym zestawem technologii. Nawet jeśli nie masz pod ręką zabawki na kółkach, możesz:
- zobaczyć jak działa parowanie urządzeń przez WebUSB
- poznać protokół FTDI async bitbang do sterowania GPIO
- sprawdzić integrację z Web Speech API
- przeanalizować logikę sterowania silnikami
Przyszłość należy do przeglądarek
Projekty takie jak bot-reborn pokazują kierunek, w którym to zmierza. Przeglądarki stają się pełnoprawnymi platformami hardware'owymi. Ten sam ekosystem JavaScript, który napędza Twoje aplikacje webowe, może teraz rozmawiać z czujnikami, silnikami i niestandardowymi układami elektronicznymi.
Dla twórców DIY to obniżenie bariery wejścia. Dla startupów uproszczenie ekosystemu produktów. Dla deweloperów nowy obszar do eksploracji z znajomymi narzędziami.
Sterowanie głosowe, WebUSB i protokoły bitbang to nie są tylko techniczne ciekawostki. To budulec dla kolejnej generacji urządzeń połączonych z siecią. Prototypujesz smart gadżet albo po prostu chcesz wiedzieć, co potrafi Twoja przeglądarka? Ten projekt to idealny plac zabaw.
A co Ty zbudowałbyś z tymi narzędziami? Jaki sprzęt sterowany głosem chciałbyś mieć?