Moduł ESP32-S3 z ekranem dotykowym 3,49″ jako asystent głosowy – instalacja oprogramowania i pierwsza konfiguracja

Link do instalacji:

Sprawdzenie portu:

Kolejny moduł z rodziny ESP32-S3 trafia na biurko i od razu widać, że jest bardzo podobny do poprzedniego modelu, bo pochodzi od tego samego producenta. Różnica jest taka, że tutaj mamy większy, dotykowy ekran oraz nieco inną konstrukcję przycisków i mikrofonów. Na pierwszy rzut oka może się wydawać, że to typowy „wyświetlacz z ESP-kiem”, ale po bliższym poznaniu okazuje się, że to całkiem rozbudowana baza pod własnego asystenta głosowego.

Jak wygląda moduł i jakie ma elementy

Po zdjęciu folii ochronnej widać duży, podłużny ekran dotykowy. U góry znajdują się trzy fizyczne przyciski, dioda LED i mikrofon, na dole najprawdopodobniej drugi mikrofon. Producent deklaruje dwa dobrej jakości mikrofony, co ma się przełożyć na lepsze zbieranie głosu i wyraźniejszy dźwięk.

Jeden z przycisków pełni funkcję resetu. Po jego naciśnięciu moduł po prostu restartuje się i uruchamia ponownie. Drugi przycisk w testach nie reagował w żaden sposób, mimo różnych prób. Trzeci przycisk odpowiada za włączanie i wyłączanie ekranu, a także dodatkowe funkcje po różnych kombinacjach naciśnięć.

Jasność ekranu da się regulować przesunięciem palca po odpowiednim obszarze. Przy minimalnej jasności ekran praktycznie znika, co przydaje się w nocy lub gdy urządzenie pracuje w tle.

Moduł ma również funkcję testu karty pamięci oraz testu audio. Dwukrotne naciśnięcie przycisku wywołuje test karty, a dłuższe przytrzymanie uruchamia nagrywanie krótkiego komunikatu audio, który później można odsłuchać bezpośrednio z poziomu urządzenia.

Bateria, której „nie ma”, a jednak jest

Fabrycznie ten konkretny model został zamówiony w wersji bez baterii. Początkowo wydawało się to rozsądne, bo takie moduły zwykle pracują podpięte na stałe do zasilania. W praktyce jednak szybko okazuje się, że brak akumulatora bywa uciążliwy, szczególnie przy przenoszeniu urządzenia po biurku i ciągnięciu za sobą kabla USB.

Po rozebraniu obudowy czeka miła niespodzianka. Na płytce znajduje się miejsce na akumulator 18650 z opisanymi polami plus i minus. Co ważne, pola są podłączone do elektroniki, więc wystarczy wsunąć ogniwo we właściwą stronę, docisnąć i moduł startuje z samej baterii. Po odpięciu przewodu USB urządzenie dalej działa, a ładowanie akumulatora również jest obsługiwane. Dzięki temu z typowo „stacjonarnego” ekranu robimy w prosty sposób mobilnego asystenta z własnym zasilaniem.

Na płytce jest także miejsce na antenę zewnętrzną. W niektórych konstrukcjach wymaga to zmostkowania odpowiednich punktów, aby przełączyć się z anteny wbudowanej na zewnętrzną, natomiast w tym przypadku nie było to testowane.

Przygotowanie środowiska i pobranie oprogramowania

Żeby zamienić ten moduł w pełnoprawnego asystenta głosowego, trzeba przygotować dla niego odpowiednie oprogramowanie. Cały proces zaczyna się od pobrania środowiska Espressif oraz repozytorium z kodem przykładowym dostosowanym do tego typu wyświetlacza.

Najpierw instalowane jest oficjalne narzędzie od Espressif. Wybierana jest właściwa wersja instalatora, uruchamiany kreator, wybierany język (niestety bez polskiego, więc pozostaje angielski), akceptowane są warunki licencji, wskazywany folder docelowy i rozpoczyna się instalacja. Ten krok potrafi trwać dłuższą chwilę, więc warto uzbroić się w cierpliwość.

Kiedy środowisko jest gotowe, przychodzi czas na pobranie repozytorium z kodem. W konsoli wklejane jest gotowe polecenie do klonowania projektu, po czym przechodzi się do katalogu z pobranym kodem. Po wejściu w folder projektu można już ustawić urządzenie docelowe i rozpocząć konfigurację.

Konfiguracja projektu i ustawienie języka polskiego

Kolejny krok to konfiguracja w menu narzędzia. Wybierany jest język interfejsu modułu i tutaj dobra wiadomość: można ustawić język polski. Dzięki temu wszystkie komunikaty na ekranie wyświetlają się z polskimi znakami diakrytycznymi, co znacząco poprawia komfort używania urządzenia na co dzień.

W ustawieniach wybierany jest również konkretny typ płytki. Dla tego modułu to wariant z ekranem 3,49 cala, który jest domyślnie przewidziany w projekcie. Można także zdecydować się na jeden z dostępnych motywów interfejsu. Standardowy jest najprostszym wyborem, natomiast dostępny jest też motyw w stylu WeChat, którego w tym przypadku nie wgrywano.

Istotny fragment konfiguracji dotyczy wybudzania głosowego. Początkowo opcja własnego słowa wybudzającego wydaje się kusząca, ale w praktyce ta funkcja nie działa poprawnie w aktualnej wersji. W związku z tym warto pozostać przy gotowych zestawach słów kluczowych dostępnych w sekcji TSP Speech i WakeNet9. Tu można wybrać konkretne słowo lub frazę, na przykład „Hi ESP” albo „Computer”, a następnie zapisać zmiany.

Po zakończeniu konfiguracji wszystko jest zapisywane, a projekt można zbudować. Kompilacja tworzy plik binarny, który później trafi bezpośrednio do pamięci modułu.

Wgrywanie firmware na ESP32-S3

Zbudowany plik trzeba jeszcze wgrać do modułu. Żeby to zrobić, urządzenie podłącza się przewodem USB, jednocześnie trzymając określony przycisk, aby przejść w tryb programowania. W systemie pojawia się właściwy port COM, który można łatwo zweryfikować, wypinając i wpinając przewód i obserwując, który port znika i pojawia się ponownie.

Po ustaleniu numeru portu (w przykładzie COM7) wystarczy wpisać go w odpowiednim miejscu w poleceniu i uruchomić proces wgrywania. Po chwili firmware znajduje się w pamięci modułu i można już odłączyć oraz ponownie podłączyć urządzenie.

Pierwsze uruchomienie po wgraniu oprogramowania

Po restarcie moduł uruchamia się już z nowym oprogramowaniem. Na ekranie widać interfejs z pełną obsługą polskich znaków, co od razu robi pozytywne wrażenie. Pierwsza konfiguracja to przede wszystkim ustawienie połączenia z siecią Wi-Fi.

Z poziomu ekranu można wejść do sekcji konfiguracji sieci, wybrać jedną z dostępnych sieci widocznych na liście, wpisać hasło i zatwierdzić. Urządzenie łączy się z routerem, po czym wykonuje restart. Następnie sprawdzana jest dostępność nowej wersji oprogramowania i w razie potrzeby aktualizacja.

Kolejny etap to powiązanie modułu z kontem w usłudze XIOZ.ME. Po wejściu na stronę i zalogowaniu się do konsoli można dodać nowe urządzenie, przepisując kod weryfikacyjny wyświetlany na dole ekranu modułu. Po zaakceptowaniu licencji urządzenie pojawia się na liście jako przypisane do konta. W tym miejscu dostępne są różne ustawienia, między innymi wybór języka czy konfiguracja integracji MCPServer.

MCPServer służy do logowania ruchu i korzystania z chmury do przetwarzania danych, co pozwala na wygodniejsze testowanie i rozwijanie własnego asystenta.

Zachowanie asystenta głosowego w praktyce

Po zakończeniu całej konfiguracji moduł działa jak interaktywny asystent. Ma dwa dobrej jakości mikrofony i zaskakująco przyjemny dźwięk z głośnika. W porównaniu z poprzednim, tańszym modułem, jakość audio wypada lepiej, choć reakcja na słowa wybudzające nie zawsze jest idealna. Mimo tego moduł całkiem sprawnie odpowiada i prowadzi rozmowę.

Jedną z ciekawszych funkcji jest możliwość zmiany motywu jasny/ciemny oraz regulacji głośności za pomocą komend głosowych. Wystarczy poprosić asystenta, aby się „podgłośnił” lub „przyciszył”, a on pyta o konkretną wartość w skali od 0 do 100 i ustawia głośność zgodnie z życzeniem. Tego typu interakcje pokazują potencjał modułu jako domowego, głosowego centrum sterowania lub kreatywnego asystenta, który na przykład opowiada bajki.

W przykładzie asystent po wywołaniu proponuje opowiedzenie historii o małym ptaszku czy małym księciu szukającym skarbu. Coraz wyraźniej widać, że ten moduł nie jest tylko „ładnym ekranem”, ale solidną bazą pod własne, dopracowane scenariusze głosowe.

Porównanie z tańszym modułem

Warto wspomnieć o porównaniu z poprzednim, tańszym urządzeniem. Tamten moduł kosztuje około 100 zł, natomiast tutaj cena oscyluje w okolicach 175 zł. Różnica jest znacząca, ale wraz z nią dostajemy większy, dotykowy ekran, dwa mikrofony, możliwość pracy na akumulatorze oraz bardziej rozbudowane oprogramowanie.

Ciekawostką jest to, że tańszy moduł już fabrycznie bardzo dobrze zbiera głos i ma gotowe oprogramowanie, które działa „od strzału”, bez potrzeby wgrywania czegokolwiek. W przypadku opisywanego tutaj urządzenia trzeba poświęcić trochę czasu na konfigurację i kompilację własnego firmware, za to później ma się większą kontrolę nad tym, jak asystent działa, jaki ma motyw, język i jakie wykorzystuje słowa wybudzające.

Jeśli jednak ktoś chce, ten droższy moduł można przełączyć na oprogramowanie zbliżone do tego znanego z tańszego modelu. Daje to elastyczność i możliwość dostosowania sprzętu do własnych potrzeb, niezależnie od tego, czy priorytetem jest prostota, czy zaawansowana konfiguracja.

Podsumowanie

Ten moduł ESP32-S3 z ekranem dotykowym 3,49 cala to ciekawa propozycja dla osób, które chcą zbudować własnego asystenta głosowego, połączyć go z rozwiązaniami chmurowymi i dopasować do własnych scenariuszy. Wymaga odrobiny pracy przy instalacji środowiska i kompilacji firmware, ale w zamian oferuje język polski w interfejsie, obsługę Wi-Fi, możliwość pracy na akumulatorze 18650, dwa mikrofony i niezłą jakość dźwięku.

Jeśli planujesz tworzyć własne postacie asystentów, które opowiadają bajki, pomagają w codziennych zadaniach albo sterują elementami inteligentnego domu, ten moduł może być bardzo dobrym punktem wyjścia. W kolejnych materiałach można iść krok dalej i pokazać, jak połączyć go z zewnętrznymi modelami językowymi czy platformami typu Home Assistant.