Mundarija:

ESP32 yordamida Internet radiosi: 7 qadam (rasmlar bilan)
ESP32 yordamida Internet radiosi: 7 qadam (rasmlar bilan)

Video: ESP32 yordamida Internet radiosi: 7 qadam (rasmlar bilan)

Video: ESP32 yordamida Internet radiosi: 7 qadam (rasmlar bilan)
Video: метеостанция ESP32+web radio 320x240 ч.9 2024, Noyabr
Anonim
Image
Image
ESP32 yordamida Internet radiosi
ESP32 yordamida Internet radiosi
ESP32 yordamida Internet radiosi
ESP32 yordamida Internet radiosi

Aziz do'stlar, yana bir ko'rsatmaga xush kelibsiz! Bugun biz arzon ESP32 kartasi yordamida 3,5 dyuymli katta displeyli Internet -radio qurilmasini qurmoqchimiz. Ishonasizmi yoki yo'qmi, biz hozir Internet radiosini 10 daqiqadan kam va 30 dollardan kamroq qura olamiz. Yopish uchun juda ko'p narsa bor, boshlaylik!

Bir necha oy oldin men Arduino FM Radio loyihasini yakunladim, u juda yaxshi ishlaydi va menimcha, bundan ham yaxshiroq ko'rinadi. Agar siz ushbu loyihani qanday qurganimni ko'rishni istasangiz, ko'rsatmalarni o'qishingiz mumkin. Muammo shundaki, garchi bu radio ajoyib ko'rinadigan bo'lsa -da, bu amaliy emas, chunki men janubiy Yunonistonning kichik bir shaharchasida yashayman va men eshitishni afzal ko'rgan katta yunon radiostansiyalarida bu erda transmitterlar yo'q. Shunday qilib, men o'zim yoqtirgan radiolarni noutbukda yoki planshetda onlayn tinglayman, bu ham amaliy emas. Shunday qilib, bugun men butun dunyodagi sevimli radiostansiyalarimni tinglash uchun Internet -radio qurilmasini qurmoqchiman!

Ko'rib turganingizdek, loyihaning birinchi versiyasi taxtada tayyor. Keling, uni quvvatlantiraylik. Ko'rib turganingizdek, loyiha Internetga ulanadi va oldindan belgilangan radiostansiyalardan musiqa uzatadi.

Men Afinadan Real FM radiostansiyasini sozladim va shu tugmalar yordamida biz eshitayotgan radiostansiyani o'zgartirishimiz mumkin. Men sevimli radiostansiyalarimni ESP32 xotirasida saqladim, shuning uchun ularga osongina kirishim mumkin. Ushbu potentsiometr yordamida men karnay ovozini o'zgartirishim mumkin. Men retro foydalanuvchi interfeysi bilan 3,5 dyuymli katta displeyda biz eshitayotgan radiostansiya nomini ko'rsataman. Loyiha yaxshi ishlaydi va uni qurish juda oson.

Siz bir xil loyihani 10 daqiqadan kamroq vaqt ichida qurishingiz mumkin, lekin sizda tajriba bo'lishi kerak. Agar bu sizning birinchi loyihangiz bo'lsa, tajriba orttirish uchun avval soddasini qurishni o'ylab ko'ring. Loyihaning oddiy g'oyalari uchun Mening ko'rsatmalarni tekshiring va Arduino sizga qulayroq bo'lganda, elektronika bu ajoyib loyihani yaratish uchun qaytib keladi. Keling, o'z Internet -radioimizni qurishni boshlaylik.

6/6/2019 YANGILASh

Shovqin muammosi izolyator transformatorini qo'shish orqali hal qilindi. Yangilangan sxematik diagrammani ko'rib chiqing. Rahmat!

1 -qadam: Barcha qismlarni oling

Barcha qismlarni oling
Barcha qismlarni oling

Bizga quyidagi qismlar kerak bo'ladi:

  • ESP32 ▶
  • MP3 dekoder ▶
  • Izolyatsiya transformatori ▶
  • Kuchaytirgich ▶
  • 3W dinamik ▶
  • 3,5 dyuymli displey ▶
  • Bosish tugmalari ▶
  • Breadboard ▶
  • Simlar ▶

Loyihaning umumiy qiymati 40 dollar atrofida, lekin agar siz displeydan foydalanmasangiz, loyihaning narxi 20 dollarni tashkil qiladi. Ajoyib narsalar. Biz bor -yo'g'i 20 dollar evaziga o'z internet -radioimizni qura olamiz!

2 -qadam: ESP32 kartasi

Image
Image
ESP32 taxtasi
ESP32 taxtasi
ESP32 taxtasi
ESP32 taxtasi

Loyihaning yuragi, albatta, kuchli ESP32 platasi. Agar siz u bilan tanish bo'lmasangiz, ESP32 chipi biz ilgari ko'p marta ishlatgan mashhur ESP8266 chipining vorisidir. ESP32 - bu hayvon! U 160 MGts chastotada ishlaydigan 32 bitli ikkita yadroli yadro, katta hajmli xotira, WiFi, Bluetooth va narxi 7 dollar atrofida bo'lgan boshqa ko'p funktsiyalarni taklif etadi! Ajoyib narsalar!

Iltimos, men ushbu taxtaga tayyorlagan batafsil sharhimni tomosha qiling. Men ushbu ko'rsatmaga videoni ilova qildim. Bu nima uchun bu chip bizning narsalarimizni abadiy o'zgartirishini tushunishga yordam beradi! ESP32-ning eng hayajonli jihatlaridan biri shundaki, u juda kuchli bo'lsa-da, u faqat 10 mikron oqim talab qiladigan chuqur uyqu rejimini taklif qiladi. Bu ESP32 ni past quvvatli ilovalar uchun ideal chipga aylantiradi.

Ushbu loyihada ESP32 platasi Internetga ulanadi, keyin biz eshitayotgan radiostansiyadan MP3 ma'lumotlarini oladi va displeyga ba'zi buyruqlar yuboradi.

3 -qadam: MP3 dekoder

MP3 dekoder
MP3 dekoder
MP3 dekoder
MP3 dekoder

MP3 ma'lumotlari SPI interfeysi yordamida MP3 dekoder moduliga yuboriladi. Ushbu modulda VS1053 IC ishlatiladi. Bu IC maxsus apparat MP3 dekoder. U MP3 ma'lumotlarini ESP32 -dan oladi va uni tezda audio signalga aylantiradi.

Bu audio raz'emdan chiqadigan audio signal kuchsiz va shovqinli, shuning uchun biz uni shovqindan tozalashimiz va kuchaytirishimiz kerak. (Agar siz minigarnituradan foydalansangiz, signalni shovqindan tozalash yoki kuchaytirishning hojati yo'q.) Shuning uchun men ovozni shovqindan tozalash uchun izolyatsiya transformatoridan va ovozli signalni kuchaytirish uchun PAM8403 audio kuchaytirgichidan foydalanaman. ma'ruzachiga. Men ESP32 -ga ikkita tugmachani uladim, faqat biz ma'lumot oladigan MP3 oqimini va biz eshitayotgan radiostansiyani ko'rsatish uchun Nextion displeyini o'zgartirdim.

4 -qadam: Nextion displeyi

Image
Image
Barcha qismlarni ulash
Barcha qismlarni ulash

Men ushbu loyiha uchun Nextion displeyidan foydalanishni tanladim, chunki uni ishlatish juda oson. Biz uni boshqarish uchun faqat bitta simni ulashimiz kerak.

Nextion displeylari - bu yangi turdagi displeylar. Ularning orqa tomonida o'zlarining ARM protsessorlari bor, ular displeyni boshqarish va foydalanuvchi interfeysini yaratish uchun javobgardir. Shunday qilib, biz ularni har qanday mikrokontroller bilan ishlatishimiz va ajoyib natijalarga erishishimiz mumkin. Men ushbu Nextion displeyining batafsil sharhini tayyorladim, unda ular qanday ishlashini, ulardan qanday foydalanish kerakligini va kamchiliklarini tushuntirib beradi. Siz uni bu erda o'qishingiz yoki biriktirilgan videoni ko'rishingiz mumkin.

5 -qadam: Barcha qismlarni ulash

Barcha qismlarni ulash
Barcha qismlarni ulash
Barcha qismlarni ulash
Barcha qismlarni ulash

Biz hozir qilishimiz kerak bo'lgan narsa - bu sxematik sxema bo'yicha barcha qismlarni bir -biriga ulash. Siz bu erda biriktirilgan sxematik sxemani topishingiz mumkin. Ulanish oddiy.

Shunga qaramay, e'tiborga olish kerak bo'lgan ikkita narsa bor. MP3 dekoder moduli stereo signal chiqaradi, lekin men bu loyihada faqat bitta audio kanaldan foydalanmoqdaman. Ovoz signalini olish uchun men audio kabelni modulning audio uyasiga uladim va ichidagi to'rtta simni ochish uchun kesib tashladim. Men ikkita simni uladim. Ulardan biri GND, ikkinchisi - ikkita audio kanaldan birining ovozli signalidir. Agar xohlasangiz, ikkala kanalni ham kuchaytirgich moduliga ulashingiz va ikkita karnayni haydashingiz mumkin.

Har bir audio kanal kuchaytirgichga ulanishdan oldin mavjud bo'lgan shovqinlarni tozalash uchun izolyatsiya transformatoridan o'tishi kerak

Ma'lumotni displeyga yuborish uchun biz faqat bitta simni ESP32 TX0 piniga ulashimiz kerak. Qismlarni ulab bo'lgach, biz kodni ESP32 -ga yuklashimiz kerak, biz esa GUIni Nextion displeyiga yuklashimiz kerak.

GUI -ni Nextion displeyiga yuklash uchun siz bilan baham ko'rmoqchi bo'lgan InternetRadio.tft faylini bo'sh SD -kartaga ko'chiring. SD -kartani displeyning orqa qismidagi SD -karta uyasiga joylashtiring. Keyin displeyni yoqing va GUI yuklanadi. Keyin SD -kartani chiqarib oling va quvvatni qayta ulang.

Kodni muvaffaqiyatli yuklaganingizdan so'ng, loyihani yoqamiz. U displeyda bir necha soniya davomida "Ulanmoqda …" matnini ko'rsatadi. Internetga ulangandan so'ng, loyiha oldindan belgilangan radiostansiyaga ulanadi. Uskuna kutilganidek ishlaydi, lekin endi loyihaning dasturiy tomonini ko'rib chiqaylik.

6 -qadam: Loyihaning kodeksi

Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi
Loyiha kodeksi

Avvalo, sizga bir narsani ko'rsatib beray. Loyihaning kodi 140 qatordan kam. O'ylab ko'ring, biz 140 dyuymli kodli 3,5 dyuymli Internet -radio qura olamiz, bu ajoyib. Bularning barchasiga, albatta, minglab kod qatorlarini o'z ichiga olgan turli kutubxonalar yordamida erishishimiz mumkin. Bu Arduino va Ochiq kodli hamjamiyatning kuchi. Bu ishlab chiqaruvchilar uchun hamma narsani osonlashtiradi.

Ushbu loyihada men ESP32 platasi uchun VS1053 kutubxonasidan foydalanayapman.

Birinchidan, biz SSID va Wi-Fi tarmog'ining parolini aniqlashimiz kerak. Keyin biz bu erda ba'zi radiostansiyalarni saqlashimiz kerak. Bizga xost URL manzili, oqim joylashgan yo'l va biz foydalanishimiz kerak bo'lgan port kerak. Biz bu ma'lumotlarning barchasini ushbu o'zgaruvchilarga saqlaymiz.

char ssid = "yourSSID"; // sizning tarmoq SSID (ismingiz) char pass = "yourWifiPassword"; // tarmoq parolingiz

// Bir nechta radiostansiyalar

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};

Men bu misolga 4 ta radiostansiyani qo'shdim.

O'rnatish funktsiyasida biz tugmalarga uzilishlar qo'shamiz, biz MP3 dekoder modulini ishga tushiramiz va Wi-Fi tarmog'iga ulanamiz.

bo'sh o'rnatish () {

Serial.begin (9600); kechikish (500); SPI.begin ();

pinMode (oldingi tugma, INPUT_PULLUP);

pinMode (nextButton, INPUT_PULLUP);

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

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

Loop funktsiyasida, birinchi navbatda, foydalanuvchi biz olgan ma'lumotdan boshqa radiostantsiyani tanlaganligini tekshiramiz. Agar shunday bo'lsa, biz yangi radiostansiyaga ulanamiz, aks holda biz oqimdan ma'lumotlarni olamiz va ularni MP3 dekoder moduliga yuboramiz.

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

Hammasi shu! Foydalanuvchi tugmachani bosganda, uzilish sodir bo'ladi va qaysi oqimga ulanish kerakligini aytadigan o'zgaruvchining qiymatini o'zgartiradi.

bekor IRAM_ATTR oldingiButtonInterrupt () {

statik belgisiz uzoq last_interrupt_time = 0;

imzosiz uzoq interrupt_time = millis (); if (interrupt_time-last_interrupt_time> 200) {if (radioStation> 0) radioStation--; else radioStation = 3; } last_interrupt_time = interrupt_time; }

Displeyni yangilash uchun biz ketma -ket portga ba'zi buyruqlarni yuboramiz.

void drawRadioStationName (int id) {String buyrug'i; switch (id) {0 holat: buyruq = "p1.pic = 2"; Serial.print (buyruq); endNextionCommand (); tanaffus; // 1940 yil Buyuk Britaniya radiosi 1 -holat: buyruq = "p1.pic = 3"; Serial.print (buyruq); endNextionCommand (); tanaffus; // KOSMOS GREEK 2 -holat: buyruq = "p1.pic = 4"; Serial.print (buyruq); endNextionCommand (); tanaffus; // REAL FM GREEK 3 -holat: buyruq = "p1.pic = 5"; Serial.print (buyruq); endNextionCommand (); tanaffus; // SKAI 100.3 yunoncha}}

Keling, Nextion Display GUI -ni ko'rib chiqaylik. Nextion GUI fon rasmi va radiostansiya nomini aks ettiruvchi rasmdan iborat. ESP32 taxtasi o'rnatilgan tasvirlardan radiostansiya nomini o'zgartirish buyruqlarini yuboradi. Bu juda oson. Iltimos, qo'shimcha ma'lumot olish uchun men bir muncha oldin tayyorlagan Nextion displey qo'llanmasini ko'ring. Agar xohlasangiz, o'zingizning GUI -ni tezda loyihalashingiz va undagi boshqa narsalarni ko'rsatishingiz mumkin.

Har doimgidek, ushbu qo'llanmada biriktirilgan loyiha kodini topishingiz mumkin.

7 -qadam: Yakuniy fikrlar va yaxshilanishlar

Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar

Bu loyiha juda oddiy. Men oddiy Internet -radio loyihasi skeleti bilan ishlashni xohlardim. Loyihaning birinchi versiyasi tayyor bo'lganda, biz uni yaxshilash uchun unga ko'plab funktsiyalarni qo'shishimiz mumkin. Birinchidan, men barcha elektronikalarni joylashtirish uchun korpusni loyihalashim kerak.

Eng chiroyli radiolar haqidagi kitobda, bu loyiha uchun korpus sifatida tanlash uchun juda zo'r radiolar bor. O'ylaymanki, men bu ajoyib Art Deco radiosining atrofini quraman. Nima deb o'ylaysiz, sizga bu radio ko'rinishi yoqadimi yoki sizga zamonaviyroq narsa yoqadimi? Sizda boshqa mahkamlash g'oyalari bormi? Bundan tashqari, sizga ushbu Internet -radio loyihasi yoqadimi va uni foydali bo'lishi uchun unga qanday xususiyatlarni qo'shishimiz kerak deb o'ylaysiz? Men sizning fikrlaringiz va g'oyalaringizni o'qishni xohlayman, shuning uchun ularni quyidagi izohlar bo'limiga joylashtiring.

Tavsiya: