Sisukord:

Interneti -raadio ESP32 abil: 7 sammu (piltidega)
Interneti -raadio ESP32 abil: 7 sammu (piltidega)

Video: Interneti -raadio ESP32 abil: 7 sammu (piltidega)

Video: Interneti -raadio ESP32 abil: 7 sammu (piltidega)
Video: Доступ к ESP8266, ESP32 из интернета. Управление из любой точки мира. ВсегДа ли возможно.. 2024, November
Anonim
Image
Image
Interneti -raadio ESP32 abil
Interneti -raadio ESP32 abil
Interneti -raadio ESP32 abil
Interneti -raadio ESP32 abil

Kallid sõbrad, tere tulemast teise Instructable'i! Täna ehitame odava ESP32 plaadi abil suure 3,5 -tollise ekraaniga Interneti -raadioseadme. Uskuge või mitte, aga nüüd saame luua Interneti -raadio vähem kui 10 minutiga ja vähem kui 30 dollariga. Katta on palju, alustame siis!

Paar kuud tagasi lõpetasin Arduino FM -raadio projekti, mis töötab suurepäraselt ja näeb minu arvates veelgi parem välja. Kui soovite näha, kuidas ma selle projekti ehitasin, saate lugeda juhendit siit. Probleem on selles, et kuigi see raadio tundub lahe, pole see otstarbekas, kuna elan Lõuna -Kreeka väikelinnas ja suurtes Kreeka raadiojaamades, mida ma eelistan kuulata, pole siin saatjaid. Niisiis, ma kuulan oma lemmikraadioid veebis oma süle- või tahvelarvutis, mis pole ka nii praktiline. Niisiis, ma kavatsen täna ehitada Interneti -raadioseadme, et saaksin kuulata oma lemmikraadiojaamu üle kogu maailma!

Nagu näete, on projekti esimene versioon leivaplaadil valmis. Lülitame selle sisse. Nagu näete, loob projekt Interneti -ühenduse ja voogesitab seejärel muusikat eelmääratud raadiojaamadest.

Olen häälestunud Ateena raadiojaamale Real FM ja nende nuppude abil saame muuta raadiojaama, mida kuulame. Olen salvestanud oma lemmikraadiojaamad ESP32 mällu, et saaksin neile hõlpsasti juurde pääseda. Selle potentsiomeetriga saan muuta kõlari helitugevust. Näitan kuulatava raadiojaama nime suurel 3,5”ekraanil, millel on retro kasutajaliides. Projekt töötab hästi ja seda on väga lihtne ehitada.

Saate sama projekti koostada vähem kui 10 minutiga, kuid teil peab olema teatud kogemus. Kui see on teie esimene projekt, kaaluge kogemuste saamiseks kõigepealt lihtsama projekti ehitamist. Vaadake minu juhenditest lihtsaid projektiideid ja kui olete Arduinoga mugavam, tuleb elektroonika selle laheda projekti üles ehitamiseks tagasi. Alustame nüüd oma Interneti -raadio ehitamist.

UUENDA 6.6.2019

Müraprobleem on lahendatud isolaatoritrafo lisamisega. Vaadake uuendatud shemaatilist diagrammi. Tänan!

Samm: hankige kõik osad

Hankige kõik osad
Hankige kõik osad

Meil on vaja järgmisi osi:

  • ESP32 ▶
  • MP3 dekooder ▶
  • Isolatsioonitrafo ▶
  • Võimendi ▶
  • 3W kõlar ▶
  • 3,5 -tolline Nextion -ekraan ▶
  • Nupud ▶
  • Leivalaud ▶
  • Juhtmed ▶

Projekti kogumaksumus on umbes 40 dollarit, kuid kui te ekraani ei kasuta, on projekti maksumus umbes 20 dollarit. Hämmastav värk. Me saame ehitada oma Interneti -raadio vaid 20 dollariga!

Samm: ESP32 plaat

Image
Image
ESP32 juhatus
ESP32 juhatus
ESP32 juhatus
ESP32 juhatus

Projekti tuumaks on muidugi võimas ESP32 plaat. Kui te pole sellega tuttav, on ESP32 kiip järg populaarsele ESP8266 kiibile, mida oleme varem mitu korda kasutanud. ESP32 on metsaline! See pakub kahte 32 -bitist töötlemissüdamikku, mis töötavad sagedusel 160 MHz, tohutul hulgal mälu, WiFi -ühendust, Bluetoothi ja paljusid muid funktsioone, mille maksumus on umbes 7 dollarit! Hämmastav värk!

Palun vaadake üksikasjalikku ülevaadet, mille olen selle plaadi jaoks ette valmistanud. Lisasin video selle juhendi juurde. See aitab mõista, miks see kiip muudab igaveseks viisi, kuidas me asju teeme! Üks põnevamaid asju ESP32 puhul on see, et kuigi see on nii võimas, pakub see sügava une režiimi, mis nõuab vaid 10 μs voolu. See muudab ESP32 ideaalseks kiibiks väikese energiatarbega rakenduste jaoks.

Selles projektis loob ESP32 plaat Interneti -ühenduse ja seejärel võtab see kuulatavalt raadiojaamalt MP3 -andmed vastu ning saadab ekraanile mõned käsud.

Samm: MP3 dekooder

MP3 dekooder
MP3 dekooder
MP3 dekooder
MP3 dekooder

Seejärel saadetakse MP3 andmed SPI liidese abil MP3 dekoodri moodulisse. See moodul kasutab VS1053 IC -d. See IC on spetsiaalne riistvara MP3 -dekooder. See võtab ESP32 -lt MP3 -andmed ja muudab need tõesti kiiresti helisignaaliks.

Helisignaal, mida see selles helipistikus väljastab, on nõrk ja mürarikas, seega peame selle mürast puhastama ja võimendama. (Kui kasutate kõrvaklappe, ei pea signaali mürast puhastama ega võimendama.) Sellepärast kasutan heli mürast puhastamiseks isolatsioonitrafot ja helisignaali võimendamiseks PAM8403 helivõimendit. kõneleja juurde. Olen ühendanud ESP32 -ga ka kaks nuppu, et muuta MP3 -voogu, kust andmeid saame, ja Nextion -kuvarit, et kuvada kuulatavat raadiojaama.

4. samm: Nextion -ekraan

Image
Image
Kõikide osade ühendamine
Kõikide osade ühendamine

Valisin selle projekti jaoks Nextioni ekraani, kuna seda on väga lihtne kasutada. Selle juhtimiseks peame ühendama ainult ühe juhtme.

Nextion -kuvarid on uut tüüpi kuvarid. Nende tagaküljel on oma ARM -protsessor, mis vastutab ekraani juhtimise ja graafilise kasutajaliidese loomise eest. Seega saame neid kasutada mis tahes mikrokontrolleriga ja saavutada suurepäraseid tulemusi. Olen koostanud selle Nextioni ekraani üksikasjaliku ülevaate, mis selgitab põhjalikult nende toimimist, nende kasutamist ja nende puudusi. Seda saate lugeda siit või vaadata lisatud videot.

Samm: kõigi osade ühendamine

Kõikide osade ühendamine
Kõikide osade ühendamine
Kõikide osade ühendamine
Kõikide osade ühendamine

Kõik, mida peame tegema, on ühendada kõik osad vastavalt sellele skemaatilisele skeemile. Skemaatilise diagrammi leiate siit. Ühendus on lihtne.

Siiski tuleb märkida kahte asja. MP3 dekoodri moodul väljastab stereosignaali, kuid ma kasutan selles projektis ainult ühte helikanalit. Helisignaali saamiseks ühendasin helikaabli mooduli helipistikupessa ja lõikasin selle nii, et selle sees oleks neli juhtmest. Ühendasin kaks juhtmest. Üks neist on GND ja teine ühe kahe helikanali helisignaal. Soovi korral saate ühendada mõlemad kanalid võimendusmooduliga ja juhtida kahte kõlarit.

Iga helikanal peab enne võimendiga ühendamist läbima eraldustrafo, et kõrvaldada kõik mürad

Andmete ekraanile saatmiseks peame ühendama ainult ühe juhtme ESP32 TX0 tihvtiga. Pärast osade ühendamist peame koodi laadima ESP32 -sse ja GUI laadima Nextioni kuvale.

GUI Nextioni ekraanile laadimiseks kopeerige fail InternetRadio.tft, mida ma teiega jagan, tühjale SD -kaardile. Asetage SD -kaart ekraani tagaküljel asuvasse SD -kaardi pesasse. Seejärel lülitage ekraan sisse ja GUI laaditakse. Seejärel eemaldage SD -kaart ja ühendage toide uuesti.

Pärast koodi edukat laadimist käivitame projekti. See kuvab ekraanil mõne sekundi jooksul teksti „Ühendamine…”. Pärast Interneti -ühenduse loomist loob projekt ühenduse eelmääratud raadiojaamaga. Riistvara töötab ootuspäraselt, kuid vaatame nüüd projekti tarkvarapoolt.

6. samm: projekti kood

Projekti kood
Projekti kood
Projekti kood
Projekti kood

Kõigepealt lubage mul teile midagi näidata. Projekti kood on vähem kui 140 koodirida. Mõelge sellele, saame luua 3,5 -tollise ekraaniga Interneti -raadio, millel on 140 koodirida, see on hämmastav. Seda kõike saame muidugi saavutada erinevate teekide abil, mis sisaldavad tuhandeid koodiridu. See on Arduino ja avatud lähtekoodiga kogukonna jõud. See teeb tegijatele asja lihtsaks.

Selles projektis kasutan ESP32 tahvli jaoks raamatukogu VS1053.

Alguses peame määratlema WiFi-võrgu SSID ja parooli. Järgmisena peame siia salvestama mõned raadiojaamad. Vajame hosti URL -i, teed, kus voog asub, ja porti, mida peame kasutama. Salvestame kogu selle teabe nendesse muutujatesse.

char ssid = "sinu SSID"; // teie võrgu SSID (nimi) char pass = "yourWifiPassword"; // teie võrgu parool

// Vähesed raadiojaamad

char *host [4] = {"149.255.59.162", "radiostreaming.ert.gr", "realfm.live24.gr", "secure1.live24.gr"}; char *path [4] = {"/1", "/ert-kosmos", "/realfm", "/skai1003"}; int -port [4] = {8062, 80, 80, 80};

Sellesse näidesse olen lisanud 4 raadiojaama.

Seadistusfunktsioonis lisame nuppudele katkestused, vormindame MP3 dekoodri mooduli ja loome ühenduse Wi-Fi-ga.

tühine seadistus () {

Seriaalne algus (9600); viivitus (500); SPI.begin ();

pinMode (eelmineNupp, INPUT_PULLUP);

pinMode (järgmine nupp, INPUT_PULLUP);

attachInterrupt (digitalPinToInterrupt (previousButton), previousButtonInterrupt, FALLING);

attachInterrupt (digitalPinToInterrupt (nextButton), nextButtonInterrupt, FALLING); initMP3Decoder (); connectToWIFI (); }

Tsükli funktsioonis kontrollime kõigepealt, kas kasutaja on valinud erineva raadiojaama kui see, kust me andmeid saame. Kui jah, siis loome ühenduse uue raadiojaamaga, muidu saame voost andmeid ja saadame need MP3 dekoodri moodulisse.

void loop () {if (radioStation! = previousRadioStation) {station_connect (radioStation); previousRadioStation = raadiojaam; } if (client.available ()> 0) {uint8_t bytesread = client.read (mp3buff, 32); player.playChunk (mp3buff, baitlugemine); }}

See on kõik! Kui kasutaja vajutab nuppu, toimub katkestus ja see muudab muutuja väärtust, mis ütleb, millise vooga ühenduse luua.

tühine IRAM_ATTR previousButtonInterrupt () {

staatiline allkirjastamata kaua last_interrupt_time = 0;

allkirjastamata pikk interrupt_time = millis (); if (interrupt_time-last_interrupt_time> 200) {if (radioStation> 0) radioStation--; muidu radioStation = 3; } last_interrupt_time = interrupt_time; }

Ekraani värskendamiseks saadame lihtsalt jadaporti mõned käsud.

void drawRadioStationName (int id) {String käsk; lüliti (id) {juhtum 0: käsk = "p1.pic = 2"; Serial.print (käsk); endNextionCommand (); murda; // 1940 UK raadio juhtum 1: command = "p1.pic = 3"; Serial.print (käsk); endNextionCommand (); murda; // KOSMOS GREEK case 2: käsk = "p1.pic = 4"; Serial.print (käsk); endNextionCommand (); murda; // REAL FM GREEK juhtum 3: command = "p1.pic = 5"; Serial.print (käsk); endNextionCommand (); murda; // SKAI 100,3 KREEKA}}

Nüüd vaatame Nextion Display GUI -d. Nextioni graafiline kasutajaliides koosneb taustpildist ja pildist, millel kuvatakse raadiojaama nimi. ESP32 tahvel saadab käske raadiojaama nime muutmiseks manustatud piltidelt. See on väga lihtne. Palun vaadake lisateabe saamiseks Nextioni ekraanijuhendit, mille olen juba mõnda aega tagasi ette valmistanud. Soovi korral saate kiiresti kujundada oma GUI ja kuvada sellel rohkem asju.

Nagu alati, leiate käesolevast juhendist lisatud projekti koodi.

7. samm: lõplikud mõtted ja täiustused

Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused
Lõplikud mõtted ja täiustused

See projekt on väga lihtne. Tahtsin lihtsat Interneti -raadio projekti skeletti, millega töötada. Nüüd, kui projekti esimene versioon on valmis, saame selle parandamiseks lisada palju funktsioone. Esiteks pean ma kavandama korpuse kogu elektroonika jaoks.

Selles raamatus, mis räägib kõigi aegade kõige ilusamatest raadiotest, on selle projekti jaoks korpuseks väga lahedad raadiod. Ma arvan, et ehitan selle suurejoonelise Art Deco raadio ümber korpuse. Mida arvate, kas teile meeldib selle raadio välimus või eelistate midagi kaasaegsemat? Kas teil on muid korpuse ideid? Samuti, kas teile meeldib see Interneti -raadio projekt ja milliseid funktsioone peame selle jaoks kasulikumaks muutma? Mulle meeldiks lugeda teie mõtteid ja ideid, nii et palun postitage need allpool olevasse kommentaaride sektsiooni.

Soovitan: