Orodha ya maudhui:

Redio ya Mtandaoni Kutumia ESP32: Hatua 7 (na Picha)
Redio ya Mtandaoni Kutumia ESP32: Hatua 7 (na Picha)

Video: Redio ya Mtandaoni Kutumia ESP32: Hatua 7 (na Picha)

Video: Redio ya Mtandaoni Kutumia ESP32: Hatua 7 (na Picha)
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Novemba
Anonim
Image
Image
Redio ya Mtandaoni Kutumia ESP32
Redio ya Mtandaoni Kutumia ESP32
Redio ya Mtandaoni Kutumia ESP32
Redio ya Mtandaoni Kutumia ESP32

Wapendwa marafiki karibu kwa mwingine anayefundishwa! Leo tutaunda kifaa cha Redio ya Mtandaoni na onyesho kubwa la 3.5”kwa kutumia bodi ya ESP32 isiyo na gharama kubwa. Amini usiamini, sasa tunaweza kujenga Redio ya Mtandaoni chini ya dakika 10 na chini ya $ 30. Kuna mengi ya kufunika hivyo, hebu tuanze!

Miezi michache iliyopita, nilikamilisha mradi wa Redio ya Arduino FM ambayo inafanya kazi nzuri na inaonekana bora zaidi kwa maoni yangu. Ikiwa unataka kuona jinsi nilivyojenga mradi huu unaweza kusoma inayoweza kufundishwa hapa. Shida ni kwamba, ingawa redio hii inaonekana ya kupendeza sio ya vitendo kwa sababu ninaishi katika mji mdogo kusini mwa Ugiriki na vituo vya redio vikubwa vya Uigiriki ninapendelea kusikiliza, hazina watumaji hapa. Kwa hivyo, ninasikiliza redio ninazozipenda mkondoni kwenye kompyuta yangu ndogo au kompyuta kibao ambayo pia haifanyi kazi sana. Kwa hivyo, leo nitaunda kifaa cha redio cha Mtandaoni ili kuweza kusikiliza redio ninazopenda kutoka kote ulimwenguni!

Kama unavyoona, toleo la kwanza la mradi liko tayari kwenye ubao wa mkate. Wacha tuiongeze nguvu. Kama unaweza kuona mradi unaunganisha kwenye Mtandao na kisha hutiririsha muziki kutoka Vituo vya Redio vilivyotanguliwa.

Nimeangalia kituo cha redio cha Real FM kutoka Athens na kwa kutumia vifungo hivi tunaweza kubadilisha Kituo cha Redio tunachosikiliza. Nimehifadhi vituo vipendwa vya redio kwenye kumbukumbu ya ESP32 ili niweze kuzipata kwa urahisi. Kwa potentiometer hii, ninaweza kubadilisha sauti ya spika. Ninaonyesha Jina la Kituo cha Redio tunachosikiliza kwenye onyesho kubwa la 3.5”na kiolesura cha Mtumiaji cha retro. Mradi unafanya kazi vizuri na ni rahisi sana kujenga.

Unaweza kujenga mradi huo chini ya dakika 10 lakini unahitaji kuwa na uzoefu. Ikiwa huu ni mradi wako wa kwanza, fikiria kujenga moja rahisi kwanza, kupata uzoefu. Angalia Maagizo yangu kwa maoni rahisi ya mradi na wakati uko vizuri na Arduino umeme unarudi kujenga mradi huu mzuri. Wacha sasa tuanze kujenga Redio yetu ya mtandao.

Sasisha 6/6/2019

Suala la kelele limetatuliwa kwa kuongeza kibadilishaji cha kujitenga. Angalia mchoro wa shematic uliosasishwa. Asante!

Hatua ya 1: Pata Sehemu Zote

Pata Sehemu Zote
Pata Sehemu Zote

Tutahitaji sehemu zifuatazo:

  • ESP32 ▶
  • Kiambatisho cha MP3 ▶
  • Transformer ya Kutengwa ▶
  • Amplifier ▶
  • Spika ya 3W://
  • 3.5 "Onyesho la Nextion ▶
  • Vifungo vya kushinikiza ▶
  • Bodi ya mkate ▶
  • Waya ▶

Gharama ya jumla ya mradi ni karibu $ 40 lakini ikiwa hutumii onyesho gharama ya mradi iko karibu $ 20. Vitu vya kushangaza. Tunaweza kujenga redio yetu ya mtandao na $ 20 tu!

Hatua ya 2: Bodi ya ESP32

Image
Image
Bodi ya ESP32
Bodi ya ESP32
Bodi ya ESP32
Bodi ya ESP32

Moyo wa mradi huo, kwa kweli, ni bodi yenye nguvu ya ESP32. Ikiwa hauijui, chip ya ESP32 ndiye mrithi wa chip maarufu ya ESP8266 ambayo tumetumia mara nyingi huko nyuma. ESP32 ni mnyama! Inatoa cores mbili za usindikaji 32 ambazo zinafanya kazi kwa 160MHz, idadi kubwa ya kumbukumbu, WiFi, Bluetooth na huduma zingine nyingi na gharama ya karibu $ 7! Vitu vya kushangaza!

Tafadhali angalia ukaguzi wa kina ambao nimeandaa kwa bodi hii. Nimeambatanisha video kwenye hii inayoweza kufundishwa. Itasaidia kuelewa ni kwa nini chip hii itabadilisha njia tunayotengeneza vitu milele! Moja ya mambo ya kufurahisha zaidi juu ya ESP32 ni kwamba ingawa ina nguvu sana, inatoa hali ya kulala-kina ambayo inahitaji tu 10μΑ za sasa. Hii inafanya ESP32 kuwa chip bora kwa matumizi ya nguvu ndogo.

Katika mradi huu, bodi ya ESP32 inaunganisha kwenye mtandao na kisha inapokea data ya MP3 kutoka kituo cha redio tunachosikiliza, na hutuma maagizo kadhaa kwenye onyesho.

Hatua ya 3: MP3 avkodare

MP3 avkodare
MP3 avkodare
MP3 avkodare
MP3 avkodare

Takwimu za MP3 zinatumwa kwa moduli ya kisimbuzi MP3 kwa kutumia kiolesura cha SPI. Moduli hii hutumia VS1053 IC. IC hii ni vifaa vya kujitolea vya MP3. Inapata data ya MP3 kutoka ESP32 na kuibadilisha haraka kuwa ishara ya sauti.

Ishara ya sauti ambayo hutoa kwenye sauti hii ya sauti ni dhaifu na yenye kelele, kwa hivyo tunahitaji kuiondoa kutoka kwa kelele na kuiongezea nguvu. (Ikiwa unatumia vichwa vya sauti, ishara hiyo haiitaji kufutwa kutoka kwa kelele au kuongezewa nguvu.) Ndio sababu ninatumia kiboreshaji cha Kutengwa ili kuondoa sauti kutoka kwa kelele na kipaza sauti cha sauti cha PAM8403 kukuza ishara ya sauti na kisha kuituma kwa mzungumzaji. Nimeunganisha vifungo viwili kwa ESP32 ili kubadilisha Mtiririko wa MP3 tunapata data kutoka na onyesho la Nextion kuonyesha kituo cha Redio tunachosikiliza.

Hatua ya 4: Onyesho la Nextion

Image
Image
Kuunganisha Sehemu Zote
Kuunganisha Sehemu Zote

Nilichagua kutumia onyesho la Nextion kwa mradi huu kwani ni rahisi kutumia. Tunahitaji tu kuunganisha waya moja kuidhibiti.

Maonyesho ya Nextion ni aina mpya ya maonyesho. Wana processor yao ya ARM nyuma ambayo inawajibika kwa kuendesha onyesho na kuunda kiolesura cha mtumiaji wa picha. Kwa hivyo, tunaweza kuzitumia na microcontroller yoyote na kufikia matokeo ya kushangaza. Nimeandaa mapitio ya kina ya onyesho hili la Nextion ambalo linaelezea kwa kina jinsi wanavyofanya kazi, jinsi ya kuzitumia na shida zao. Unaweza kuisoma hapa, au tazama video iliyoambatanishwa.

Hatua ya 5: Kuunganisha Sehemu Zote

Kuunganisha Sehemu Zote
Kuunganisha Sehemu Zote
Kuunganisha Sehemu Zote
Kuunganisha Sehemu Zote

Tunachotakiwa kufanya sasa ni kuunganisha sehemu zote pamoja kulingana na mchoro huu wa kiufundi. Unaweza kupata mchoro uliowekwa hapa. Uunganisho ni moja kwa moja.

Kuna mambo mawili ya kuzingatia ingawa. Moduli ya kisimbuzi MP3 inaleta Ishara ya Stereo lakini ninatumia kituo kimoja tu cha sauti katika mradi huu. Ili kupata ishara ya sauti, niliunganisha kebo ya sauti kwenye jack ya sauti ya moduli, na kuikata ili kufunua waya nne ndani. Niliunganisha nyaya mbili. Mmoja wao ni GND na nyingine ni ishara ya sauti ya moja ya njia mbili za sauti. Ikiwa unataka unaweza kuunganisha njia zote mbili kwa moduli ya kipaza sauti na kuendesha spika mbili.

Kila kituo cha sauti kinapaswa kupitia kibadilishaji cha kutengwa ili kuondoa kelele yoyote iliyopo kabla ya kuungana na kipaza sauti

Ili kutuma data kwenye onyesho, tunahitaji tu kuunganisha waya moja kwenye pini ya TX0 ya ESP32. Baada ya kuunganisha sehemu, tunapaswa kupakia nambari kwenye ESP32, na tunapaswa kupakia GUI kwenye onyesho la Nextion.

Ili kupakia GUI kwenye onyesho la Nextion, nakili faili ya InternetRadio.tft nitashiriki nawe kwenye kadi tupu ya SD. Weka kadi ya SD kwenye nafasi ya kadi ya SD nyuma ya onyesho. Kisha ongeza onyesho, na GUI itapakiwa. Kisha ondoa kadi ya SD na uunganishe umeme tena.

Baada ya kupakia nambari hiyo kwa mafanikio, wacha tuwezeshe mradi. Inaonyesha maandishi "Kuunganisha …" kwa sekunde chache kwenye onyesho. Baada ya kuunganisha kwenye wavuti mradi unaunganisha na kituo cha redio kilichofafanuliwa. Vifaa vinafanya kazi kama inavyotarajiwa lakini sasa wacha tuone upande wa programu.

Hatua ya 6: Kanuni ya Mradi

Kanuni za Mradi
Kanuni za Mradi
Kanuni za Mradi
Kanuni za Mradi

Kwanza kabisa, wacha nikuonyeshe kitu. Nambari ya mradi iko chini ya laini 140 za msimbo. Fikiria juu yake, tunaweza kujenga Redio ya Mtandaoni na 3.5”Onyesha na laini 140 za nambari, hii ni ya kushangaza. Tunaweza kufanikisha haya yote kwa kutumia maktaba anuwai ambayo kwa kweli yana maelfu ya mistari ya nambari. Hii ni nguvu ya Arduino na jamii ya chanzo wazi. Inafanya mambo kuwa rahisi kwa watunga.

Katika mradi huu, ninatumia maktaba ya VS1053 kwa bodi ya ESP32.

Kwanza, tunapaswa kufafanua SSID na Nenosiri la mtandao wa Wi-Fi. Ifuatayo, lazima tuhifadhi Vituo vya Redio hapa. Tunahitaji URL ya mwenyeji, njia ambayo mkondo uko na bandari tunayohitaji kutumia. Tunahifadhi maelezo haya yote katika vigeuzi hivi.

char ssid = "yourSSID"; // mtandao wako SSID (jina) char pass = "yourWifiPassword"; // nywila yako ya mtandao

// Vituo Vichache vya Redio

mwenyeji wa char * [4] = {"149.255.59.162", "radiostreaming.ert.gr", "realfm.live24.gr", "safe1.live24.gr"}; char * njia [4] = {"/ 1", "/ ert-kosmos", "/ realfm", "/ skai1003"}; bandari ya ndani [4] = {8062, 80, 80, 80};

Nimejumuisha vituo 4 vya redio katika mfano huu.

Katika kazi ya usanidi tunaambatisha usumbufu kwa vifungo, tunaanzisha moduli ya skodi ya MP3 na tunaunganisha kwenye Wi-Fi.

usanidi batili () {

Kuanzia Serial (9600); kuchelewesha (500); SPI kuanza ();

pinMode (kifungo cha awali, INPUT_PULLUP);

pinMode (nextButton, INPUT_PULLUP);

ambatishaKukatisha (digitalPinToInterrupt (kifungo cha awali), kifungo cha awaliKukatisha, KUANGUKA);

ambatishaKukatisha (digitalPinToInterrupt (nextButton), nextButtonInterrupt, FALLING); initMP3Decoder (); unganishaToWIFI (); }

Katika kazi ya kitanzi, kwanza kabisa, tunaangalia ikiwa mtumiaji amechagua kituo tofauti cha redio kuliko kile tunachopata data. Ikiwa ndivyo, tunaunganisha kwenye kituo kipya cha redio kingine tunapata data kutoka kwa mkondo na kuzipeleka kwa moduli ya MP3 Decoder.

kitanzi batili () {if (radioStation! = previousRadioStation) {station_connect (radioStation); uliopitaRadioStation = redioStation; } ikiwa (mteja anapatikana ()> 0) {uint8_t bytesread = mteja.read (mp3buff, 32); mchezaji.chezaChunk (mp3buff, byteread); }}

Ni hayo tu! Mtumiaji anapobonyeza kitufe, usumbufu hufanyika, na hubadilisha thamani ya ubadilishaji ambayo inaelezea ni mkondo gani unaoweza kuunganishwa.

batili IRAM_ATTR uliopitaButtonInterrupt () {

tuli isiyosainiwa kwa muda mrefu last_interrupt_time = 0;

unsigned muda mrefu interrupt_time = millis (); ikiwa (muda wa kukatiza - wakati wa mwisho_kuingiliana> 200) {ikiwa (RadioStation> 0) RadioStation--; mwingine radioStation = 3; } last_interrupt_time = interrupt_time; }

Ili kusasisha onyesho, tunatuma tu amri kadhaa kwenye bandari ya serial.

batili drawRadioStationName (int id) {Amri ya kamba; kubadili (id) {kesi 0: command = "p1.pic = 2"; Serial.print (amri); mwishoNextionCommand (); kuvunja; // 1940 Kesi ya redio ya Uingereza 1: command = "p1.pic = 3"; Serial.print (amri); mwishoNextionCommand (); kuvunja; // KOSMOS GREEK kesi 2: command = "p1.pic = 4"; Serial.print (amri); mwishoNextionCommand (); kuvunja; // REAL FM GREEK kisa 3: command = "p1.pic = 5"; Serial.print (amri); mwishoNextionCommand (); kuvunja; // SKAI 100.3 KIJERIKANI}}

Sasa hebu tuangalie NextI Display GUI. Nextion GUI ina picha ya nyuma na picha inayoonyesha jina la Kituo cha Redio. Bodi ya ESP32 inatuma amri za kubadilisha jina la kituo cha redio kutoka kwenye picha zilizopachikwa. Ni rahisi sana. Tafadhali angalia mafunzo ya maonyesho ya Nextion ambayo nimeandaa wakati uliopita kwa habari zaidi. Unaweza kuunda GUI yako mwenyewe haraka ikiwa unataka na kuonyesha vitu zaidi juu yake.

Kama kawaida unaweza kupata nambari ya mradi iliyoambatanishwa na hii inayoweza kufundishwa.

Hatua ya 7: Mawazo ya Mwisho na Maboresho

Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho
Mawazo ya Mwisho na Maboresho

Mradi huu ni rahisi sana. Nilitaka mifupa rahisi ya mradi wa Redio ya Internet kufanya kazi nayo. Sasa kwa kuwa toleo la kwanza la mradi liko tayari tunaweza kuongeza huduma nyingi kuiboresha. Kwanza kabisa, ninahitaji kubuni kiambatisho cha kuweka vifaa vyote vya elektroniki.

Katika kitabu hiki kuhusu Redio Nzuri zaidi kuwahi kufanywa kuna redio nzuri sana za kuchagua kama kizingiti cha mradi huu. Nadhani nitajenga kando ya redio hii ya kuvutia ya Art Deco. Unafikiria nini, je! Unapenda sura ya redio hii au unapendelea kitu cha kisasa zaidi? Je! Una maoni mengine yoyote yaliyofungwa? Pia, je! Unapenda mradi huu wa Redio ya Mtandaoni na ni mambo gani unadhani tunahitaji kuiongeza ili kuifanya iwe muhimu zaidi? Ningependa kusoma mawazo na Mawazo yako kwa hivyo, tafadhali weka kwenye sehemu ya maoni hapa chini.

Ilipendekeza: