ESP32 + MAX98357 I2S - Webrádio - stream
Prehľad
Ponúkam aplikáciu pre mikrokontróler ESP32, ktorý funguje ako webrádio a umožňuje prehrávať mono zvuk skrz I2S zosilňovač a DAC prevodník MAX98357. Testoval som s 2W reproduktorom. Mikrokontróler preberá stream priamo z internetu, potrebuje tak byť pripojené na domácu WiFi sieť (2,4 GHz).
Na mikrokontroléri ESP32 beží webaplikácia, ktorá umožňuje prepínať medzi 5-timi rádiami (ktorých názvy mi dodáte) skrz zoznam. Prípadne môže používateľ zvoliť aj ľubovoľné rádio, ktoré zadá do HTML formulára. Používateľ môže nastavovať aj hlasitosť v rozmedzí 0 až 21, prípadne môže zvuk stlmiť jedným kliknutím. Ovládanie je jednoduché. Podporované sú .mp3, .aac a .ogg streamy. Odporúčam ESP32 mikrokontróler s integrovanou pamäťou PSRAM, v opačnom prípade bude stream padať. V prípade AAC a OGG bez PSRAM ho nemusí ani spustiť, keďže tieto formáty sú zložitejšie na real-time dekódovanie. Štandardne fungujú streamy .mp3 s bitratom do 320 kbps max.
Inštrukcie
Aplikácia je dodávaná vo formáte .bin, ktorý do mikrokontroléra nahráte automatizovane skrz priložený .py script. Je možné, že budete potrebovať nastviť COM port, stačí následovať inštrukcie v dodanom .pdf súbore, ktorý vas procesom prevedie. Následne WiFi sieť nastavíte cez EspTouch V1, alebo WiFiManager podľa verzie.
Dodajte mi názvy 5-tich rádii, ktoré chcete použiť, nemusia byť len slovenské, ale aj celosvetové (musia mať ale dostupný internetový stream v podporovanom formáte). Schéma súčasťou služby.
Webaplikácia je dostupná skrz HTTP na LAN sieti na IP adrese pridelenej z DHCP služby, pričom je dostupné aj mDNS doménové lokálne meno audio.local skrz ktoré je možné otvoriť webstránku aj bez toho, aby ste vedeli akú IP adresu v LAN sieti aktuálne ESP32 má.
V prípade, že potrebujete viac rádii, objednajte si aj dodatočnú službu, prípadne custom aplikácia je možná v rámci ponuky na mieru, ak vás zaujali Audio aplikácie skrz I2S rozhranie na ESP32.

O predajcovi
Vítam Vás na mojom profile. Ponúkam služby z oblasti open-source hardvéru a IoT formou vlastných zariadení, firmvéru a softvéru. Ponúkam aj možnosťou programovania firmvéru priamo pre Vás namieru. Zameriavam sa najmä na mikrokontroléry ESP32, s ktorými dlhodobo pracujem, Arduino (AVR ATmega), ATtiny.
Inzeráty od Your-IoT
:no_upscale():quality(90)/05/36/4d0536eb3cae0f352c3f90a5ddc70c0340a19450.jpg)
MATLAB script
Vytvorím script v prostredí MATLAB podľa požadovanej funkcionality. Programovanie v MATLABE / Octave (Cloud). Matematické úlohy, zadania, praktické úlohy. Možné externé vstupy dát cez .dat / .csv. Možnosť importovania obrázkov, ak sa ich úloha týka a pod. Výpis štandardne do figure atď.
Cena je hodinová (prípadne za ľahké zadanie), teda je vhodné objednať až po dohode s cenou.
Simulink programovanie nerobím, ani nič s animáciami, 3D.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/05/36/4d0536eb3cae0f352c3f90a5ddc70c0340a19450.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
MATLAB script

Watmonitor - PHP aplikácia hladinomera
Ponúkam kópiu mnou navrhnutej webaplikácie Watmonitor - hladinomer pre záznam a vizualizáciu hladiny vody. Rozhranie umožňuje prijímať dáta od senzorového uzla (podpora open-source platforiem Arduino, ESP32, ESP8266), možno použiť aj industriálne riešenia. Senzor musí posielať rozdielovú, alebo celkovú výšku hladiny vody. Primárne navrhnuté pre vizualizáciu výšky hladiny vody v studni, nádrži. Možno použiť aj na monitorovanie hladín riek, či výšku sypkých materiálov.
Webové rozhranie je univerzálne a umožňuje vizualizuje dáta v hlavnom prehľade v reálnom čase, kde používateľ vidí poslednú známu výšku hladiny, objem vody v studni.
Rozhranie vizualizuje aj maximálne, minimálne hodnoty hladiny vody za časové obdobia 24 hodín, 7 dní a 30 dní skrz Gauge grafy. ApexCharts vizualizujú kompletnú históriu hladiny vody až rok spätne s možnosťou exportovania grafu, alebo jeho výseku vo formáte .csv, .svg. pre ďalšiu analýzu, vizualizáciu (MATLAB, Excel, Word).
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)

:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
Watmonitor - PHP aplikácia hladinomera

Program pre ESP32 + Google Script + Google Spreadsheet
Vytvorím program v Arduino Core (.ino) pre ESP32 mikrokontróler, ktorý bude merať veličiny podľa zadania a odosielať ich v pravidelnom intervale na Google Script, ktorý ich zapíše do Google Spreadsheet dokumentu (Tabuľky).
Vzhľadom na použitý protokol je možné použiť rôzne prenosové technológie podľa vašej požiadavky:
V prípade HTTP protokolu je nutné použiť HTTP PROXY, t.j. PHP script, ktorý musí byť hostovaný na hostingu, alebo freehostingu, ktorý dáta cez CURL odošle po HTTPS na Google script.
Google script vykoná zápis do dokumentu Google Spreadsheet do príslušného riadka, kde sú dáta rozlíšené v jednotlivých stĺpcoch. Ak má používateľ otvorený Google Spreadsheet v prehliadači, môže vidieť zápis dát s dynamickým updatom (real-time). Používateľ môže pridávať aj grafy priamo v dokumente.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)

:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
Program pre ESP32 + Google Script + Google Spreadsheet
:no_upscale():quality(90)/b2/ea/80b2ea64b724dc4b5163b058879883cf417526f8.jpg)
NFC NDEF záznamy na mieru
Vytvorím tag profil s NFC NDEF záznamami podľa vašich požiadaviek. Profil bude kompatibilný pre NFC tagy (NTAG, MiFare 1K). Medzi najčastejšie aplikácie môžeme zaradiť následovné, ktoré sa spustia okamžite po naskenovaní NFC tagu smartfónom:
Typ použitého tagu limituje počet bajtov, ktoré je možné zapísať.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/b2/ea/80b2ea64b724dc4b5163b058879883cf417526f8.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
NFC NDEF záznamy na mieru
:no_upscale():quality(90)/4d/44/664d4453e0f3c384bdfd8d675870439812adeb3a.jpg)
Postman API testing / kolekcia
Vyskúšam API vášho webu skrz testovací nástroj Postman. Viem urobiť aj kolekciu s viacerými requestmi, metódami, ktoré budú mať prednastavené premenné, napr. host, token a pod., čím bude kolekcia plne prenositeľná aj v prípade migrácie na inú doménu.
Mám skúsenosť s implementáciou podobných metód pre rôzne IoT služby ako Thingsboard, ThingSpeak, AWS IoT Core a iné, aj custom aplikácie založené na PHP.
Testovanie API môže prebiehať formou manuálneho testovania na základe dodaného dokumentu typu QA, na ktorý vypracujem report z testovania.
Prostredníctvom Postmanu je možné merať aj čas vykonania requestu, či iné. Okrem Postmanu môžem testovať webaplikáciu aj fyzicky skrz počítač s nahrávaním testovania skrz OBS, či skrz smartfón, možno testovať aj responzivitu. Záleží na dohode.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/4d/44/664d4453e0f3c384bdfd8d675870439812adeb3a.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
Postman API testing / kolekcia
:no_upscale():quality(90)/ac/68/eaac68e6c65ad25e4b04dcfd70c9748f24d9fd99.jpg)
Naprogramujem Arduino ESP8266 ESP32
Naprogramujem aplikáciu pre Arduino (AVR ATmega), ATtiny, ESP32, ESP8266 podľa zadania.
Programovú implementáciu viem vyhotoviť v Arduino Core paradigme, alebo C pre ESP-IDF framework v prípade ESP32 mikrokontroléru.
Mám skúsenosť s aplikáciami typu klient-server, pričom mikrokontróler môže fungovať ako klient alebo aj ako server. Realizoval som rôzne projekty na tejto architektúre (senzorové uzly, termostaty a iné). Iné protokoly ako UDP, MQTT(S).
Pre ESP32, ESP8266 možnosť používania ULP, OTA režimov. Pre ESP32 FreeRTOS implementácie s blokovacími mechanizmami taskov a inter-task komunikáciou napr. cez Queues. Skúsenosť s WiFi, Bluetooth Classic, BLE, Ethernet cez SPI a PHY Ethernet cez RMII rozhranie.
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)
:no_upscale():quality(90)/ac/68/eaac68e6c65ad25e4b04dcfd70c9748f24d9fd99.jpg)
:no_upscale():quality(90)/d5/6e/94d56e24f056116142d5aee914f9b9fa3ebccf13.jpg)