Përmbajtje:

Radio në internet duke përdorur një ESP32: 7 hapa (me fotografi)
Radio në internet duke përdorur një ESP32: 7 hapa (me fotografi)

Video: Radio në internet duke përdorur një ESP32: 7 hapa (me fotografi)

Video: Radio në internet duke përdorur një ESP32: 7 hapa (me fotografi)
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Shtator
Anonim
Image
Image
Radio në internet duke përdorur një ESP32
Radio në internet duke përdorur një ESP32
Radio në internet duke përdorur një ESP32
Radio në internet duke përdorur një ESP32

Të dashur miq, mirë se vini në një Udhëzues tjetër! Sot do të ndërtojmë një pajisje Radio Interneti me një ekran të madh 3.5”duke përdorur një bord të lirë ESP32. Besoni apo jo, tani mund të ndërtojmë një Radio Interneti në më pak se 10 minuta dhe me më pak se 30 dollarë. Ka shumë për të mbuluar, kështu që, le të fillojmë!

Disa muaj më parë, unë përfundova një projekt Arduino FM Radio i cili funksionon shkëlqyeshëm dhe duket edhe më mirë për mendimin tim. Nëse doni të shihni se si e ndërtova këtë projekt, mund të lexoni Instructable këtu. Problemi është se, edhe pse kjo radio duket e lezetshme nuk është praktike sepse unë jetoj në një qytet të vogël në jug të Greqisë dhe radio stacionet e mëdha greke që preferoj të dëgjoj, nuk kanë transmetues këtu. Pra, unë dëgjoj radiot e mia të preferuara në internet në laptopin ose tabletin tim, i cili gjithashtu nuk është aq praktik. Pra, sot unë do të ndërtoj një pajisje radio interneti në mënyrë që të jem në gjendje të dëgjoj radio stacionet e mia të preferuara nga e gjithë bota!

Siç mund ta shihni, një version i parë i projektit është gati në një pjatë. Le ta fuqizojmë. Siç mund ta shihni, projekti lidhet me internetin dhe pastaj transmeton muzikë nga stacionet e paracaktuara të radios.

Unë jam akorduar në stacionin e radios Real FM nga Athina dhe duke përdorur këto butona ne mund të ndryshojmë Radio Stacionin që po dëgjojmë. Unë i kam ruajtur stacionet e mia të preferuara të radios në kujtesën e ESP32, në mënyrë që t'i qasem me lehtësi. Me këtë potenciometër, unë mund të ndryshoj volumin e altoparlantit. Unë shfaq emrin e stacionit të radios që po dëgjojmë në një ekran të madh 3.5”me një ndërfaqe retro të përdoruesit. Projekti funksionon mirë dhe është shumë i lehtë për tu ndërtuar.

Ju mund të ndërtoni të njëjtin projekt në më pak se 10 minuta, por duhet të keni përvojë. Nëse ky është projekti juaj i parë, konsideroni së pari të ndërtoni një projekt më të thjeshtë, për të fituar përvojë. Kontrolloni udhëzimet e mia për ide të thjeshta të projektit dhe kur të jeni më të kënaqur me Arduino, pajisjet elektronike kthehen për të ndërtuar këtë projekt të lezetshëm. Le të fillojmë tani të ndërtojmë Radion tonë në Internet.

PPRDITSIM 6/6/2019

Çështja e zhurmës është zgjidhur duke shtuar një transformator izolues. Shikoni diagramin e përditësuar shematik. Faleminderit!

Hapi 1: Merrni të gjitha pjesët

Merrni të gjitha pjesët
Merrni të gjitha pjesët

Do të na duhen pjesët e mëposhtme:

  • ESP32 ▶
  • Dekodues MP3 ▶
  • Transformatori i Izolimit ▶
  • Përforcues ▶
  • Altoparlant 3W ▶
  • 3.5 "Nextion Display ▶
  • Butonat e Pushimit ▶
  • Breadboard ▶
  • Telat ▶

Kostoja totale e projektit është rreth 40 $, por nëse nuk përdorni një ekran, kostoja e projektit është rreth 20 $. Gjëra të mahnitshme. Ne mund të ndërtojmë radion tonë në internet me vetëm 20 dollarë!

Hapi 2: Bordi ESP32

Image
Image
Bordi ESP32
Bordi ESP32
Bordi ESP32
Bordi ESP32

Thelbi i projektit është, natyrisht, bordi i fuqishëm ESP32. Nëse nuk jeni të njohur me të, çipi ESP32 është pasardhësi i çipit popullor ESP8266 që kemi përdorur shumë herë në të kaluarën. ESP32 është një bishë! Ofron dy bërthama përpunimi 32 bit të cilat funksionojnë në 160MHz, një sasi masive memorie, WiFi, Bluetooth dhe shumë veçori të tjera me një kosto prej rreth 7 $! Gjëra të mahnitshme!

Ju lutemi shikoni rishikimin e detajuar që kam përgatitur për këtë tabelë. Unë kam bashkangjitur videon në këtë Instructable. Do të ndihmojë të kuptoni pse ky çip do të ndryshojë mënyrën se si i bëjmë gjërat përgjithmonë! Një nga gjërat më emocionuese në lidhje me ESP32 është se edhe pse është kaq i fuqishëm, ai ofron një gjendje gjumi të thellë e cila kërkon vetëm 10μΑ të rrymës. Kjo e bën ESP32 çipin ideal për aplikime me fuqi të ulët.

Në këtë projekt, bordi ESP32 lidhet me internetin dhe më pas merr të dhëna MP3 nga radio stacioni që ne po dëgjojmë, dhe dërgon disa komanda në ekran.

Hapi 3: Dekoduesi MP3

Dekodues MP3
Dekodues MP3
Dekodues MP3
Dekodues MP3

Të dhënat MP3 dërgohen më pas në modulin e deshifruesit MP3 duke përdorur ndërfaqen SPI. Ky modul përdor IC VS1053. Ky IC është një deshifrues i dedikuar i harduerit MP3. Ai merr të dhënat MP3 nga ESP32 dhe i konverton ato me të vërtetë shpejt në një sinjal audio.

Sinjali audio që del në këtë fole audio është i dobët dhe i zhurmshëm, kështu që ne duhet ta pastrojmë atë nga zhurma dhe ta përforcojmë atë. (Nëse jeni duke përdorur kufje, sinjali nuk ka nevojë të pastrohet nga zhurma ose të amplifikohet.) Kjo është arsyeja pse unë jam duke përdorur një transformator izolimi për të pastruar tingullin nga zhurma dhe një përforcues audio PAM8403 për të përforcuar sinjalin audio dhe pastaj për ta dërguar atë te një folës. Unë gjithashtu kam lidhur dy butona me ESP32 vetëm për të ndryshuar rrjedhën MP3 nga e cila po marrim të dhëna dhe një ekran Nextion për të shfaqur stacionin e radios që po dëgjojmë.

Hapi 4: Shfaqja e ardhshme

Image
Image
Lidhja e të gjitha pjesëve
Lidhja e të gjitha pjesëve

Zgjodha të përdor një ekran Nextion për këtë projekt pasi është shumë i lehtë për t'u përdorur. Ne duhet të lidhim vetëm një tel për ta kontrolluar atë.

Ekranet Nextion janë lloje të reja të ekraneve. Ata kanë procesorin e tyre ARM në pjesën e pasme i cili është përgjegjës për drejtimin e ekranit dhe krijimin e ndërfaqes grafike të përdoruesit. Pra, ne mund t'i përdorim ato me çdo mikrokontrollues dhe të arrijmë rezultate spektakolare. Unë kam përgatitur një përmbledhje të detajuar të këtij ekrani Nextion i cili shpjegon në thellësi se si funksionojnë, si t'i përdorin ato dhe të metat e tyre. Mund ta lexoni këtu, ose të shikoni videon e bashkangjitur.

Hapi 5: Lidhja e të gjitha pjesëve

Lidhja e të gjitha pjesëve
Lidhja e të gjitha pjesëve
Lidhja e të gjitha pjesëve
Lidhja e të gjitha pjesëve

E tëra çfarë duhet të bëjmë tani është të lidhim të gjitha pjesët së bashku sipas këtij diagrami skematik. Këtu mund të gjeni diagramin skematik. Lidhja është e drejtpërdrejtë.

Ka dy gjëra për t’u vënë në dukje sidoqoftë. Moduli i dekoduesit MP3 nxjerr një sinjal stereo, por unë jam duke përdorur vetëm një kanal audio në këtë projekt. Për të marrë sinjalin audio, unë lidha një kabllo audio në folenë audio të modulit dhe e preva për të zbuluar katër tela brenda. Kam lidhur dy nga telat. Njëri prej tyre është GND dhe tjetri është sinjali audio i njërit prej dy kanaleve audio. Nëse dëshironi, mund t'i lidhni të dy kanalet me modulin e amplifikatorit dhe të drejtoni dy altoparlantë.

Çdo kanal audio duhet të kalojë përmes transformatorit të izolimit për të pastruar çdo zhurmë të pranishme para se të lidheni me amplifikatorin

Për të dërguar të dhëna në ekran, na duhet vetëm të lidhim një tel me kunjin TX0 të ESP32. Pas lidhjes së pjesëve, duhet të ngarkojmë kodin në ESP32, dhe duhet të ngarkojmë GUI në ekranin Nextion.

Për të ngarkuar GUI në ekranin Nextion, kopjoni skedarin InternetRadio.tft që do të ndaj me ju në një kartë SD të zbrazët. Vendoseni kartën SD në folenë e kartës SD në pjesën e pasme të ekranit. Pastaj ndizni ekranin dhe GUI do të ngarkohet. Pastaj hiqni kartën SD dhe lidhni përsëri fuqinë.

Pasi të keni ngarkuar me sukses kodin, le ta fuqizojmë projektin. Ajo shfaq tekstin "Connecting …" për disa sekonda në ekran. Pas lidhjes me internetin projekti lidhet me një stacion radio të paracaktuar. Pajisja po funksionon siç pritej, por tani le të shohim anën e softuerit të projektit.

Hapi 6: Kodi i Projektit

Kodi i Projektit
Kodi i Projektit
Kodi i Projektit
Kodi i Projektit

Para së gjithash, më lejoni t'ju tregoj diçka. Kodi i projektit është më pak se 140 rreshta kod. Mendoni pak, ne mund të ndërtojmë një Radio në Internet me një ekran 3.5”me 140 rreshta kod, kjo është e mahnitshme. Ne mund t'i arrijmë të gjitha këto duke përdorur biblioteka të ndryshme natyrisht të cilat përmbajnë mijëra rreshta kodesh. Kjo është fuqia e Arduino dhe komunitetit me burim të hapur. Kjo i bën gjërat më të lehta për krijuesit.

Në këtë projekt, unë jam duke përdorur bibliotekën VS1053 për bordin ESP32.

Në fillim, duhet të përcaktojmë SSID-in dhe Fjalëkalimin e rrjetit Wi-Fi. Tjetra, ne duhet të ruajmë disa Radio Stacione këtu. Ne kemi nevojë për URL -në e hostit, shtegun ku ndodhet transmetimi dhe portin që duhet të përdorim. Ne i ruajmë të gjitha këto informacione në këto ndryshore.

char ssid = "yourSSID"; // SSID (emri) i rrjetit tuaj char pass = "yourWifiPassword"; // fjalëkalimi i rrjetit tuaj

// Disa stacione radio

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

Unë kam përfshirë 4 stacione radio në këtë shembull.

Në funksionin e konfigurimit i bashkojmë ndërprerjet butonave, inicojmë modulin e dekoduesit MP3 dhe lidhemi me Wi-Fi.

void setup () {

Serial.filloj (9600); vonesë (500); SPI.filloj ();

pinMode (butoni i mëparshëm, INPUT_PULLUP);

pinMode (butoni tjetër, INPUT_PULLUP);

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

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

Në funksionin e lakut, para së gjithash, ne kontrollojmë nëse përdoruesi ka zgjedhur një stacion radio të ndryshëm nga ai nga i cili po marrim të dhëna. Nëse është kështu, ne lidhemi me stacionin e ri radio përndryshe marrim të dhëna nga rryma dhe i dërgojmë ato në modulin e Dekoduesit MP3.

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

Kjo eshte e gjitha! Kur përdoruesi shtyp një buton, ndodh një ndërprerje dhe ndryshon vlerën e një ndryshoreje e cila tregon se në cilën rrjedhë të lidhet.

i pavlefshëm IRAM_ATTR previousButtonInterrupt () {

statike e panënshkruar gjatë e fundit_interrupt_time = 0;

interrupt_time e panënshkruar e gjatë = millis (); if (interrupt_time-last_interrupt_time> 200) {if (radioStation> 0) radioStation--; tjetër radioStacion = 3; } last_interrupt_time = koha e ndërprerjes; }

Për të përditësuar ekranin, ne thjesht dërgojmë disa komanda në portën serike.

void drawRadioStationName (int id) {Komanda e vargut; switch (id) {case 0: command = "p1.pic = 2"; Serial.print (komandë); endNextionCommand (); pushim; // 1940 Rasti i Radios në Mbretërinë e Bashkuar 1: komanda = "p1.pic = 3"; Serial.print (komandë); endNextionCommand (); pushim; // KOSMOS GREK rast 2: komanda = "p1.pic = 4"; Serial.print (komandë); endNextionCommand (); pushim; // REAL FM GREK rasti 3: komanda = "p1.pic = 5"; Serial.print (komandë); endNextionCommand (); pushim; // SKAI 100.3 GREKE}}

Tani le të hedhim një vështrim në GUI të Nextion Display. GUI Nextion përbëhet nga një fotografi në sfond dhe një fotografi e cila tregon emrin e Stacionit të Radios. Bordi ESP32 dërgon komanda për të ndryshuar emrin e stacionit të radios nga imazhet e ngulitura. Veryshtë shumë e lehtë. Ju lutemi shikoni tutorialin e shfaqjes Nextion që kam përgatitur disa kohë më parë për më shumë informacion. Ju mund të krijoni shpejt GUI tuaj nëse dëshironi dhe shfaqni më shumë gjëra në të.

Si gjithmonë, kodin e projektit mund ta gjeni të bashkangjitur në këtë Udhëzues.

Hapi 7: Mendimet dhe Përmirësimet Finale

Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare

Ky projekt është shumë i thjeshtë. Unë doja një skelet të thjeshtë të projektit të Internet Radio për të punuar me të. Tani që një version i parë i projektit është gati, ne mund t'i shtojmë shumë veçori për ta përmirësuar atë. Para së gjithash, më duhet të krijoj një rrethim për të vendosur të gjithë pajisjet elektronike.

Në këtë libër për Radiot më të Bukura të bëra ndonjëherë ka radio shumë të lezetshme për të zgjedhur si një rrethim për këtë projekt. Unë mendoj se do të ndërtoj një rrethim rreth kësaj radioje spektakolare Art Deco. Si mendoni, ju pëlqejnë pamjet e kësaj radioje apo preferoni diçka më moderne? A keni ndonjë ide tjetër rrethimi? Gjithashtu, a ju pëlqen ky projekt i Radio -Internetit dhe cilat veçori mendoni se duhet t’i shtojmë për ta bërë më të dobishëm? Do të doja të lexoja mendimet dhe idetë tuaja, kështu që ju lutemi postojini ato në pjesën e komenteve më poshtë.

Recommended: