Агуулгын хүснэгт:

Ахлах радио - Raspberry Pi: 8 алхам
Ахлах радио - Raspberry Pi: 8 алхам

Видео: Ахлах радио - Raspberry Pi: 8 алхам

Видео: Ахлах радио - Raspberry Pi: 8 алхам
Видео: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Долдугаар сарын
Anonim
Ахмад радио - Raspberry Pi
Ахмад радио - Raspberry Pi

Ахмад радио төсөл нь техник хангамж, програм хангамжийн бүрэлдэхүүн хэсгүүдтэй нээлттэй эх сурвалжтай интернэт радио төхөөрөмж юм. Энэ нь залгах дууны хэмжээ болон сонгосон радио станцыг хянадаг халаасны радиог хянах чадвартай хэрэглэгчдэд зориулагдсан болно. Энэхүү төсөл нь стандарт гар радиогоор ижил хэмжээтэй, хяналттай байхыг хүсч буй хэрэглэгчдэд чиглэсэн, хэрэглэгч төвтэй загвараар хийгдсэн болно.

Энэ нь хөгжлийн бэрхшээлтэй иргэдэд ихэвчлэн интернет хөтөчөөр дамжуулан байдаг олон мянган интернет цацалтын контентийг сонсох боломжийг олгох хэрэгцээг хангах зорилгоор бүтээгдсэн болно. Олон хүмүүс ийм төхөөрөмжийг хялбархан ашиглах чадваргүй байдаг тул энэхүү загвар нь орчин үеийн технологийн танил интерфэйсийг бий болгох зорилготой юм.

Үндсэн функц нь Github дээр байдаг,iorRadio.py нэртэй python 3.7.3 програмд хадгалагддаг. Энэ нь радионы төлөв байдлыг хадгалахын тулд json файлыг уншиж, бичдэг тул та үүнийг унтраахад тухайн үеийн дууны түвшин болон сонгосон станцыг санах болно. Нэмж дурдахад, энэ нь таны өөрчилж болох онлайн байршуулсан json файлыг уншдаг! Энэ нь хэрэв та үүнийг өөр хүнд өгч байгаа бол радио станцуудыг алсаас шинэчлэх боломжийг олгодог.

Энэ нь одоогоор bluetooth чанга яригчтай холбогдохын тулд бүтээгдсэн боловч самбар дээрх чанга яригчийг хялбархан тоглуулах боломжтой юм.

Энэ төхөөрөмжийг бүтээгч нь хэрэглэгч биш байж магадгүй тул электроник, програмчлалын анхан шатны мэдлэгтэй байх шаардлагатай. Линуксийн туршлага бас маш их хэрэгтэй байдаг.

Хэрэглэгчийн хувьд үйл ажиллагаа нь энгийн:

Асаах үед энэ нь үндсэн аудио төхөөрөмж дээр сонгосон сүүлчийн станцыг тоглуулах болно. Зүүн залгах станцыг хянадаг бөгөөд хэдхэн товшилтоор шинэ URL болж өөрчлөгддөг. Энэ нь сүүлчийн эсвэл эхний оруулгын дараа эргэх болно. Зөв залгах нь аудио түвшинг хянадаг. LED нь програм асаалттай байгааг илтгэнэ. Мөн товчлуур нь радиог түр зогсоох эсвэл "унтраах" болно. Нэгэнт асаасны дараа хэрэглэгч үүнийг зогсоохын тулд тоглуулах, тоглуулах эсвэл "унтраах/асаах" товчлуурыг дарж, радио болон хоёр залгах боломжтой болно.

Хангамж

Зүйл тус бүр дээр миний ашигласан тодорхой холбоос бий. Нийт 60 гаруй долларын үнэтэй, их хэмжээний хангамж үлдсэн!

Цахим болон линуксийн үндсэн мэдлэг - угсрах, дибаг хийх зориулалттай

Raspberry Pi Zero W (Zero WH нь толгойг урьдчилан гагнасан бөгөөд ашигтай байх магадлалтай)

MicroSD карт-8 GB+ ба чадвар o

MicroUSB 5V цахилгаан адаптер - Холбоос нь microHDMI адаптер болон microUSB OTG -ийг USB А адаптертай бөгөөд хэрэв танд хэрэгтэй бол тохируулах боломжтой.

Bluetooth чанга яригч

M/F ба M/M холбогч кабель

2 Ротари кодлогч - дээрхтэй ижил холбоос

Жижиг талхны самбар

Дарах товчлуур

LED (заавал биш) - дээрх LED + товчлуурыг худалдаж авсан

Сав баглаа боодлын хайрцаг

Алхам 1: Raspberry Pi W -ийг тохируулах (толгойгүй)

Тохируулах (толгойгүй) Raspberry Pi W
Тохируулах (толгойгүй) Raspberry Pi W

Бид програм хангамжийг ажиллуулах бөөрөлзгөнө pi дээр үйлдлийн системийг тохируулах хэрэгтэй. Эдгээрийн аль нь ч зөвхөн энэ төсөлд зориулагдаагүй юм. Дебаг хийх зорилгоор үүнийг тохируулахыг зөвлөж байна, ингэснээр та үүнийг толгойгүй горимд хандах боломжтой болно. Энэ нь та WiFi сүлжээгээрээ GUI эсвэл SSH терминалаар дамжуулан нэвтрэх боломжтой бөгөөд үүнийг байнга ашиглахын тулд гар, хулгана, дэлгэц шаардлагагүй болно. Хэрэв та илүү технологийн мэдлэгтэй бол үүнийг монитор/хулгана/гартай холбох шаардлагагүй болно. Зарим жишээ заавар энд байна. Гэсэн хэдий ч энэ нь арай урагшлахгүй бөгөөд үүнийг тохируулах өөр нэг аргыг доор харуулав.

Эхний удаа танд хэрэгтэй болно:

  • Raspberry Pi W
  • MicroSD -ээс SD карт адаптер [OS карт дээр OS бичих]
  • MicroSD карт (~ 8 GB+) [OS болон манай програмыг хадгалах]
  • MicroUSB хүч (5V)
  • MicroUSB -аас USB A хүртэл [хулгана/гарны хувьд]
  • Mini HDMI -ээс HDMI адаптер [дэлгэцийн гаралтын хувьд]
  • Гар
  • Хулгана
  • Хяналт

Нэгдүгээрт, та үйлдлийн системийг rPi micro SD карт дээр асаах хэрэгтэй.

Би raspian buster ашигласан, та үүнийг SD карт унших/бичигч бүхий компьютер дээр татаж аваад raspian OS -ийг SD карт дээр асаагаарай. BalenaEtcher бол үүнийг хийхэд хялбар програм юм

Дараа нь SD картыг pi үүрэнд оруулаад дэлгэц, гар, тэжээлээ холбоно уу. Таныг WiFi сүлжээнд холбох, Bluetooth чанга яригчийг GUI -ээр хослуулах зэрэг орос хэлээр танд тохируулах алхамуудыг үргэлжлүүлээрэй. Дараах тушаалуудыг ашиглан үүнийг шинэчлэх нь сайн туршлага болно

sudo apt-get update

sudo apt-get шинэчлэлт

Хэрэв та өөрийн толгойг толгойгүй гэж тэмдэглэхийг хүсч байвал бид эхлээд pi -ийн IP хаягийг авах хэрэгтэй болно. Терминалаар дамжуулан үүнийг олж болно

ifconfig

тушаал. Дараа нь та интерфэйсийн сонголтуудад SSH болон VNC -ийг идэвхжүүлэх хэрэгтэй

sudo raspi-config

Дахин эхлүүлсний дараа та SSH эсвэл VNC -ээр дамжуулан pi -д нэвтрэхийг туршиж үзэх боломжтой. SSH бол зүгээр л терминал интерфэйс бөгөөд bluetooth чанга яригчийг хослуулахын тулд GUI -ийг ашиглах нь танд илүү хялбар байх болно. Та сүлжээндээ тусдаа компьютер дээр өөрийн pi руу хялбархан нэвтрэхийн тулд VNC connect гэх мэт програмыг ашиглаж болно. Та үүнд SSH to putty програмыг ашиглаж болно.

Цаашилбал, та VNC үүл бүртгэлийг тохируулах боломжтой бөгөөд ингэснээр шаардлагатай бол сүлжээнээс гадуур төхөөрөмж рүү нэвтрэх боломжтой болно

Алхам 2: Ахмад радио програм хангамжийг суулгана уу

Ахлах радио програмыг суулгана уу
Ахлах радио програмыг суулгана уу

Үүнийг бөөрөлзгөнө pi -ийн терминал цонхноос хийж болно. Эхлээд git суулгасан эсэхээ шалгаарай

sudo apt-get суулгах git

Та аль үйлдлийн системийг суулгаснаас хамааран эдгээр алхмууд өөр байж магадгүй, учир нь нэмэлт багц суулгах шаардлагатай байж магадгүй. Эхлээд бид github -аас ахмад радио кодыг татаж авах хэрэгтэй. https://github.com/Bunborn/seniorRadio Хамгийн тохиромжтой нь та өөрийн репо хийж байгаа тул та над шиг радио станцуудыг өөрчилж, өөрчлөх боломжтой. Хэрэв тийм бол репо -г салга

Гэсэн хэдий ч, хэрэв та өөрийн радио json файлыг өөр газар байршуулахыг хүсч байвал минийхтэй адил ашиглаж болно

Дараа нь репо байршлыг хүссэн газартаа хуулна уу. Анхдагч лавлах нь зүгээр байна. Ногоон клон эсвэл татаж авах товчлуур дээр дарж github репо хийхийг хүсч буй URL -аа аваарай.

Терминалын цонх руу буцаж очоод, git клон

Та одоо ls -ийг ашиглахдаа seniorRadio нэртэй нэмэлт лавлахыг харах ёстой. Гайхалтай!

Код нь өөрөө өөрийгөө баримтжуулах зорилготой бөгөөд үүнийг сайтар судалж үзэх нь ашигтай байх болно. Ялангуяа дибаг хийх зорилгоор, хэрэв та системийг өөрчилж байгаа бол.

Алхам 3: Нэмэлт програм хангамж суулгах

Нэмэлт програм хангамж суулгах
Нэмэлт програм хангамж суулгах

Бид хэлхээ рүү шилжиж, туршиж үзэхээсээ өмнө VLC болон python api -ийг татаж авах хэрэгтэй. Та аль хэдийн VLC суулгасан байж магадгүй. Эхний хоёр тушаал нь pi -г шинэчлэх бөгөөд доорх сүүлийн хоёр тушаал нь VLC, дараа нь python api -ийг суулгана.

sudo apt-get update

sudo apt-get шинэчлэлт

sudo гэнэт VLC суулгаарай

sudo apt-get vlc-python суулгана уу

Нэмж дурдахад gpiozero суулгаарай, үүнийг бид pi -ийн GPIO тээглүүртэй холбогдоход ашиглах болно. Та үйлдлийн системээсээ хамаарч аль хэдийн суулгасан байж магадгүй юм.

sudo apt-get gpiozero суулгана уу

Алхам 4: Радио станцуудын урсгалыг хайж олох

Радио станцуудын урсгалыг хайж олох
Радио станцуудын урсгалыг хайж олох

Дараа нь хамгийн хөгжилтэй хэсгүүдийн нэг! Хүссэн урсгалаа сонгох цаг болжээ.

Миний internetStations.json файлаас миний дамжуулах холбоосыг харж болно, гол төлөв мэдээ, хөгжим. Гэхдээ тэнд олон тооны агуулгатай контент байдаг. Энд гол зүйл бол шууд дамжуулалтын URL хаягийг олох явдал юм. Жишээлбэл, BBC -ийн мэдээ, хөгжмийн станцуудыг энэ блог дээрээс олж болно. Эдгээр шууд дамжуулалт нь график интерфэйсгүй бөгөөд таны хөтөчийн медиа тоглуулагчаар дамжуулалтыг автоматаар тоглуулах болно. Эдгээр нь бидэнд хэрэгтэй URL -ууд тул VLC тэдгээрийг унших боломжтой болно! Та ямар ч холбоосыг вэб хөтөч дээрээ эсвэл ердийн компьютер дээрээ VLC -ээр хурдан шалгаж, энэ нь pi дээр ажиллах болно.

Эдгээр станцуудыг олохын тулд, хэрэв үйлчилгээ нь үүнийг зохион байгуулж байгаа бол шууд шууд дамжуулалтыг хайх боломжтой. Шууд арга бол дамжуулалтыг тоглуулах, хөтөч дээр хулганы баруун товчийг дараад "элементийг шалгах" дээр дарах явдал юм. Сүлжээний таб руу очоод энэ нь шууд "шууд" URL хаягийг зааж өгөх ёстой. Энэ youtube видео нь үүнийг харуулж байна. Нээлттэй табтай хуудсыг шинэчлэх нь туслах болно.

Станцтай болсны дараа та тэдгээрийг онлайнаар байршуулахыг хүсч байна, ингэснээр ахмад радиогийн питон програм нь тэдгээрийг авах боломжтой болно. Үүнийг хийх олон сонголт байдаг тул та Github, bitbucket, эсвэл sourceforge гэх мэт сайтуудыг ашиглаж болно. Энэ жагсаалтыг онлайнаар байршуулах гол зорилго нь үүнийг тохируулж буй хэрэглэгч дамжуулах жагсаалтыг алсаас онлайнаар өөрчлөх боломжтой юм.

Питон програмын эхэнд url гэж нэрлэгддэг хувьсагч байдаг бөгөөд үүнийг станцын URL холбоос бүхий json файлынхаа URL болгож өөрчилнө үү

Та миний internetStation.json файлтай ижил форматыг дагаж болно. Хэрэв та github -ийг бас ашиглахыг хүсч байвал минийiorRadio репозиторыг салгаад, өөрийн internetStation.json файлыг засаад тэр "түүхий" URL руу зааж өгч болно. Та үүнийг файл дээр дарсны дараа Github GUI дээрээс олж болно.

Алхам 5: Хэлхээ үүсгэх

Хэлхээ үүсгэх
Хэлхээ үүсгэх

Одоо бид хэлхээг тохируулах хэрэгтэй. Энэ нь таны тоног төхөөрөмж дээр үндэслэн өөрчлөгдөх болно, гэхдээ миний уурхайг хэрхэн яаж тохируулахыг доор харуулав.

pinout.xyz/ нь аль тээглүүр болохыг лавлах болно. Бид gpiozero номын санг ашиглаж байгаа тул зөвхөн BCM зүү дугаарлах талаар санаа зовж байна. Бүгд ижил нарийвчлалтай байдаггүй тул би туршихын тулд хэд хэдэн нэмэлт KY040 эргэдэг кодлогч худалдаж авсан болохыг анхаарна уу. Хүн бүр "үсрэх" эсвэл зүгээр л буруу гаралттай байх тул би өөрт байгаа хоёроос хамгийн сайныг нь сонгосон. Код дээр энэ үсрэлтийг хязгаарлах зарим алхамууд байгааг та анзаарах болно.

Би товчлуураа BCM зүү 17 -т холбож, газардуулав

Миний LED 1 к ом эсэргүүцэлтэй, дараа нь BCM зүү 27 ба газардуулгатай

Миний KY040 эргэдэг кодлогч нь + 5В хүртэл, GND -ийг газардуулж, SW -ийг салгасан. Эдгээр нь мини талхны самбар дээр холбогдсон байв

BCM зүү 21 -т холбогдсон станцын эргэлтэт кодлогч dt зүү

BCM зүү 20 -т холбогдсон станцын эргэлтэт кодлогч clk pin

Аудио түвшний эргэлдэгч кодлогч dt зүү нь BCM зүү 19 -т холбогдсон

BCM зүү 16 -тай холбогдсон аудио түвшний эргэлдэгч кодлогч clk pin

Хэрэв та эдгээр тээглүүрийг өөрчилвөл python програмын дугаарыг мөн зохицуулагчийг тохируулах газраа шинэчилнэ үү

Үүнийг хөнгөвчлөхийн тулд би мини талхны хавтан ашигласан. Би интерфэйсийг хөнгөвчлөхийн тулд M/M ба M/F холбогч утсыг ашигласан. Би өмнө нь худалдаж авсан товчлуур/LED -ийн зүү дээр хэдэн холбогч утас залгасан. Гагнахгүй байхын тулд та аль хэдийн холбогчтой утаснуудтай эсвэл амархан холбогдож болох товчлуурууд болон LED авч болно.

Алхам 6: Үүнийг туршиж үзээрэй

Одоо та ажиллах системтэй байх ёстой! Үүнийг туршиж үзье. Python програмтай хавтас руу очно уу:

cd ахлах радио

python3 ахлахRadio.py

Одоогийн байдлаар програмын эхэнд bluetooth чанга яригчийг олох цаг өгөх 45 секундын саатал байна. Туршилтын явцад танд шаардлагагүй бол энэ мөрийг тайлбарлаж болно. Хөтөлбөр нь танд нэмэлт багц суулгах шаардлагатай гэж хэлж магадгүй, хэрэв тийм бол үргэлжлүүлээрэй. Python -ийн шинэ хувилбарыг суулгах шаардлагатай байж магадгүй юм.

sudo apt-get python3.7 суулгана уу

Хөтөлбөр ажиллаж байсан ч гэсэн гарч болзошгүй зарим асуудлууд:

Би ямар ч дуу сонсдоггүй

Таны бөөрөлзгөнө pi дээр чанга яригчийг асааж, сонгосон эсэхийг шалгаарай. GUI -ээр дамжуулан та үүнийг хослуулж, дараа нь аудио гаралтын төхөөрөмж болгон сонгох боломжтой байх ёстой. Цаашилбал, аудио драйверуудаа шалгаарай. Нийтлэг асуудал бол та pulseaudio багцыг дахин суулгах шаардлагатай болж магадгүй юм

Аудио тасалдсан эсвэл тасарч байна

Төхөөрөмжийг WiFi чиглүүлэгч рүү ойртуулж үзээрэй. Үүнээс гадна, Bluetooth чанга яригч ойрхон байгаа эсэхийг шалгаарай. Аудио драйверын асуудал бас байж магадгүй

Алхам 7: Байнгын хашлагад оруулна уу

Байнгын хашаа руу оруул
Байнгын хашаа руу оруул

Дараа нь үүнийг үүрд амьдрахын тулд хайрцаг эсвэл түүнтэй төстэй төхөөрөмжид хий. Дебаг хийх зорилгоор дараа нь хандах боломжтой нэгийг авахыг зөвлөж байна. Би энэ жижиг модон хайрцгийг гар урлалын дэлгүүрээс 2 доллараар худалдаж аваад хангамжийн хуудсан дээр холбосон. Миний нэг найз тамхины хайрцаг санал болгов.

Дараа нь би товчлуур ба эргүүлэх унтраалгын урд талын нүхийг хайчилж, хайрцагны арын хэсэгт microUSB тэжээлийн утсыг нүхлэв.

Би бэхэлгээг туршиж үзээд ажилласан эсэхийг шалгасан.

Эцэст нь хэлэхэд товчлуурыг дарахын тулд супер цавуу ашигласан. Миний талхны хавтангийн доод хэсэгт цавуу байсан бөгөөд би хайрцагныхаа хэсгийг холбосон. Би жижиг туузны тууз ашиглан пи -ийн ар талыг хайрцагт бэхэлсэн тул шаардлагатай бол дараа нь зөөж болно.

Алхам 8: Эхлэх үед програмыг тохируулах

Эцэст нь та энэ питон програмыг бөөрөлзгөнө pi -ийг эхлүүлэх үед ажиллуулахыг хүсч магадгүй тул үүнийг гараар хийх шаардлагагүй болно. Үүнийг хийх олон арга байдаг бөгөөд үүнийг интернетээс олж болно.

Би хувьдаа энэхүү SparkFun хичээл дээр хоёр дахь аргыг ашиглан тохируулсан:

Энд програмыг ажиллуулахаас өмнө системийг график ширээний компьютерт оруулахыг хүлээж байна. Дараа нь үүнийг python програм 45 секундын турш хойшлуулж, системд bluetooth чанга яригчтай дахин холбогдох боломжийг олгодог. Хэрэв та нэгдсэн чанга яригч ашиглаж байгаа бол энэ саатлыг арилгах боломжтой. Bluetooth чанга яригч эхлээд асаалттай байх ёстой гэдгийг анхаарна уу! (bluetooth шийдлийн хувьд)

Одоо та пи-ээ унтрааж, дахин асаахыг оролдож болно! Ойролцоогоор 90 секундын дараа таны пи радио дамжуулалтыг дахин тоглуулж эхлэх ёстой. Товчлуурыг дарахад энэ нь түр зогсоох/тоглох болно. Эдгээр дахин ачаалах үед InternetStations json файлыг дахин уншдаг болохыг анхаарна уу, хэрэв та станцуудаа өөрчилвөл төхөөрөмжийг ажиллуулахын тулд дахин эхлүүлэх шаардлагатай болно. Баяр хүргэе!

Хэрэв та үүнийг хийсэн эсвэл төсөлд өөрчлөлт оруулсан бол надад мэдэгдээрэй!

Github хуудас:

Зөвлөмж болгож буй: