Arduino Internet stream v domácí síti.

Občas dostávám od čtenářů dotazy na řešení problémů s kvalitou poslechu přijímaných Internetových rádií. Stěžují si na nekvalitní poslech který je rušen výpadky příjmu, chrčením, lupáním a podobně.
Často tyto problémy mohou být způsobeny HW závadou na některém síťovém prvku – router, switch, síťová karta Arduina nebo i vadným kabelem popřípadě nekvalitním spojem.Samotné Internetové připojení má také samozřejmě vliv, nicméně mám ověřeno, že i v místech s velmi pomalým připojením ( jednotky MB download ) česká rádia při datovém toku 128 kb / s hrají kvalitně. Teda pokud nechci poslouchat exotické stanice kde i optika nepomůže a latence spojení je v řádu desítek až stovek ms.
Asi nejlepším testem na zjištění problému je vytvoření vlastního MP 3 streamu v domácí síti, pomocí kterého můžu lépe diagnostikovat závadu. Ono totiž můžete klidně mít Internetové připojení například s rychlostí stahování 300 MB / sec, ping na vzdálený server 13 ms a rádio přesto nehraje kvalitně protože občas trucuje router nebo switch anebo je zrada v kabeláži. Vytvořením streamu v domácí síti otestujete tyto prvky, protože Arduino rádio ( ESP 32 ) MUSÍ hrát bez jakéhokoliv rušení či výpadku i při datovém toku 320 kb / sec.
Jak na to – je to poměrně jednoduché, musíme mít VLC player – https://www.videolan.org/vlc/index.cs.html a znát IP adresu počítače v naší domácí síti, ze kterého budeme streamovat MP 3.
Pomocí příkazového řádku zadáme CMD a poté IPCONFIG.

Zde zjistíme IP adresu počítače, v mém případě je to 192.168.1.18 – poznačíme
Spustíme VLC, kliknem na Média – Proud

Tlačítkem Přidat vložíme playlist námi vybraných skladeb anebo konkrétní MP 3. Pozor ať skladba neskončí dříve, než ji na Arduinu přehrajeme 🙂

Kliknutím na tlačítko Proud se nám zobrazí info o našem zdroji ke stremování, potvrdíme klikem na Následující.

Nyní opatrně, Nový cíl přepneme ze Souboru na HTTP…

Poté na tlačítko Přidat

Zde nemusíme nic měnit, poznačíme si číslo portu ( 8080 ) a cestu ( / ). Klikneme Následující…

Profil si přepneme na Audio – MP 3 a v editaci profilu ( klíč ) ověříme, je – li MP 3, poté Zvukový kodek nastavit na Zachovat původní zvukovou stopu. Uložit, Následující.
Nyní nám to valí MP 3 stream do naší domácí sítě, jdeme na Arduino…
Tady je to brnkačka, potřebujeme IP adresu PC ze kterého streamujeme, port a cestu. ( Všechno jsme si poznačili ). V projektu Arduina ( ESP 32 ) si vybereme nějakou předvolbu, kde budeme přijímat náš domácí Stream. Zde je to předvolba 13.

Nahrajeme do Arduina a musí to jet naprosto čistě, bez jakýchkoliv výpadku či rušení i při 320 kb / sec, protože nepřijímáme stream z několik set kilometrů vzdáleného serveru, ale z počítače v naší domácí síti, který to má k Arduinu pár metrů. Pingnem ho…

0 ms, paráda, co MP 3 soubor ?

Datový tok 320 kb / sec…. Zvládne to Arduino Uno ?
Jede jak zběsilé, žádné výpadky, naprosto čistý zvuk. Pokud tomu tak není, závada může být v routeru, switch ( pokud je ), kabeláži. To je pak dobré PC a Arduinu přiřadit pevnou IP adresu ( ne automaticky přes DHCP server routeru ) a propojit Ethernetový port PC s Arduinem. Tím obejdeme všechny síťové prvky a kabeláž v naší domácí síti. Pokud i v tomhle případě Arduino špatně hraje, tak je chyba v HW Arduino, síťovka Arduina nebo VS 1053B 🙁 Pokud kód v Arduinu není přetuněn tak tam by chyba neměla být 🙂
Na závěr vychytávka – pokud máte starší notebook s malým příkonem el.energie, není od věci si udělat takové domácí rádio… Do notebooku narvat vaše oblíbené skladby, ve Windows vše zbytečné pozvypínat, ať je co nejméně energeticky náročný ( i chlazení CPU se ztiší ), ve VLC zapnout náhodný výběr skladeb, při zavření krytu neuspávat – nevypínat, pouze vypnout displej. Mě se takhle podařilo snížit příkon notebooku na zhruba 15 – 20 W, tj zhruba 500 Wh za den. Při nonstop provozu si za měsíc vezme 15 kWh = 75 Kč což za tu zábavu stojí 🙂
To je vše….