Podłącz kostkę kablem USB-C, kliknij przycisk i poczekaj dwie minuty. Tyle trwa samo wgrywanie; na całość, razem z Wi-Fi i wyborem dziewięciu stacji, licz około kwadransa. Nic nie instalujesz na komputerze, nic nie kompilujesz, nie zakładasz konta.
Ta przeglądarka nie umie rozmawiać z kostką po kablu. Otwórz tę stronę w Chrome albo Edge — albo zejdź niżej, do instalacji z terminala.Przeglądarka zablokowała dostęp do portu. Otwórz stronę po HTTPS i spróbuj ponownie.
To wersja dla nowej kostki albo gdy chcesz zacząć od zera — kasuje ustawienia: Wi-Fi, głośnik, wybrane stacje.
Kostka wstaje 15–30 sekund. To normalne — nie stukaj w ekran.
Musi połączyć się z Wi-Fi, dobić do stacji i zapełnić bufor, zanim cokolwiek
zagra. Przez pierwszą chwilę ekran potrafi nie reagować; poczekaj, aż pojawi
się nazwa stacji. To nie telefon i nie budzi się jak telefon.
I jeszcze: to wciąż wersja testowa. Kostka gra, ale na
niektórych stacjach dźwięk potrafi się urwać, a raz na jakiś czas urządzenie
samo się zrestartuje. Open Radio jest projektem niekomercyjnym robionym po
godzinach — nic nie kupujesz i nikt nie obiecuje sprzętu, który po prostu
działa. Poprawki wychodzą na bieżąco i wszystkie są w
dzienniku zmian.
tylko te przeglądarki potrafią rozmawiać z kostką po kabluChrome ✓Edge ✓Opera ✓Safari nieFirefox 151+, niesprawdzony
Potrzebny komputer z Windows albo macOS; instalacji z telefonu nie sprawdzałem. Nie masz Chrome, Edge ani Opery? Zainstaluj Chrome: jest darmowy, a instalacja zajmuje kilka minut, google.com/chrome ↗. Jeśli wolisz tego nie robić, niżej jest ścieżka przez terminal.
CZEGO POTRZEBUJESZkostka M5Stack Core2kabel USB-C do danychkomputer Win / macOSdomowe Wi-Fi 2,4 GHzhasło do tego Wi-Fi (wpiszesz je w kroku 05)telefon z aparatem (do kroku 05)głośnik BT (opcjonalnie)
▣ ZOBACZ NAJPIERW, JAK TO WYGLĄDA — 70 SEKUND
Od pudełka do muzyki: kod QR, telefon wybierający dziewiątkę stacji, a potem dwanaście ekranów, których dotykasz — przesunięcie na kolejną stację, głośność, głośnik Bluetooth, trzy ekrany główne, powietrze, szum do snu i konsola, w której zmienisz dziewiątkę później. Każdy ekran narysował ten sam kod, który rysuje na kostce — to nie są makiety.
bez dźwięku · 1920×1080 · MP4 i WebM na naszym serwerze, bez YouTube i bez śledzenia
KROK 01ZAKUP
Kup kostkę
M5Stack Core2 — jedno pudełko z ekranem, głośnikiem, baterią, Wi-Fi i Bluetoothem, ~50 €. Do niczego nie trzeba lutownicy. W pudełku leży krótki kabel USB-C, 20 cm, i w zupełności wystarczy, więc nie musisz kupować osobnego. Kostkę kupisz w Polsce w Botlandzie ↗ (ok. 220 zł, wysyłka w 24 h), poza Polską w sklepie M5Stack ↗. Wszystkie dotychczasowe rewizje (v1.0, v1.1, v1.3) grają tym samym plikiem.
Współpraca płatna · M5Stack płaci mi prowizję, gdy kupisz przez mój link; Botland daje mi sprzęt do testów.
KROK 02OBRAZ
Pobierz obraz systemu
Instalujesz z przeglądarki? Ten krok możesz pominąć. Przycisk instalacji w kroku 04 sam pobiera ten plik, więc nie musisz niczego ściągać. Przejdź od razu do kroku 03. Plik i suma kontrolna poniżej są dla drogi ręcznej (esptool) i dla tych, którzy chcą sprawdzić, co dostali.
Jeden plik z całym systemem. Na komputerze nie musisz nic budować ani instalować. Aktualna wersja to 0.4.6: 236 sprawdzonych stacji, wybór dziewięciu z telefonu, logotypy stacji, które ściągają się same, ekran, który mówi, dlaczego radio milczy, i miejsce na czujniki powietrza, gdybyś kiedyś zechciał.
Dwa pliki, dwie drogi. Obraz fabryczny wgrywa się od zera i kasuje wszystkie ustawienia — Wi-Fi, głośnik, wybrane stacje. Twoja kostka ma już 0.4.5? Wtedy aktualizacja opisana przy kroku 04 wszystko to zostawia, z przeglądarki albo z terminala.
Pobierając, akceptujesz warunki: licencja GPL-3.0-or-later, nazwa projektu chroniona, bez gwarancji. Pełny tekst: LICENSE-0-4-6.txt. Licencje bibliotek wbudowanych w obraz: NOTICES-0-4-6.txt. Źródła odpowiadające dokładnie tej binarce leżą obok niej (GPL §6d): open-radio-0-4-6-corresponding-source.tar.gz (59 MB, .sha256) — z cięciem kodu, czterema bibliotekami w przypiętych commitach, przepisem na przebudowane biblioteki ESP32 i procedurą odbudowy. Same przebudowane biblioteki leżą w archiwum dołączonym do wydania na GitHubie. Publiczne repozytorium: github.com/fiedoruk/esp32ai-me-open-radio ↗ (zsynchronizowane do 0.4.6, tag open-radio-0-4-6; wydanie 0.4.6 ↗).
Poprzednie wydania: 0.4.5, 0.4.4, 0.4.2, 0.4.1, 0.2.1 i 0.1
0.2.1 — open-radio-0-2-1.bin (2,4 MB) · SHA-256: 295ca3fdf9f9daf7a11ee979bc3371b2c79aaf48de5afe455668b72b23dc0546 (.sha256). To jedyne wydanie z dowodami z więcej niż jednej kostki — v1.0, v1.1 i v1.3.
Kablem USB-C — koniecznie takim do transmisji danych (część kabli „do ładowania" nie ma linii danych i komputer nic nie zobaczy). Najprościej wziąć ten krótki kabel, który leżał w pudełku z kostką. Gniazdo USB-C jest z lewej strony kostki, tuż pod przyciskiem zasilania. Za połączenie odpowiada w kostce układ CH9102; komputer widzi go jako port szeregowy — kanał, którym rozmawia z kostką po kablu. Jeśli ekran kostki jest ciemny, naciśnij raz przycisk zasilania z jej lewej strony.
Po włożeniu kabla na komputerze nic się nie dzieje. Żadne okno nie wyskakuje, nic nie piszczy. Sprawdzenie przychodzi w kroku 04: przeglądarka pokazuje małe okienko z listą portów, a kostka figuruje w nim jako „USB Single Serial" (na Windowsie z numerem COM na końcu). Jeśli tej pozycji nie ma, komputerowi brakuje sterownika, czyli małego programu, dzięki któremu dogaduje się z układem USB w kostce. Pobierzesz go ze strony sterowników M5Stack ↗ (sekcja „CH9102 Driver", wersje dla Windows i macOS), potem przepnij kabel.
KROK 04FLASH
Wgraj obraz
▣ Z PRZEGLĄDARKI — GŁÓWNA ŚCIEŻKA
Trzy ruchy, bez instalowania czegokolwiek: 1. otwórz tę stronę w Chrome albo Edge na komputerze, kostka na kablu · 2. kliknij przycisk i wybierz port · 3. zatwierdź czyszczenie i instalację. Strona wgra system i zrestartuje kostkę (~2 min).
Ta przeglądarka nie umie rozmawiać z urządzeniem po kablu. Otwórz stronę w Chrome albo Edge, albo rozwiń opcje niżej.Przeglądarka zablokowała dostęp do portu. Rozwiń opcje niżej.
W okienku wyboru portu kostka może figurować jako „Nienazwane urządzenie", „USB Single Serial", cu.usbserial-… (macOS) albo COM… (Windows). Nazwę zgłasza fabryczny układ USB kostki (CH9102), nie nasz system. Odłącz inne urządzenia USB-serial, a na liście zostanie tylko kostka.
Co jest normalne w trakcie wgrywania. Po kliknięciu przeglądarka pyta o port: wybierz „USB Single Serial". Kiedy obraz się zapisuje, ekran kostki może zamarznąć albo zgasnąć. Tak ma być, patrz wtedy na pasek postępu w przeglądarce. Nie odłączaj kabla, dopóki pasek się przesuwa. Pasek dochodzi do 100%, kostka restartuje się sama, a pierwszy start trwa 15–30 sekund.
▣ AKTUALIZACJA Z 0.4.5 — USTAWIENIA ZOSTAJĄ
Twoja kostka ma już 0.4.5? Wtedy zaktualizujesz ją do 0.4.6 bez ponownej konfiguracji. Aktualizacja wgrywa system i zachowuje ustawienia Wi-Fi, sparowany głośnik i dziewięć zapisanych stacji. Wyjątek to logotypy stacji: znikną raz i wrócą same, po mniej więcej cztery przy każdym włączeniu. Przygotowana dla 0.4.5 — ze starszych wydań jej nie próbowaliśmy, więc tam użyj obrazu fabrycznego.
Ta przeglądarka nie obsługuje Web Serial.Web Serial zablokowany.
Co uruchomiliśmy na tych bajtach. Wgraliśmy tę aktualizację na naszą kostkę z wcześniejszą wersją testową 0.4.6, z zachowaniem ustawień, i kostka grała przez głośnik Bluetooth 20 godzin bez restartu. Ochrona Wi-Fi routera zerwała łącze siedem razy; za każdym razem Wi-Fi i strumień wracały same po 63–64 sekundach, a dźwięk sekundę lub dwie później. Na tych bajtach jeszcze nie sprawdziliśmy: tego przycisku w przeglądarce, aktualizacji z 0.4.5 ani obrazu fabrycznego od zera. Aktualizacja z 0.4.5 zachowała ustawienia na wcześniejszej kompilacji 0.4.6 z tego samego kodu. Sprawdziliśmy natomiast, że pliki tego przycisku leżą na serwerze i zgadzają się z sumami kontrolnymi.
Jedno pole do pilnowania. Instalator zapyta, czy wyczyścić urządzenie. Zostaw pole „Wyczyść urządzenie” odznaczone, kliknij Next, a potem „Zainstaluj”, a kostka zachowa Wi-Fi, głośnik i stacje. Zaznaczone pole daje czystą instalację: ustawienia znikną, a radio uruchomi konfigurację od początku.
Do 31 lipca na tej stronie był przycisk aktualizacji, który nie pytał. Przy takim przycisku instalator kasuje całą pamięć i wgrywa sam system, a kostka bez kodu startowego nie wstaje. Ktoś zgłosił, że przycisk nie działa, i zdjęliśmy go. Ten mechanizm może to tłumaczyć. Wynika z kodu instalatora; na kostce go nie odtworzyliśmy. Nowy przycisk pyta i wgrywa wszystkie części, których kostka potrzebuje do startu.
Albo z terminala. Zainstaluj esptool tak, jak opisuje „instalacja z terminala” niżej, pobierz plik i uruchom to polecenie, wpisując swój port w miejsce PORT (na macOS wpisz python3):
Nie wgrywaj tego pliku pod adres 0x0 i nie uruchamiaj przed nim erase_flash. W obu przypadkach kostka nie wystartuje, dopóki nie wgrasz obrazu fabrycznego.
Inne opcje: poprzednie wydania i instalacja z terminala (esptool)
▣ POPRZEDNIE WYDANIA Z PRZEGLĄDARKI
Ta przeglądarka nie obsługuje Web Serial.Web Serial zablokowany.Ta przeglądarka nie obsługuje Web Serial.Web Serial zablokowany.Ta przeglądarka nie obsługuje Web Serial.Web Serial zablokowany.Ta przeglądarka nie obsługuje Web Serial.Web Serial zablokowany.Ta przeglądarka nie obsługuje Web Serial.Web Serial zablokowany.
Terminal (Safari/Firefox/Linux albo gdy wolisz klasycznie). Narzędzie esptool to oficjalny program Espressif. Instalujesz raz, używasz jedną komendą:
▣ WINDOWS
Zainstaluj Pythona ↗, w instalatorze zaznacz „Add python.exe to PATH".
Otwórz Wiersz poleceń (Start → wpisz „cmd") i zainstaluj narzędzie:
python -m pip install esptool
Sprawdź numer portu: Menedżer urządzeń → Porty (COM i LPT). Np. COM5.
Wgraj obraz (podmień COM5 i nazwę pliku na swoje):
Po 1–2 minutach zobaczysz Hash of data verified. Kostka zrestartuje się sama do systemu radia.
KROK 05PIERWSZY START
Połącz z Wi-Fi telefonem
Kostka na chwilę robi własną sieć Wi-Fi, żeby dało się jej podać Twoją, i pokazuje na ekranie kod QR. Skieruj na niego aparat telefonu, a telefon sam zaproponuje dołączenie do sieci OpenRadio-Setup. Hasło do tej sieci to kod z lewej kolumny ekranu kostki, pod napisem „Kod awaryjny"; wpisujesz je ręcznie tylko wtedy, gdy aparat nic nie zaproponuje. Potem strona konfiguracji otwiera się sama, a jeśli nie, wejdź w przeglądarce telefonu na 192.168.4.1. Sieć konfiguracyjna działa tak długo, aż kostka połączy się z Twoim Wi-Fi, więc nie ma się co spieszyć.
Telefonu jeszcze nie odkładaj — ta strona pyta o dwie rzeczy. Najpierw o stacje: proponuje gotową dziewiątkę, którą przyjmujesz jednym dotknięciem, albo wybierasz własne dziewięć z katalogu 236 sprawdzonych, a listę możesz przejrzeć i ułożyć wcześniej na komputerze. Potem o domowe Wi-Fi: wskazujesz swoją sieć i wpisujesz hasło. W tym momencie strona sama się rozłącza, kostka restartuje się z Twoją dziewiątką i zaczyna grać — dopiero wtedy telefon przestaje być potrzebny. Dziewiątkę zmienisz później w ustawieniach, bez wgrywania systemu od nowa.
Nie ma Twojej sieci na liście? Kostka widzi wyłącznie sieci 2,4 GHz. Większość routerów nadaje taką obok sieci 5 GHz, czasem pod osobną nazwą.
Wi-Fi zniknęło później? Skonfigurowana kostka sama dalej próbuje zapisanych sieci i nie otwiera z powrotem sieci konfiguracyjnej. Żeby dodać sieć albo zmienić hasło, dotknij przycisku w prawym górnym rogu ekranu głównego, wejdź w Wi-Fi i dotknij „Dodaj sieć Wi-Fi”.
KROK 06GŁOŚNIK
Sparuj głośnik Bluetooth (opcjonalnie)
Najpierw zawsze zagra głośnik wbudowany, więc ten krok możesz spokojnie pominąć i radio i tak gra. Chcesz lepszy dźwięk? Wtedy raz sparuj głośnik Bluetooth. Najwięcej zachodu jest przy pierwszym parowaniu: każdy głośnik robi to trochę inaczej i zwykle trzeba dwóch, trzech podejść, zanim urządzenia się znajdą. Tak ma być. To nie znaczy, że robisz coś źle.
Pierwsze parowanie. Najpierw włącz w głośniku tryb parowania, dopiero potem bierz się za kostkę. W większości głośników zaczyna wtedy mrugać dioda. Jak się do tego trybu dostać, zależy od modelu: najczęściej trzeba przytrzymać przez kilka sekund przycisk Bluetooth albo przycisk zasilania. Niektóre głośniki wchodzą w parowanie same przy pierwszym włączeniu, inne mówią o tym na głos, a mruganie w każdym wygląda inaczej. W tej sprawie rozstrzyga instrukcja Twojego głośnika. Zaraz po pierwszym starcie kostka, która nie ma jeszcze zapamiętanego głośnika, szuka go sama, więc jeśli głośnik już mruga, nie musisz nic robić. Żeby uruchomić szukanie później, dotknij przycisku w prawym górnym rogu ekranu głównego, wejdź w Bluetooth i dotknij „Skanuj głośniki" (po pierwszym skanie ten przycisk nazywa się „Skanuj ponownie").
Daj temu jakąś minutę. Kostka ponawia próbę sama co 15 sekund. Pokazuje nazwę głośnika, który znalazła, i łączy się z nim sama — nie ma listy do wyboru ani nic do kliknięcia; poznasz, że się udało, po tym, że dźwięk przenosi się z kostki na głośnik. Ponowne dotknięcie skanowania ani restart kostki niczego nie przyspieszą.
Jeśli głośnik był wcześniej sparowany z telefonem, może najpierw próbować wrócić do niego. Na czas pierwszego parowania wyłącz w telefonie Bluetooth albo wyłącz to drugie urządzenie.
Później kolejność nie ma już znaczenia. Kostka po starcie sama łączy się z zapamiętanym głośnikiem, a głośnik po włączeniu sam zgłasza się do kostki, więc możesz zacząć od dowolnego z nich. Różni się tylko czas: zwykle kilkanaście sekund, czasem kilka minut. Przez ten czas radio gra z głośnika wbudowanego, a kostka próbuje dalej sama. Nic nie musisz naciskać.
Głośnika nadal nie ma? Poczekaj — przez pierwsze pięć minut kostka wciąż próbuje sama i głośnik zwykle wraca bez Twojego udziału. Dopiero jeśli po tym czasie nadal nic: wyłącz głośnik i włącz go z powrotem. Jeśli to też nie pomoże, dopiero wtedy dotknij przycisku w prawym górnym rogu ekranu głównego, wejdź w Bluetooth i dotknij „Skanuj głośniki", żeby sparować go od nowa.
Kostka pamięta jeden głośnik. Jak sparujesz drugi, zajmie miejsce pierwszego. Jeszcze jedno z naszych pomiarów: kostka lubi stać dalej niż 2 m od routera, bo jego nadajnik potrafi zagłuszać Bluetooth.
W 20-godzinnej próbie na 0.4.6 raz wyłączyliśmy i włączyliśmy głośnik; połączył się znowu ok. 3 sekundy po włączeniu. W jednej próbie wynieśliśmy głośnik poza zasięg i łącze się utrzymało. Na 0.4.5 robiliśmy próbę wyłącz–włącz dziesięć razy: siedem razy dźwięk wrócił w ciągu 15 sekund, raz po 16,5 sekundy, a dwa razy trwało to znacznie dłużej (72 sekundy, gdy obok leżał telefon sparowany z tym głośnikiem, i ok. 140 sekund przy słabym Wi-Fi). To był jeden głośnik, drugiego na 0.4.6 nie próbowaliśmy. Co warto wiedzieć: głośnik kostki jeszcze nie gra równo. Przy wyłączonym głośniku Bluetooth może przerywać mniej więcej co trzy sekundy, tak jak na 0.4.5, nawet gdy dane stacji przychodzą na czas, a może też przerywać, gdy dane przychodzą zbyt wolno.
Częste potknięcia:
komputer nie widzi kostki→w 9 na 10 przypadków winny jest kabel bez linii danych. Weź inny; potem sterownik CH9102 (Krok 03)
„Permission denied" / port zajęty→zamknij programy, które trzymają port szeregowy (Arduino IDE, monitory portu), i spróbuj ponownie — bez sudo
flash OK, ale nie gra→kostka ma baterię, więc odłączenie kabla jej nie wyłączy. Przytrzymaj przycisk zasilania z lewej strony przez ok. 6 s, aż ekran zgaśnie, i naciśnij go raz, żeby włączyć kostkę z powrotem (albo wciśnij mały przycisk RST na spodzie); przy pierwszym starcie stacji kostka buforuje ok. 2 s
pasek stanął albo przeglądarka pokazuje błąd→odłącz kabel, przytrzymaj przycisk zasilania z lewej strony przez ok. 6 s, aż ekran zgaśnie, podłącz kabel z powrotem i kliknij instalację jeszcze raz; drugie wgranie obrazu niczemu nie zaszkodzi
mimo wszystko utknąłeś?→napisz przez formularz kontaktowy — odpisuje człowiek, nie automat
Tomasz Fiedoruk — doradca strategiczny: AI, IT, marketing
Ten system napisały dwa agenty AI pod moim nadzorem i na moją odpowiedzialność. Nazwa, narracja i kanał dystrybucji też są moje. Tak samo powstała marka zenbox, którą budowałem jako CMO, aż firma weszła do pierwszej piątki hostingów w Polsce. U klientów robię jedno i drugie: pomagam podjąć decyzję, ustawiam markę i komunikację, prowadzę budowę i podpisuję się pod wynikiem. Zawodowo od 2003, 8 systemów na produkcji, 47 projektów pod NDA. Biorę zlecenia, od jednorazowej konsultacji po prowadzenie całego wdrożenia.