
Kushtet e bazës:
- Ekziston një pllakë Raspberry Pi e brezit të parë që nuk përdoret;
- Pllaka po qĂ«ndron nĂ« rafte si njĂ« ngarkesĂ« e vdekur dhe nuk pĂ«rdoret â pllaka "Bllok";
ĂfarĂ« do doja tĂ« arrija:
- Në një moment të caktuar (p.sh. sipas humorit)
pllaka të mos jetë më "Bllok", dhe të futet një kartë memorjeje magjike; - Një kabllo Ethernet lidhet me pllakën dhe një prizë nga një altoparlant normal ose kufje;
- Pas furnizimit me energji, dikur "Blloku" â kĂ«ndon
Ideja kryesore:
- Minimumi i lëvizjeve për çdo lloj konfiguroi, në rastin më ideal, lidhim vetëm kabllon "Ethernet", energjinë dhe altoparlantët, dhe nuk bëjmë asgjë tjetër, nga fjala "krejtësisht";
- Dikur "Blloku" nga kutia mbështet p.sh. 20 stacione radioje, ndërrimi i të cilave në cikël mund të vendoset me një klik të rrotës së miceve ose në një pin të caktuar GPIO (lidhen dy telash dhe i bashkohen (ëndrra ime nga fëmijëria));
- Kontrolli realizohet përmes një kanali radio dhe ky kanal mund të jetë një mi i zakonshëm radio;
- Merrni një sistem të gatshëm, ndërtimin e ndihmës në "Yocto Project"
pra, si zakonisht, ne nuk do të bëjmë asgjë, pasi gjithçka është bërë.
(mjafton vetëm të vendosni një vëzhgues tjetër nga ana tjetër "Televizorit");
Përshkrimi
Altoparlanti më i thjeshtë Internet Radio "KODI"
Ndërtimi është i destinuar për pllakë Raspberry Pi 1 të vjetra
(duke qëndruar diku në rafte, por që janë akoma të gatshme për të punuar)
ĂshtĂ« pĂ«rdorur si parazgjedhje njĂ« listĂ« m3u8 e 12 stacioneve interneti.
Supozoheni se pllaka punon pa dalje HDMI, dhe për ta çaktivizuar, mjafton të hiqni përsëri adaptorin e energjisë nga prizë. Dhe si një kontrollues ultramodern pa tel, mund të përdorni miun tuaj super radio (ose të lidhni një të zakonshëm me tel).
Kur ndizet, interfaci rrjetit parazgjedhje konfigurohet përmes protokollit DHCP dhe luan stacionin e fundit të ruajtur nga lista, kontrolli i volumit të luajtur realizohet me një mouse të zakonshëm:
(emëroni përfundimisht miun tuaj "shef të kontrollit", dhe e përgëzoj, e meritoi)
rrota përpara - rritjen e volumit
rrota prapa - zvogëlimin e volumit
mbajtje e gjatë (3 sekonda e më shumë) në butonin e djathtë të miut
- zgjedhja e stacionit të ardhshëm
mbajtje e gjatë (3 sekonda e më shumë) në butonin e majtë të miut
- zgjedhja e stacionit të mëparshëm
Për të shtuar listën tuaj të vetme të stacioneve interneti
mund të lidheni gjithmonë me kabllon HDMI nga televizori
dhe të përdorni ndërfaqen grafike standarde Kodi 17.6
(çaktivizoni pllakën, lidhni HDMI dhe ndizni përsëri adaptorin e energjisë)Menyja kryesore Kodi => "Shtesa" => "Shtesat e mia"
          => "Klijentët PVR" => "PVR IPTV Simple Client"
Implementimi fillestar
(i mundshëm)
Fillimisht, kur vendosa të bëja "Altoparlantin Internet Radio", planifikoja si në vijim:
- Një ndihmë minimalistike konsolike në Yocto Project;
- Rrjedha audio luhet përmes GStreamer;
- Interfaci rrjetit konfigurohet përmes DHCP;
Dhe ky zgjidhje ka disa përfitime:
- Mjaft e shpejtë (kalimi në modalitetin e punës nga furnizimi energjetik 30-40 sekonda);
- Mjaft e besueshme (më pak programe, më pak pika dështimi);
- Ndihma konsolike është shumë më e lehtë për t'u transferuar në një modalitet vetëm për lexim
pra, programet nuk shkruajnë asgjë në sistemin e skedarëve rrënjësor
(sistemi i skedarëve në mediumin SDHC për mua është kandidati më i parë për dështim);
Shënim:
Në Yocto, kalimi i sistemit të skedarëve rrënjësor (rootfs)
në modalitetin vetëm për lexim mund të bëhet mjaft lehtë,
duke ndryshuar një parametër gjatë ndërtimit
Nga kutia Yocto ofron dy variante:
1) Funksionimi i sistemit të skedarëve në modalitetet normale të leximit/shkrimit
(kështu funksionojnë të gjitha ndihmat e zakonshme, p.sh. Ubuntu)
2) Funksionimi i sistemit të skedarëve në modalitetin vetëm për lexim
(kështu funksionojnë ndihmat e specializuara, p.sh. në ruterët)
Në modalitetin vetëm për lexim, të gjitha kataloget ku zakonisht
regjistrohen të dhënat e aplikacioneve dhe shërbimeve gjatë funksionimit montohen
në memorien e përkohshme (p.sh. katalogu /var/log dhe të ngjashme)
Të dhënat janë të vlefshme vetëm për seancën aktuale të punës dhe pas resetit të energjisë
të dhënat humbasin.
Nëse në Yocto Project u përcaktoni gjatë ndërtimit të përdorni "read only",
atëherë pas ndërtimit, ndihma juaj do të kursehet vetëm për lexim,
por gjithmonë mund të shtoni mundësinë e kalimit dinamik
nga "read only" në "read/write", por kjo është një histori krejtësisht tjetër ...
Dhe një mangësi kryesore:
"Duhet ta bëj" pra, duhet të kaloj N numër mbrëmjesh
(zakonisht pas pune, dhe ky është koha më e paefektshme, në këtë moment truri, nuk mendon më, ai zakonisht fle)
Dhe gjithashtu, artikullin tim të mëparshëm në Habrë e kam shkruar për qendrën multimediatike project
dhe mundësia për të vazhduar në të njëjtin drejtim, e kaloi dëshirën time kërkimore. Rreth kësaj në kapitullin e ardhshëm.
Shndërrimi i Kodi-t në një kolonë radio interneti
Për të shtuar funksionalitetin e nevojshëm, do të shtoj një metodë tjetër në recetën e ndërtimit të distribucionit të përshkruar në të mëparshmen shih skedarin berserk-image.bb
GUI_SETTINGS = "home/root/.kodi/userdata/guisettings.xml"
# konfigurimi i nisjes së kanalit TV të fundit të zgjedhur (1-prapa 2-parë)
F1_LINE = "0"
R1_LINE = "1"
# konfigurimi i daljes së zërit, gjithmonë është e lidhur vetëm me daljen analoge të zërit
F2_LINE = "PI:HDMI"
R2_LINE = "PI:Analogue"
# pasi HDMI nuk përdoret si parazgjedhje, e çaktivizoj përditësimin e automatizuar
# sepse mund të ndodhë që energjia të jetë larguar, por të dhënat të mbeten të pa shkruara
F3_LINE = "0"
R3_LINE = "2"
# metoda përgjigjet për të shtuar konfigurimin:
# i cili shndërron "Television të mençur" në "një kolonë thjesht interneti"
add_radio_guisettings() {
sed -i "s|${F1_LINE}|${R1_LINE}|" ${IMAGE_ROOTFS}/${GUI_SETTINGS}
sed -i "s|${F2_LINE}|${R2_LINE}|" ${IMAGE_ROOTFS}/${GUI_SETTINGS}
sed -i "s|${F3_LINE}|${R3_LINE}|" ${IMAGE_ROOTFS}/${GUI_SETTINGS}
}
FIND_STR = "touch ./tmp/.FIRST_RUN."
SCRIPT_FIRST_RUN = "etc/init.d/first-run.sh"
# pasi dalja HDMI mund të mos përdoret,
# atëherë është e nevojshme të çaktivizohet "përshëndetja e fillimit"
off_kodi_welcome() {
sed -i "s|${FIND_STR}|#&|" ${IMAGE_ROOTFS}/${SCRIPT_FIRST_RUN}
}
Metodat janë të destinuara për të modifikuar sistemin e skedarëve rrënjësor para formimit të imazhit të distibutivit në formën e një skedari raw, i cili shkruhet në kartën e memories me komandën dd
Kjo bëhet kështu:
ROOTFS_POSTPROCESS_COMMAND += «add_radio_guisettings; off_kodi_welcome;»
Nëse e përmbledhim shkurt, në skedarin kryesor të konfigurimit Kodi 17.6, ndalen "tri pika"
- Konfigurimi i nisjes së kanalit TV të fundit të zgjedhur;
- Konfigurimi i daljes së zërit, gjithmonë është e lidhur vetëm me daljen analoge të zërit;
- Ăaktivizimi i pĂ«rditĂ«simit automatizuar;
- Shënim:
E vetmja gjë me të cilën kam pasur vështirësi, është se më duhej të solla skedarin e bazës së të dhënave në formatin sqlite => TV29.db, në të cilin tregohet kanali aktual i luajtur (pasi si parazgjedhje asnjë kanal nuk është zgjedhur), dhe me konfigurim xml në Kodi kjo nuk realizohet.
rrjedha më e detajuar e veprimeve për secilën pikë:
1) Klikoni në ikonën "ingranazh" në qoshen e sipërme të majtë të ekranit
dhe zgjidhni opsionin "Konfigurimet PVR dhe TV" (imazhi i televizorit me dy antena)
pastaj në anën e majtë të menusë, zgjidhni opsionin "Riprodhim", dhe në seksionin qendror "Të përgjithshme"
specifikoni në listën e rënies "Vazhdo nga kanali i fundit kur niset"
duke zgjedhur konfigurimin "Përparësia"
apo më në mënyrë ilustrative:
"Konfigurimet PVR dhe TV"
=> "Riprodhim"
=> "Vazhdo nga kanali i fundit kur niset" => "Përparësi"
2) Klikoni në ikonën "ingranazh" në qoshen e sipërme të majtë të ekranit dhe zgjidhni opsionin:
"Konfigurimet e sistemit"
=> "Shtesa" => "Përditësimet" => "Kurrë nuk kontrolloni për përditësime"
3) Klikoni në ikonën "ingranazh" në qoshen e sipërme të majtë të ekranit dhe zgjidhni opsionin:
"Konfigurimet e sistemit"
=> "Audio" => "Dispozita e daljes" => "PI: Analogue"
Si e shikoja televizorin për dy vjet në mënyrë të gabuar.
Duhet të pranoj se për dy vjet, nuk kam mësuar si ta shikoj televizorin në mënyrë të duhur.
Zakonisht e shikoj televizorin në kuzhinë. Televizori është i lidhur me një kartë Raspberry Pi 2B, dhe karta ka porta Ethernet dhe HDMI. Energjia e kartës jepet përmes një kablli USB të zakonshëm, i cili është i lidhur në portin USB të televizorit pra, me të vërtetë, nxitja e televizorit me sistemin e zakonshëm të telekomandës, i jep energji edhe kartës Raspberry Pi, dhe ndalja e televizorit me telekomandë, gjithashtu menjëherë ndalon energjinë dhe nga karta Raspberry Pi.
Po, unë e kuptoj plotësisht se nuk është e nevojshme të bëhet kështu, sepse sistemi i skedarëve rrënjësor të qendrës multimediatike Kodi (ext3), funksionon në modalitetin e zakonshëm të leximit/shkrimit. Por unë jam një njeri i lenë, dhe për fillim, kam vendosur të shoh sa gjatë mund ta ndal sistemin në këtë mënyrë, deri sa të ndalojë krejtësisht ngarkimin, por fatkeqësisht, pas dy vjetësh, nuk më ka arritur të përballoj këtë (ndoshta thjesht kam pasur fat, nuk e di).
Dhe sipas mendimit tim, nëse kjo mënyrë funksionon për televizorin tim, atëherë do të funksionojë edhe për "një kolonë thjesht interneti", dhe pasi kam çaktivizuar përditësimin automatizuar të shtesave Kodi, probabiliteti për dështimin e sistemit të skedarëve do të bëhet edhe më i vogël. Deri tani, nuk shoh probleme me këtë.
Shënim:
Por megjithatë, gjithmonë mund të përdorni një komandë yocto për të
IMAGE_FEATURES += "read-only-rootfs"
dhe një magji të caktuar për të kaluar distribucionin tuaj në modalitetin "read-only".
Distribucioni i "radiove interneti", i përshkruar në këtë artikull, është një produkt për konsum, dhe gjëja kryesore për një produkt të tillë është një GUI të bukur. Sipas mendimit tim, është shumë e vështirë ose thuajse e pamundur të mësohet një përdorues i zakonshëm për të shkruar çfarëdo komandash magjike të paqarta në konzol, madje nuk e di se çfarë është ajo. Por, GUI është shumë e lehtë për t'u përdorur.
Dhe ky është argumenti im kryesor për një distribucion jo-konzole. Ndërfaqja grafike e ngrohtë e përdoruesit Kodi, ndonëse nuk është e domosdoshme, është aty.
(Po ashtu, harrova të përmend se Kodi mund të kontrollohet nga distanca, për shembull, me smartphone duke instaluar aplikacionin "Yatse", dhe ndoshta për disa do të jetë një plus.)
Konfigurimi i Kodi për kontrollin me miun
dhe tani Raketa
VolumeUp
VolumeDown
ChannelDown
ChannelDown
ChannelUp
Konfigurimi është përgjegjës për rishikimin e ngjarjeve globale për elementët e mëposhtëm:
- rrotullimi i rrotës së miut përpara
- rrotullimi i rrotës së miut prapa
- klikuar në butonin e mesëm të miut
- përpunimi i shtypjes së gjatë të miut (3 sekonda ose më shumë),
0 identifikuesi për butonin e djathtë, 1 identifikuesi për butonin e majtë
informacioni më i detajuar mbi konfigurimin e ngjarjeve të miut:
ĂfarĂ« tĂ« bĂ«ni nĂ«se sistemi kabllor nuk erdhi te ju
"Por unë nuk kam Porte Ethernet të lira në shtëpi (ose kurrë nuk kam pasur)" - mund të shpallë një pjesë e pronarëve të lumtur të pllakave të vjetra Raspberry Pi 1 (ndoshta plaka është blerë për kërkime dhe ka mbetur e papërdorur në një raft).
Dhe pasi plaka nuk ka WiFi të integruar, pa lidhje Ethernet, nuk është shumë funksionale.
Sigurisht, mundësia e përdorimit të pllakës Raspberry Pi 1 pa Ethernet ekziston, por do të kërkojë përpjekje nga ana juaj. Normalisht, këto gjëra janë interesante për të realizuar veçse në kuadër të studimit të diçkaje të re, domethënë nuk është punë për përdoruesit e zakonshëm.
Pra, le të shqyrtojmë një variant hipoteze të përdorimit të pllakës pa Ethernet:
Mund të lidhni një adaptues USB - WiFi të jashtëm, duke u bazuar në supozimin
se adaptuesi duhet të punojë mirë nën Linux.
Shënim:
Për fat të keq, disa adaptues WiFi nuk do të funksionojnë,
kjo nuk është karakteristika e distribucionit të paraqitur në këtë artikull,
por më tepër një problem i veçantë me driverat e adaptuesve WiFi në bërthamën Linux.
Mund të konstatohet se në këtë moment nuk mund të thjesht
shkoni në një dyqan dhe të blini çdo adaptues WiFi. Më mirë do të duhet të zgjidhni një adaptues WiFi
nga një listë e adaptuesve më pak problematikë dhe që funksionojnë mirë nën Linux.
Kam testuar vetëm modelet e mëposhtme:
- Adaptues WiFi me chipset Atheros D-Link DWA-126 802.11n (AR9271)
- Adaptues WiFi NetGear WNDA3200
- Adaptues WiFi NetGear WNA1100
- Adaptues WiFi TP-Link TL-WN722N (AR9271)
- Adaptues WiFi TL-WN322G v3
- Adaptues WiFi TL-WN422G
- Adaptues WiFi Asus USB-N53 chipset Ralink RT3572.
Nëse tashmë keni një adaptues usb WiFi, mund ta kontrolloni nëse punon mirë nën Linux në këtë mënyrë:
- Instaloni një distro të zakonshëm Linux
për përdorim të përgjithshëm, siç është "Ubuntu Desktop". - Ngarko sistemin
- Lidhni adaptuesin tuaj WiFi usb
- Ăelni menaxherin e rrjetit dhe provoni tĂ« lidheni me pikĂ«n tuaj tĂ« qasjes WiFi.
- Nëse gjithçka punon mirë dhe lidhja juaj e internetit është e qëndrueshme, atëherë adaptuesi juaj mbështetet mirë dhe mund të vazhdoni këtë punë për lidhjen e këtij adaptuesi në distribucionin e specializuar dhe ndoshta me versione të tjera të bërthamës.
(nëse jo, atëherë jo, për fat të keq - është më mirë të mos përpiqeni.)
Mbështetje për adaptuesin e jashtëm WiFi në "Raspberry PI"
Për funksionimin e saktë të adaptuesit WiFi në Linux: na duhen dy gjëra:
1) Mbështetje nga bërthama Linux për një adaptues të caktuar WiFi.
2) Prania e një moduli bërthame në sistem për një adaptues të caktuar WiFi.
Marrim për shembull adaptuesin TP-Link TL-WN722N. Ai ka një antenë të shkëlqyer.
Gjejmë chipset-in mbi të cilin plaka punon - për mua është "AR9271", shënim:
çka është interesante, është se për të njëjtin model
të njëjtit prodhues, chipset-i WiFi mund të ndryshojë.
Unë për shembull kam hasur në atë që për TL-WN722N versioni 2,
përdoret tashmë një chipset tjetër Realtek RTL8188, dhe ai ka punuar keq nën Linux (në atë moment), për fat të keq, kështu që ndonjëherë duhet të vëzhgoni edhe numrat e vegjël
të versionit në pjesën e pasme (të errët) të adaptuesit.
Tani do gjeni emrin e parametrave në konfigurimin e bërthamës që i përmbahet drejtuesit të çipit AR9271, më së miri është të kërkoni kombinimin e fjalëve «AR9271 cateee.net»
     ku «cateee.net» është një sit fantastik që përshkruan konfigurimet e moduleve të bërthamës Linux
MenjĂ«herĂ« gjejmĂ« emrin e konfigurimit tĂ« bĂ«rthamĂ«s â CONFIG_ATH9K_HTC
dhe emrin e modulit të bërthamës që na nevojitet ath9k_htc
dhe pastaj mjafton të tregoni emrin e modulit në skedarin e fragmentit të konfigurimit
Bërthama Linux => recipes-kernel/linux/files/rbpi.cfg, shtoni rreshtin:
CONFIG_ATH9K_HTC=m
Kështu që më pas mund të lidheni me çdo pajisje shtesë në sistemin tuaj (nëse, natyrisht, ajo mbështetet në bërthamën Linux)
ĂfarĂ« tĂ« bĂ«ni nĂ«se jeni njĂ« geek i Habra â konstruktor
Dhe krijoni gjëra fantastike, si këto ose jeni student dhe ëndërroni të krijoni diçka të ngjashme.
Mund të blini një ekran me prekje të ndonjë modeli për RPI në aliexpress, atje të porositni një bateri të përshtatshme, ta lidhni këtë me pllakën Raspberry Pi 1, 2 ose 3 (më mirë me 3, pasi ka Wi-Fi të integruar), të zgjidhni një temë për dizajnin grafik në Kodi, të përshtatur për ekranin me prekje dhe ja ku jeni => mund të krijoni një playere audio të thjeshtë. Natyrisht se do të jetë për një hapësirë të madhe, por do të jetë i juaji.
Shënim:
A për të ndërtuar një qendër multimediale Kodi për pllakan më ekonomike
Raspberry Pi Zero Wifi në yocto mjafton të ndryshoni dy rreshta:
skedari i konfigurimit => build/conf/local.conf
MACHINE = 'raspberrypi0-wifi'
receta e ndërtimit Kodi => recipes-mediacentre/kodi/kodi_17.bbappend
EXTRA_OECONF_append = "${@bb.utils.contains('MACHINE',
'raspberrypi0-wifi', '${BS_RPI}', '', d)}"
Nëse përgjigjshmëria e GUI Kodi 17.6 për shkak të një bërthame procesori në Zero ju duket mister, atëherë mund të bëni një truq dhe të ndërtoni një version më të vjetër, por shumë të shpejtë, si Kodi 15.2, ai në këtë aspekt është më "miqësor" (ndonjëherë trashëgimia zgjidh të gjitha)
Fatkeqësisht nuk kam pllakë, kështu që nuk mund ta verifikoj, por sipas ndjenjave të mia, kjo duhet të funksionojë.
Udhëzim i shkurtër për ndërtimin
1) Instaloni varësitë e Yocto Project (p.sh., në Ubuntu):
sudo apt-get install -y --no-install-suggests --no-install-recommends
gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential
chrpath socat cpio python python3 python3-pip python3-pexpect
xz-utils debianutils iputils-ping python3-git python3-jinja2
libegl1-mesa libsdl1.2-dev xterm
2) Shkarkoni dhe instaloni Repo:
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
3) Shkarkoni projektin nga github:
PATH=${PATH}:~/bin
mkdir radio
cd radio
repo init -u https://github.com/berserktv/bs-manifest
-m raspberry/rocko/radio-rpi-0.2.8.xml
repo sync
4) Ndërtoni projektin:
./shell.sh
bitbake berserk-image
mund të ndërtoni gjithashtu të njëjtën gjë për pllakat Raspberry Pi 3B Plus, 3B dhe 2B:
repo init -u https://github.com/berserktv/bs-manifest
-m raspberry/rocko/radio-0.2.8.xml
udhëzim më të detajuar për ndërtimin
dhe shkrimin në kartën microSDHC shiko.
Postskriptum
Sigurisht ideja e kolonës sonore të internetit është tipike, ajo është e njohur për të gjithë dhe në Habra do të gjeni shumë artikuj mbi këtë temë, për shembull
Dhe mund të mendoni se unë thjesht kam modifikuar kërkesat për një zgjidhje të gatshme. Për këtë mund t'ju thëm se jo, me sinqeritet.
Historia e zotit Ervi
Do të besoni, do të mos besoni, por ja si ndodhi:
Zyra jonë kufizohet me një kompani prodhimi ndryshe të pajisjeve
akustike, dhe një herë, drejtori i kësaj kompanie, do ta quajmë zotin "Ervi"
iu afrua nënkryetarit tonë të filiales, zotit "Arsen", dhe i pyeti
se sa e vështirë ishte të vendosje një pajisje për luajtjen e stream-eve audio
përkatësisht, pajisja lidhet me rrjetin
dhe me kolonat, dhe "dëgjohej tingulli karakteristik".
Pas kësaj, zoti Arsen i iu afrua nënkryetarit të shefit tim - zotit "Boris" dhe ia përcolli pyetjen,
ndërsa unë, si një vëzhgues i rastësishëm, këtë ide e mbajta mend
dhe e quajta "Problemi i tre shefave".
Në thelb, donin të bënin diçka më të mirë,
por do këto, citoj - "Por zoti Ervi, si gjithmonë, ndihmoi."
Pas ca kohësh, e pyeta zotin "Boris"
mendimin e tij për të shkruar një shënim të vogël mbi këtë temë
në "Habra", për të cilin zoti "Boris" u përgjigj se ndryshimi
"i tre pikave të menusë" në Kodi, nuk ka sjellë ndonjë
informacion të ri dhe nuk meriton një përmendje të veçantë.
Sigurisht që i bie krejtësisht dakord me të dhe prandaj, nuk do t'i tregoj se
kam shkruar diçka lidhur me këtë.
Ky artikull është shkruar ekskluzivisht për pllakën "Raspberry Pi 1"
të marra nga zoti "Boris" për kohën e eksperimentit,
përputhjet me pllakat e tjera "Raspberry Pi 1" janë rastësore.
TĂ« keni sa mĂ« shumĂ« ndĂ«rtime tĂ« mira e tĂ« ndryshme, dhe le tĂ« ketĂ« pĂ«r ju kĂ«tĂ« vit edhe njĂ« ish-ndĂ«rtesĂ« â kĂ«ndon.
Burimi: habr.com
