
PÔhitingimused:
- On olemas vana kasutamata Raspberry Pi esimese pÔlvkonna plaat;
- Plaat seisab kapis kasutult â plaat on nagu «Telliskivi»;
Mida soovitakse saada:
- Teatud hetkel (nÀiteks tuju jÀrgi)
plaat lakab olemast «Telliskivi» ja sellega sisestatakse maagiline mĂ€lukaart; - Plaadile on ĂŒhendatud Ethernet kaabel ja pistik tavalise kodumajapidamise kĂ”larist vĂ”i kĂ”rvaklappidest;
- PĂ€rast toite andmist on endine «Telliskivi» â laulab
Peamine idee:
- Minimaalne liikumiste arv mis tahes seadistamiseks, ideaaljuhul ĂŒhendame ainult «Ethernet» kaabli, toite ja kĂ”larid, ja rohkem mitte midagi, sĂ”na otseses mĂ”ttes Â«ĂŒldse»;
- Endine «Telliskivi» pakub nĂ€iteks 20 interneti raadiokanali tuge, nende vahel vahetamine toimub nĂ€iteks hiire ratast keerates vĂ”i teatud GPIO pinni kaudu (ĂŒhendades kaks juhet ja sulgedes need (minu lapsepĂ”lve unistus));
- Juhtimine toimub raadiokanali kaudu, milleks vÔib olla tavaline raadiomÀhi;
- VĂ”tta valmis sĂŒsteem, distributsioon koguda «Yocto Project»
seega, nagu tavaliselt, me ei tee midagi, kuna kÔik on juba tehtud.
(piisab vaid asetada kolmas jÀlgija teisele poole «Teler»);
Kirjeldus
Lihtsaim Interneti raadiokÔlar «KODI»
Kogumik on mÔeldud vanadele Raspberry Pi 1 plaatidele
(mis tolmu koguvad kuskil kapis, kuid on endiselt töötamiseks valmis)
Vaikimisi kasutatakse nimekirja m3u8, mis sisaldab 12 Interneti raadiokanalit.
Eeldatakse, et plaat töötab ilma HDMI vĂ€ljundita, ja selle vĂ€ljalĂŒlitamiseks piisab toiteadapteri seinast vĂ€lja tĂ”mbamisest. Ja ultra kaasaegse juhtmevaba puldina vĂ”ite kasutada oma super raadiomĂŒĂŒki (vĂ”i ĂŒhendada tavaline hall kaabliga).
Seadmise ajal konfigureeritakse vÔrgu liides vaikimisi lÀbi DHCP protokolli ja mÀngitakse ette viimane salvestatud raadiojaam nimekirjast; helitugevuse reguleerimine toimub tavalise hiirega:
(nimetage lĂ”puks oma hiir âhalduriksâ ja Ă”nnitlege teda, ta on seda vÀÀrt)
rattaske ettepoole - helitugevuse suurendamine
rattaske tagasi - helitugevuse vÀhendamine
pikaajaline vajutus (3 sek ja rohkem) hiire paremal nupul
- jÀrgmise raadiojaama valimine
pikaajaline vajutus (3 sek ja rohkem) hiire vasakul nupul
- eelmise raadiojaama valimine
Oma Interneti raadiojaamade nimekirja lisamiseks
vĂ”ite alati ĂŒhendada HDMI-kaabli telerist
ja kasutada Kodi 17.6 tavapÀrast graafilist liidest
(vĂ€lja lĂŒlitada plaat, ĂŒhendada HDMI ja sisse lĂŒlitada toiteadapter)PeamenĂŒĂŒ Kodi => âTĂ€iendusedâ => âMinu tĂ€iendusedâ
          => âPVR-klientideâ => âPVR IPTV Simple Clientâ
Esialgne teostus
(vÔimalik)
Alguses, kui otsustasin teha âInterneti Raadio kĂ”laritâ, kavatsesin jĂ€rgmist:
- Minimalistlik konsoolidistributsioon Yocto Projectis;
- Heli edastus toimub GStreamer'i kaudu;
- VĂ”rguĂŒhendus seadistatakse DHCP kaudu;
Ja sellisel lahendusel on mitmeid eeliseid:
- Piisavalt kiire (tööreĆŸiimi jĂ”udmine toite andmisest 30-40 sekundi jooksul);
- Piisavalt usaldusvÀÀrne (vÀhem programme, vÀhem rikkepunkte);
- Konsoliversioon on tunduvalt lihtsam seadistada ainult lugemisreĆŸiimi
st. programmid ei salvesta midagi juurefailisĂŒsteemi
(ja SDHC mĂ€lukaardi failisĂŒsteem on minu arvates esimene, mis rikkeid kogeb);
MĂ€rkus:
Yocto-s on vĂ”imalik juurfailisĂŒsteemi (rootfs)
seadistada ainult lugemise reĆŸiim ĂŒsna lihtsalt,
muutes vaid ĂŒhe parameetri koostamise ajal.
Yocto pakub vÀlja kaks vÔimalust:
1) FailisĂŒsteemi töö tavalises lugemise/kirjutamise reĆŸiimis
(nii toimivad kÔik universaalsed distributsioonid, nÀiteks Ubuntu)
2) FailisĂŒsteemi töö ainult lugemise reĆŸiimis
(nii toimivad spetsialiseeritud distributsioonid, nÀiteks ruuteri tarkvaras)
Ainult lugemise reĆŸiimis mountitakse kĂ”ik kaustad, kuhu tavaliselt
rakenduste ja teenuste andmed kirjutatakse,
mÀllu (nÀiteks kaust /var/log ja sarnased)
Andmed kehtivad ainult praeguse tööperioodi jooksul ja pÀrast toitekatkestust
andmed kaovad.
Kui Yocto Project'is mÀÀrate koostamise ajal "only read"
kasutama, siis pÀrast koostamist on teie distributsioon seadistatud ainult lugemiseks,
kuid saate alati lisada vĂ”imaluse dĂŒnaamiliseks muutmiseks
"only read" reĆŸiimist "read/write" reĆŸiimi, kuid see on juba hoopis teine ââlugu ...
Ja ĂŒks peamine puudus:
«Seda tuleb teha», st mul on vaja kulutada N Ôhtut.
(tavaliselt pÀrast tööd, ja see on kÔige ebaefektiivsem aeg, sel ajal mÔistus ei mÔtle, ta tavaliselt magab)
Ja veel, oma eelmist artiklit HabrÂŽis kirjutasin ma multimeedia keskuse kohta project
ja vĂ”imalus jĂ€tkata samas vaimus ĂŒletas minu uurimishimu. Selle kohta jĂ€rgmises peatĂŒkis.
Kodi muutmine internetiraadioks
Vajalikku funktsionaalsust lisamiseks lisan ma retsepti kogumise meetodi, millest on juttu eelnevas vt fail berserk-image.bb
GUI_SETTINGS = "home/root/.kodi/userdata/guisettings.xml"
# viimati valitud TV kanali kÀivitamise konfiguratsioon (1-taust 2-esiplaan)
F1_LINE = "<startlast default="true">0</startlast>"
R1_LINE = "<startlast>1</startlast>"
# heli vĂ€ljundi konfiguratsioon, alati on ĂŒhendatud ainult analoogne audio vĂ€ljund
F2_LINE = "<audiodevice default="true">PI:HDMI</audiodevice>"
R2_LINE = "<audiodevice>PI:Analogue</audiodevice>"
# kuna HDMI vaikimisi ei kasutata, lĂŒlitan vĂ€lja automaatse uuendamise
# muidu vÔib juhtuda, et toide on Àra lÀinud, aga andmed on salvestamata
F3_LINE = "<addonupdates default="true">0</addonupdates>"
R3_LINE = "<addonupdates>2</addonupdates>"
# meetod vastutab konfiguratsiooni lisamise eest:
# mis muutab "Nutitelevisiooni" "lihtsaks Interneti raadiokÔlariks"
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"
# kuna HDMI vÀljundit ei pruugita kasutada,
# tuleb vĂ€lja lĂŒlitada "teretulemast"
off_kodi_welcome() {
sed -i "s|${FIND_STR}|#&|" ${IMAGE_ROOTFS}/${SCRIPT_FIRST_RUN}
}
Meetodid on mĂ”eldud juurfailisĂŒsteemi muutmiseks enne jaotuse pildi loomist, mis salvestatakse ĂŒhe raw-failina, mis kirjutatakse mĂ€lukaardile kĂ€suga dd
See toimub jÀrgmiselt:
ROOTFS_POSTPROCESS_COMMAND += «add_radio_guisettings; off_kodi_welcome;»
LĂŒhidalt öeldes muudetakse Kodi 17.6 konfiguratsiooni pĂ”hifailis âkolme punktiâ
- Viimati valitud TV kanali kÀivitamise konfiguratsioon;
- Heli vĂ€ljundi konfiguratsioon, kus on alati ĂŒhendatud ainult analoogaudio vĂ€ljund;
- Automaatse vÀrskendamise keelamine;
- MĂ€rkus:
Ainus, millega mul oli raskusi, oli see, et pidin veel ka andmebaasifaili formaadis sqlite => TV29.db tĂ”mbama, kus on mĂ€rgitud praegu predseeritav TV kanal (kuna vaikimisi ei ole ĂŒkski kanal valitud), ja lĂ€bi xml konfiguratsiooni Kodi seda teha ei saa.
Iga punkti jaoks ĂŒksikasjalik tegevusjĂ€rjestus:
1) KlĂ”psake ekraani vasakus ĂŒlanurgas hammasratta ikoonil
ja valige âPVR ja TV seadedâ (televisiooni ikoon kahe sarvega)
siis vasakus menĂŒĂŒs valige âTaasesitusâ ja keskel sektsioonis âĂldineâ
valige rippmenĂŒĂŒst âJĂ€tka viimase kanaliga kĂ€ivitamiselâ
valides seadistuse âEesmine plaanâ
vÔi veelgi selgemalt:
"PVR ja TV seadistused"
=> "Esitamine"
=> "JÀtka viimase kanaliga kÀivitamisel" => "Eesmine plaan"
2) KlĂ”psake ekraani vasakus ĂŒlanurgas nuppu âhammasrattaâ ja valige punkt:
"SĂŒsteemi seadistused"
=> "Lisandmoodulid" => "Uuendused" => "Ărge kontrollige uuendusi kunagi"
3) KlĂ”psake ekraani vasakus ĂŒlanurgas nuppu âhammasrattaâ ja valige punkt:
"SĂŒsteemi seadistused"
=> "Heli" => "Heli vÀljundseade" => "PI: Analoog"
Kuidas ma kaks aastat vale televiisorit vaatan.
Pean teile tunnistama, et ma ei ole kahe aasta jooksul Ôigesti televiisorit vaatama Ôppinud.
Mina vaatan tavaliselt telekat köögis. Teleka kĂŒlge on ĂŒhendatud Raspberry Pi 2B plaat, ning plaadil on Ethernet ja HDMI pistikud. Plaadi toide tuleb tavalisest USB-kaablist, mis on ĂŒhendatud teleka USB-porti, st, et teleka sisse lĂŒlitamine tavalise puldiga toidab ka Raspberry Pi plaati, ning teleka vĂ€ljalĂŒlitamine puldiga lĂ”petab samuti otse toite Raspberry Pi plaadi pealt.
Jah, ma olen tĂ€iesti teadlik, et nii teha ei tohiks, kuna Kodi meediakeskuse juurefailisĂŒsteem (ext3) töötab mul tavapĂ€rases lugemise/kirjutamise reĆŸiimis. Kuid ma olen laisk inimene ning alguses otsustasin kontrollida, kui kaua saan sĂŒsteemi vĂ€lja lĂŒlitada, kuni ta tĂ€ielikult enam ei kĂ€ivitu, kuid kahjuks ei ole ma kahe aasta jooksul seda suutnud teha (vĂ”imalik, et ma lihtsalt paar palju, ei tea).
Ja arvan, et kui selline reĆŸiim sobib minu televiisori jaoks, siis sobib see ka "tavalisele Interneti raadiokĂ”larile", ja kuna olen sundinud Kodi pluginad automaatset vĂ€rskendust vĂ€lja lĂŒlitama, siis vĂ€heneb ka failisĂŒsteemi tĂ”rke tĂ”enĂ€osus. Praegu ma sellega probleeme ei nĂ€e.
MĂ€rkus:
Kuid alati saate, kui soovite, ĂŒhe yocto kĂ€sklusega
IMAGE_FEATURES += "read-only-rootfs"
ja teatud maagia abil viia oma distributsioon "read only" reĆŸiimi.
Artiklis kirjeldatud âinterneti raadiokĂ”lariâ distributsioon on kodumaine, ja mis on kodumaise distributsiooni jaoks kĂ”ige olulisem â see on kaunis GUI. Minu arvamus on, et on vĂ€ga raske vĂ”i peaaegu vĂ”imatu Ă”petada tavalist kasutajat sisestama mingeid arusaamatut maagilist kĂ€sku konsooli, tal ei ole isegi selle sĂ”na tĂ€hendust. Aga GUI, see palun.
Ja see on tÔenÀoliselt minu peamine argument mitte-konsolil pÔhineva distributsiooni kasuks. Soe, hubane graafiline kasutajaliides Kodi, jah, see pole eriti vajalik, aga see on olemas.
(Lisaks unustasin ma tÀiesti mainida, et Kodi-d saab juhtida ka kaugelt, nÀiteks nutitelefoni kaudu, paigaldades rakenduse "Yatse", ja vÔib-olla on see kellegi jaoks pluss.)
Kodi konfiguratsioon hiire juhtimiseks
aga nĂŒĂŒd Rakett
HeliTÔus
HeliLangem
KanaliLangemine
KanaliLangemine
KanaliTÔus
Konfiguratsioon asendab ĂŒldised (global) sĂŒndmused jĂ€rgmiste elementide jaoks:
- hiire ratta kerimine edasi
- hiire ratta kerimine tagasi
- hiire keskmise nupu vajutamine
- hiire pika vajutamise (3 sek ja rohkem) kÀsitlemine,
0 parema nupu identifikaator, 1 vasaku nupu identifikaator
detaile hiire sĂŒndmuste seadistamise kohta:
Mida teha, kui kaabeldusĂŒsteem ei ole kohale jĂ”udnud
«Aga mul ei ole kodus vabu Etherneti porte (vĂ”i pole neid kunagi olnud)» â vĂ”ib hĂŒĂŒda osa vanade Raspberry Pi 1 omanike Ă”nnelikest, (vĂ”ib-olla plaati osteti uurimiseks ja see jĂ€i kapis vedelema)
Ja kuna plaadil ei ole sisseehitatud Wifi, siis ilma Etherneti ĂŒhenduseta ei ole see vĂ€ga funktsionaalne.
Muidugi on vÔimalik kasutada Raspberry Pi 1 plaati ilma Ethernetita, kuid see nÔuab teilt teatud pingutusi. Selliseid asju on huvitav teha tavaliselt uue Ôppimise kontekstis, st see ei ole kasutajapoolne töö.
Niisiis, vaatame hĂŒpoteetilist vĂ”imalust kasutada plaati ilma Ethernetita:
VĂ”ib-olla saate ĂŒhendada vĂ€list USB â Wifi adapti, arvestades seda,
et adapter peaks töötama Linuxiga
MĂ€rkus:
Kahjuks ei tööta osa WiFi adapteritest,
see ei ole selle artikli esitatud distributsiooni omapÀra,
vaid pigem konkreetsete WiFi adapterite draiverite probleem Linuxi tuumas.
VÔime konstateerida, et sel hetkel ei saa te lihtsalt
minna poodi ja osta ĂŒkskĂ”ik millist WiFi adapterit. Pigem peate valima WiFi
adapti vÀhem probleemsetest ja hÀsti töötavatest Linuxis.
Olen testinud ainult jÀrgmisi mudeleid:
- WiFi adapter Atheros D-Link DWA-126 802.11n (AR9271) instruktsiooniga
- WiFi adapter NetGear WNDA3200
- WiFi adapter NetGear WNA1100
- WiFi adapter TP-Link TL-WN722N (AR9271)
- WiFi adapter TL-WN322G v3
- WiFi adapter TL-WN422G
- Wifi adapter Asus USB-N53 Ralink RT3572 kiibistiku
Kui teil on juba USB Wifi adapter, saate kontrollida, kas see töötab Linuxis jÀrgmiselt:
- Installige mÔni laialdaselt levinud Linuxi distributsioon
ĂŒldotstarbeline, nĂ€iteks 'Ubuntu Desktop' - Laadige sĂŒsteem alla
- Ăhendage oma Wifi USB adapter
- KĂ€ivitage vĂ”rguhaldur ja proovige ĂŒhendada oma WiFi ligipÀÀsupunktiga
- Kui kĂ”ik toimib hĂ€sti ja teie internetiĂŒhendus on stabiilne, siis tĂ€hendab, et teie adapterit toetatakse hĂ€sti ning vĂ”ite jĂ€tkata selle adapteri ĂŒhendamisega spetsialiseeritud distributsioonis ja ehk ka teiste kerniversioonidega
(kui ei, siis ei â parem isegi mitte proovida)
VĂ€list Wifi adapteri tugi 'Raspberry PI'-s
WiFi adapteri korrektseks tööks Linuxis: meil on vaja kahte asja:
1) Linuxi tuum toetust teatud Wifi adapterile
2) Teatud Wifi adapteri jaoks tuumamooduli olemasolu sĂŒsteemis
VÔtame nÀiteks adapteri TP-Link TL-WN722N. Sellel on lihtsalt suurepÀrane antenn.
Leiame kiibistikud, mille pĂ”hjal plaat töötab â mul on see 'AR9271', mĂ€rkus:
huvitav on see, et ĂŒhe ja sama mudeli puhul
sama tootja, Wifi-kiibistik vÔib erineda.
NĂ€iteks olen silmitsi seisnud sellega, et TL-WN722N versioon 2
kasutab juba teistsugust Realtek RTL8188 kiibistikku, mis
toona töötas Linuxi all halvasti, kahjuks nii see on,
st mÔnikord tuleb tÀhelepanu pöörata ka vÀikestele numbritele
versioonil adapteri tagakĂŒljel (tumeda poole peal).
NĂŒĂŒd leidke parameetri nimi tuumas, mis vastutab AR9271 kiibistikule mĂ”eldud draiveri eest, parim on otsida sĂ”naĂŒhendit "AR9271 cateee.net"
     kus "cateee.net" on lahe sait Linuxi tuumamoodulite konfiguratsioonide kirjeldamise kohta
Kohe leiame tuuma konfiguratsiooni nime â CONFIG_ATH9K_HTC
ja nime meie vajaliku mooduli tuuma ath9k_htc
ja seejÀrel piisab lihtsalt vajaliku mooduli nime mÀrkimisest konfiguratsiooni fragmentide failis
Linuxi tuum => recipes-kernel/linux/files/rbpi.cfg, lisage rida:
CONFIG_ATH9K_HTC=m
Nii saate tulevikus ĂŒhendada igasuguseid tĂ€iendavaid seadmeid oma sĂŒsteemi (kui need on muidugi Linuxi tuumas juba toetatud)
Mida teha, kui oled Habr geek â ehitaja
Ja loote Ă€gedaid asju, nĂ€iteks selliseid nagu vĂ”i oled ĂŒliĂ”pilane ja unistad luua midagi sarnast.
Esialgu vĂ”iks osta mingi Touch Screen ekraani RPI jaoks aliexpressist, seal tellida sobiv akut, ĂŒhendada kĂ”ik see Raspberry Pi 1, 2 vĂ”i 3 (parem on 3, kuna tal on sisse ehitatud Wifi), valida graafilise liidese teema Kodies, mis on mĂ”eldud puuteekraanile, ja voila => sul vĂ”ib saada lihtne audio mĂ€ngija. Muidugi on see piisavalt mahukas, kuid see on sinu.
MĂ€rkus:
A jaoks, et ĂŒles ehitada Kodi meediumikeskus kĂ”ige odavamale platvormile
Raspberry Pi Zero Wifi yocto-s, piisab, kui muuta kahte rida:
konfiguratsioonifail => build/conf/local.conf
MACHINE = 'raspberrypi0-wifi'
Kodi koostamisretsept => recipes-mediacentre/kodi/kodi_17.bbappend
EXTRA_OECONF_append = "${@bb.utils.contains('MACHINE',
'raspberrypi0-wifi', '${BS_RPI}', '', d)}"
Kui Kodi 17.6 kasutajaliidese reageerimisvĂ”ime ĂŒhe protsessorituuma tĂ”ttu Zero-s tundub mĂ”istatusena, siis saad teha nipi ja koostada vanema, kuid vĂ€ga kiire versiooni, nĂ€iteks Kodi 15.2, mis selles osas on "sĂ”bralikum" (mĂ”nikord lahendab legacy kĂ”ik).
Kahjuks ei ole mul makset, seega ei saa ma seda kontrollida, kuid minu arvates peaks see toimima.
LĂŒhike kokkuvĂ”te kokkupanekuks
1) Installige Yocto projekti sÔltuvused (nÀiteks Uubuntus):
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) Laadige ja installige Repo:
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
3) Laadige projekt githubist:
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) Koguge projekt:
./shell.sh
bitbake berserk-image
sama saab teha ka Raspberry Pi 3B Plus, 3B ja 2B plaatide jaoks:
repo init -u https://github.com/berserktv/bs-manifest
-m raspberry/rocko/radio-0.2.8.xml
tÀiendav juhend kokkupanekuks
ja salvestamiseks microSDHC kaardile cm.
Postskriptum
Loomulikult on internetiraadio kÔlarite mÔte tuttav, seda tunneb kÔik ning hubis leiate selle kohta hulganisti artikleid, nÀiteks
Ja vÔite arvata, et ma lihtsalt kohandasin nÔuded valmislahendusele. Sellele vastan, et ei, ausalt.
HĂ€rra Ervi lugu
Usuge, et usuge mitte, aga asi oli nii:
Meie töökontor piirneb erinevate heliseadmete tootmisega tegelevate ettevĂ”tetega, ja kord lĂ€ks selle ettevĂ”tte direktor, nimetu hĂ€rra "Ervi", meie filiaali asedirektori hĂ€rra "Arseni" juurde ja kĂŒsis temalt, kui keeruline on panna Raspberry Pi plaadile mĂ€ngima helivooge, st plaat on ĂŒhendatud vĂ”rguga ja kĂ”laritega, ning "kĂ”lab iseloomulik heli".
PĂ€rast seda lĂ€ks hĂ€rra Arseni minu ĂŒlemuse asetĂ€itja hĂ€rra "Borise" juurde ja edastas kĂŒsimuse talle, ning mina, kui pealtnĂ€gija, juhuslikult mĂ€letasin seda ideed ja nimetasime seda "Kolme ĂŒlemuse ĂŒlesandeks".
Ăldiselt tahtsime parimat, kuid vĂ€lja tuli, tsitaat: "Aga hĂ€rra Ervi, nagu alati, aitas."
MĂ”ne aja pĂ€rast kĂŒsisin hĂ€rra "Borise" kĂ€est, mida ta arvab vĂ€ikese mĂ€rkme kirjutamisest selle teema kohta "Habrasse", millele "Borise" vastas, et "kolme menĂŒĂŒpunkti" muutmine Koidis ei too erilist uut teavet ja ei vÀÀri eraldi mainimist. Loomulikult olen ma temaga tĂ€ielikult nĂ”us ja seetĂ”ttu ei rÀÀgi ma talle, et olen selle kohta midagi kirjutanud.
Artikkel on kirjutatud eksklusiivselt "Raspberry Pi 1" plaadi jaoks, mis on saadud hÀrra "Borise" kÀest eksperimendi ajaks, ning kÔik muud "Raspberry Pi 1" jaotused on juhuslikud.
Soovime teile hÀid ja mitmekesiseid kompositsioone, ning las isegi vana telliskivi sellel aastal teie jaoks laulma hakkab.
Allikas: habr.com
