Paging jest to jednokierunkowa komunikacja głosowa. W tej prostej aplikacji ESP8266 (moduł ESP-01 lub inny) służy za odbiornik strumienia RTP wysyłanego przez program PC. Przebieg analogowy generowany jest poprzez tzw. "fake-PWM" I2S znany z popularnego projektu dekodera mp3. W minimalnej formie do odbioru audio wystarczy zatem moduł ESP, zasilanie, filtr RC i słuchawki.
W pierwotnym zamyśle zastosowaniem miało być automatyczne rozgłaszanie zapowiedzi słownych o ustalonych godzinach. Stosowny plugin do softphone nie powstał, więc używany przeze mnie "nadajnik" może być w tym momencie obsługiwany jedynie ręcznie. Nie powinno być też problemu z użyciem "biurkowego" telefonu VoIP jako nadajnika o ile posiada taką funkcję (typowo modele z BLF).
Do poszczególnych przycisków programu PC przypisać można różne pliki wave (PCM S16 LE, 8Ksps dla strumieniowania G.711a/u) i różne adresy docelowe. Przy braku przypisanej zapowiedzi używane jest domyślne urządzenia audio (typowo mikrofon).
Jakość odbieranego dźwięku jest niska - jak połączenie telefoniczne w telefonii analogowej. Ograniczenia to z jednej strony bardzo proste przetwarzanie cyfrowo - analogowe, z drugiej brak obsługi G.722 jako popularnego kodowania przy tym zastosowaniu (przy czym wydaje się, że nie ma przeszkód technicznych dla obsługi G.722). Dokuczać mogą też zakłócenia o charakterze cyfrowym przenoszące się przez zasilanie. Zależą one od filtrowania zasilania, ale trudno wyeliminować je całkowicie, przynajmniej nie udaje mi się na płytce stykowej - być może rozwiązaniem byłby osobny bufor PWM korzystający z niezależnie filtrowanego zasilania.
Inne niedoróbki i problemy:
- losowe problemy ze stabilnością (restarty co 5-20 minut strumieniowania, wydaje się że inni użytkownicy układu mieli już podobne problemy przy "dużym" ruchu UDP - tajemnicze logi "dev 1143" i "mac 674", być może uda mi się coś uzyskać od Espriff)
- brak działania w trybie multicast - niewyjaśnione, do zdiagnozowania przydałoby się otwarte wifi lub linuksowy router z możliwością monitorowania pakietów - może być to jeden z wielu problemów UPC horizon do którego jestem obecnie podłączony, ze względu na niestabilną pracę tego AP pager też ma ustawiony dosyć duży bufor audio wprowadzając tym samym kilkaset ms opóźnienia
- brak interfejsu konfiguracyjnego lub użycia smartconfig (wymagana kompilacja źródeł dla ustawienia danych punktu dostępowego, powinien działać też testowany przez krótki okres czasu tryb soft-AP)
Źródła kompilowane były przy użyciu "nieoficjalnego" SDK w wersji 2.0.9 dla windows (wersja SDK: 1.5.0, NON-OS), można użyć make lub make + Code::Blocks.
Załączniki:
kod źródłowy dla ESP8266
softphone (skompilowany)