Talaan ng mga Nilalaman:
- Hakbang 1: Paunang mga kinakailangan:
- Hakbang 2: I-install ang Python at Pip
- Hakbang 3: I-install ang MPG123 at Adafruit Blinka
- Hakbang 4: Ayusin ang Dami sa 50% sa Alsamixer
- Hakbang 5: Ilang Gawaing Pantahanan: Maghanap ng 5 Mga Istasyon ng Radyo na Mahusay na Pakikinig
- Hakbang 6: Opsyonal: Paggamit ng Vtuner ng Scrape URL
- Hakbang 7: I-setup ang Aming Mga Pindutan
- Hakbang 8: Kilalanin ang Aming Mga GPIO Pins
- Hakbang 9: Code
- Hakbang 10: Pagsubok sa aming Sandbox
- Hakbang 11: I-set up ang aming Code upang Awtomatikong Patakbuhin sa Boot
- Hakbang 12: Subukang Muli
- Hakbang 13: Box It Up, at Tapos Na
Video: Pagpapanatiling Ito Stoopid Simple Internet Radio: KISSIR: 13 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Minsan kailangan lang maging pandamdam. Walang Interface ng anumang uri. Mga Pindutan lamang.
Ang Raspberry Pi bilang isang internet radio player ay walang bago, at maraming mga itinuturo sa kung paano lumikha ng isang internet radio player na gumagamit ng isang raspberry pi na mayroon o walang monitor upang mag-stream ng mga istasyon ng internet mula sa buong mundo. Kung pipiliin mong pumunta na walang ulo (nang walang monitor), kakailanganin mo pa rin ng isang paraan upang mai-interface ang pi player, karaniwang isang web interface kung hindi isang direktang paraan ng pakikipag-usap sa host, tulad ng ssh. Ang itinuturo na ito ay bahagyang magkakaiba; gagamit kami ng mga simpleng pagpindot sa pindutan upang magpadala ng mga utos sa pi, sa gayon tinanggal ang pangangailangan para sa isang web interface at isang LCD screen. Tunog sapat na madali, tama (?)
Magsisimula kami sa isang napaka-pangunahing disenyo gamit ang mga naka-code na pindutan ng kulay, ang bawat kulay ay kumakatawan sa isang istasyon ng radyo sa internet. Ipapakilala namin ang ilang code ng sawa upang hawakan ang pindutan ng pindutan: Ang press ay magsasagawa ng isang utos upang i-play ang isang paunang naka-code na istasyon ng radyo sa internet gamit ang MPG123, isang mahusay na tool sa linya ng utos para sa pag-play ng audio sa aming pi.
Ang iyong mga kasanayan sa sawa ay hindi kailangang ma-advance. Sa katunayan literal na nagpunta ako mula sa "Hello World" upang isulat ito, at tulad ng makikita mo, nanghiram ako ng maraming code - kaya kung magagawa ko ito at medyo nai-dokumentado ito, ang iba pa ay dapat walang problema.
Tara na!
Mga Pantustos:
Mga Kinakailangan na Materyales
- Raspberry pi / pi zero w sa lahat ng mga pag-aayos: Suplay ng kuryente, SD card at Raspbian o Raspbian lite.
- Pag-access sa WiFi at internet
- Ang isa pang PC upang magsagawa ng ilang pagba-browse sa web at kakayahang SSH sa raspberry pi
- Digital to Analog Converter (DAC) - opsyonal ngunit magpapasalamat ka.
- Amplifier
- Mga nagsasalita
- Hookup wire at Jumpers
- Panghinang at bakalang panghinang
- Perf Board para sa mga pindutan
- Mga pindutan sa paggalaw: Karaniwan Bukas- isa para sa bawat genre ng musika, isang pindutan ng kuryente, at isang opsyonal na pipi na pipi (inirerekumenda ang 7 mga pindutan)
- Isang yunit ng pabahay para sa lahat ng nasa itaas (opsyonal ngunit malinis)
Hakbang 1: Paunang mga kinakailangan:
Magsisimula kaming ipagpapalagay na na-setup mo na ang iyong raspberry pi, DAC at amplifier, at ipagpapalagay din na mayroon kang access sa internet. Dahil sa dami ng mga pagpipilian ng kagamitang audio, kagustuhan, at pagpipilian para sa pakikinig sa audio, ipagpalagay namin na ang iyong pag-set up ay kumpleto na: dapat mayroon ka nang tunog na lalabas sa iyong mga speaker bago mo simulan ang proyektong ito. Kakailanganin din naming mag-ssh sa raspberry pi, kaya't gamit ang pagsasaayos ng pi, tiyaking pinagana ng mga interface ang ssh. Gumagamit ako ng Raspbian lite, at inirerekumenda na mayroon kang isang sariwang pag-install ng pinakabagong kopya sa isang sariwang sd card na nakatuon para sa proyektong ito. Kung matagumpay ay bubuo kami ng isang stand alone na kabit na maaaring iwanang pinalakas sa 24/7 bilang isang nakatuon na aparato sa pakikinig.
Hakbang 2: I-install ang Python at Pip
Mas gusto kong ssh sa pi gamit ang ibang pc, at isagawa ang lahat ng mga kinakailangang pag-andar gamit ang isang ssh session, ngunit sa palagay ko posible na i-setup muna ang pi sa isang monitor, keyboard at mouse at direktang gumana sa pi hanggang sa ito ay nagtatrabaho at pagkatapos ay i-deploy bilang isang standalone.
Hinahayaan muna gawin ang isang regular na pagsusuri ng pagpapanatili ng aming system at bersyon ng sawa:
sudo apt-get update
sudo apt-get upgrade
Tiyaking naka-install ang Python. Sa isang sesyon ng terminal i-type ang sumusunod sa prompt ng utos:
sawa --versi
Kung nakikita mo ang sawa 2.7.13 (o mas maaga) i-install natin ang sawa 3. +:
sudo apt-get install python3
sudo apt-get install python-pip
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip
Hakbang 3: I-install ang MPG123 at Adafruit Blinka
Ngayon na ang pundasyon ay inilatag, ilan pa sa mga pag-install:
Ang MPG123 ay ang audio software na tutugtog ng aming musika. Ang pag-install ay talagang simple:
sudo apt-get install mpg123
Gumawa ako ng maraming pagsasaliksik, at natagpuan ang isang mahusay na template sa website ng Adafruit tungkol sa pag-play ng mga file ng tunog gamit ang mga pagpindot sa pindutan, kaya sa halip na magsimula mula sa simula, magpatuloy sa landas na ang mga tao sa Adafruit ay nasilaw para sa amin. Hinihiling ng kanilang programa na i-install namin ang Adafruit Blinka:
$ sudo pip3 i-install ang adafruit-blinka
Bago tayo magpatuloy, magsagawa muna tayo ng isang mabilis na pagsusuri upang matiyak na mayroon tayong pag-set up ng Alsa:
aplay --versi
dapat basahin ang aming mga resulta: bersyon 1.1.3 ni Jaroslav Kysela
Hakbang 4: Ayusin ang Dami sa 50% sa Alsamixer
Hinahayaan ngayon ang gumawa ng isang pag-iingat na hakbang at ayusin ang aming dami sa 50% upang maiwasan ang anumang nakakabingi na mga sorpresa:
Sa prompt ng utos, i-type ang alsamixer:
alsamixer
Kung titingnan namin ang isang screen ng pulang puti at berde, o 100% max na dami, magandang ideya na babaan ang dami sa 50% upang mai-save ang aming eardrums. Maaari naming palaging ayusin sa ibang pagkakataon (pataas o pababa) kung kinakailangan.
Hakbang 5: Ilang Gawaing Pantahanan: Maghanap ng 5 Mga Istasyon ng Radyo na Mahusay na Pakikinig
Kakailanganin namin ang isang istasyon para sa bawat pindutan. Sa totoo lang, kakailanganin namin ang url para sa istasyon. Tatawagan ng press press ang url ng istasyon ng radyo sa internet sa isang simple, isang linya na piraso ng code. Gayunman inuuna namin ang ating sarili kaya mayroon kaming ilang takdang-aralin na dapat gawin; maghanap ng 5 mga istasyon ng radyo at ang kanilang mga url. Ang paghahanap ng 5 mga istasyon ng radyo ay hindi mahirap, ngunit ang paghahanap ng kanilang mga url ay maaaring maging nakakalito. Ipapaliwanag ko kung bakit sa isang minuto.
Ang SomaFm * ay isang mahusay na mapagkukunan upang magsimula, lalo na kung wala kang anumang ideya sa kung ano ang nais mong pakinggan. Mayroon silang iba't ibang mga pagpipilian sa musika na eclectic, wala sa mga ito na nasasaktan ako, walang mga patalastas, at ang pinakamagandang bahagi: Hayag nilang ibinabahagi ang kanilang mga url. Upang makuha ang url, mag-click sa isang imahe ng istasyon na gusto mo, at sa kaliwang bahagi ng nabigasyon, i-click ang "Mga Direktang Link ng Stream". Mula doon, hanapin ang seksyon ng MP3, at i-scrape ang url ng pinakamataas na rate ng pag-playback (ie 128 beats 64). I-paste ang url sa isang text editor o notepad sa ngayon.
Bilang isang halimbawa, upang i-scrape ang Christmas Rocks, ang url ay magiging: (hindi namin kailangan ang paglalarawan ng server)
ice4.somafm.com/xmasrocks-128-mp3
Nakakakuha ito ng kaunting dicier sa labas ng mundo ng SomaFm. Maraming mga istasyon ang gumagamit ng isang tagapamagitan sa pagitan ng nakikinig at ng istasyon, maging para sa advertising, marketing o posibleng pagsubaybay - at sa pangkalahatan ay sinisikap kong iwasan ang mga ganitong uri ng istasyon. Dahil mas gusto ng mga middlemen na makinig ka sa istasyon sa pamamagitan ng mga ito, kadalasan mahirap mahirap hanapin ang url; at doon pumapasok si Vtuner.
* Masisiyahan ako kung hindi ko hiniling na isaalang-alang mo ang pagbibigay ng isang donasyon sa iyong paboritong istasyon ng radyo, dahil marami sa mga istasyon ang umaasa lamang sa suporta ng tagapakinig.
Hakbang 6: Opsyonal: Paggamit ng Vtuner ng Scrape URL
Dumarating ngayon ang kasiya-siyang bahagi …. Sa home page ng Vtuner, tingnan ang kanilang malaking link ng listahan ng istasyon sa kanang sulok sa itaas. Pumili ng isang uri ng musika na may interes ka, at pagkatapos ay pag-uri-uriin ang pinakamabilis na bilis, kung saan makikita mo ang isang listahan ng mga istasyon. Pumili ng isang istasyon na sa palagay mo ay gusto mo, mag-click sa link o i-play ang pindutan at i-sample ang musika. Kung hindi ito para sa iyo, walang mga alalahanin, ulitin ang proseso hanggang sa makita namin ang isang angkop para sa pangmatagalang kasiyahan. Sa aking shot ng screen, pinili ko ang digital na salpok na bersyon ng musika ng Bansa at sa susunod na screen, napansin kong nagpe-play ito sa labas ng Croatia. Bansa Music mula sa Croatia tunog medyo kawili-wili.
Gusto ko ito. Ngunit paano ko makukuha ang url? Magsagawa lamang ng isang tamang pag-click sa puting puwang sa kanan ng imahe ng istasyon, sa ilalim ng pangalan ng Station, at piliin ang "Tingnan ang Pinagmulan ng Pahina" at mag-scroll pababa sa halos hilera 150. Hinahanap namin ang linya na nagsasabing "// Subukan upang hawakan icecast ". At ang url ay matatagpuan kaagad sa ilalim!
orion.shoutca.st:8110/stream
Medyo makinis!
Ulitin ang hakbang na ito hanggang sa magkaroon kami ng hindi bababa sa 5 mga istasyon sa aming listahan.
Opsyonal na Double: Para sa labis na panukala, kung makakahanap ka ng 5 mga genre ng musika na may interes ka (taliwas sa 5 mga istasyon), bumuo ng isang listahan ng mga istasyon ng radyo para sa bawat genre at i-save ang mga listahan bilang mga file ng teksto. Babalikan natin ito mamaya.
Hakbang 7: I-setup ang Aming Mga Pindutan
Ang pinakamahalagang bahagi! Alisin ang alikabok ng lumang bakal na panghinang o hindi bababa sa isaksak ito at lutongin ang alikabok. Oras na kay Solder. Gumagamit ako ng 4 prong panandalian na mga pindutan ng itulak, karaniwang binubuksan. Bumubuo ako ng isang hanay ng mga pindutan (kaliwang larawan), at isasama ang mga ito sa ilang perf board. Mahirap sabihin sa larawan, ngunit ang direksyon ng mga pindutan ng butones ay tumatakbo sa Hilagang-Timog. Sa kanang bahagi, makikita mo kung saan ako nagpatakbo ng isang ground rail para sa aking mga wire sa lupa at nakakabit ng ilang mga male end jumper cable sa tapat ng bawat pindutan. Sa halip na magkaroon ng 7 mga koneksyon sa lupa, papayagan kami ng riles na magbahagi ng isang koneksyon sa lupa sa pi para sa lahat. Ang huling resulta ay isang maselan na board ng wafer na makikita sa ilalim ng pag-mount sa tuktok ng radyo gamit ang ilang mga turnilyo sa pamamagitan ng ibinigay na mga butas ng piloto. Ang mga pindutan lamang ang lilitaw sa pamamagitan ng uka na pinutol ko sa tuktok. Dahil ang aking tuktok na ibabaw ay 1/4 makapal lamang, nais kong mag-ingat na huwag lumampas sa tornilyo. Maaaring makatulong ang pandikit upang mapanatili ang perf board na nakakabit sa radyo.
Hakbang 8: Kilalanin ang Aming Mga GPIO Pins
Sa aking isa lamang na itinuturo, nagpakita ako ng isang bagong paggamit para sa lumang bersyon ng Google AIY na bersyon ng boses. Sa malawak na hindi sikat (o makitid na sikat) na itinuturo, nabanggit ko kung gaano ako humanga sa disenyo ng sumbrero mismo. Mayroon akong ilang pagtula sa paligid, kaya magtatayo ako ng isang prototype gamit ang sumbrero dahil mayroon itong parehong dac at amplifier onboard.
Kilalanin natin ngayon ang anim na mga pin na magho-host sa aming mga pagpindot sa pindutan. Hihilingin ko sa iyo na ituon ang pansin sa kaliwang bahagi ng Google AIY na sumbrero, kung saan sinasabing "servos". Mayroong isang haligi ng 6 na eyelets para sa Pin kung saan ko ikakabit at maghinang ang aking male button ay nagtatapos mula sa aming nakaraang hakbang. Dapat kang nagtatrabaho nang walang google aiy sumbrero ng boses, walang alalahanin, - gagabay sa iyo ang larawan sa kanan. Sa alinmang kaso ay gagana kami sa gpio (BCM) na mga pin 26, 06, 13, 05, 12, at 24 mula sa itaas hanggang sa ibaba (o 0-5). Ang GPIO # 24 ay nakalaan para sa isang opsyonal na pindutan ng pag-pause.
Huwag kalimutang i-attach din ang koneksyon sa lupa.
Hakbang 9: Code
Duda ako na magbabago ang code mula dito, subalit para sa pinakabagong bersyon ng python code, mangyaring bisitahin ang aking github. Nag-attach ako ng isang kopya noong 2019-18-12 na tinatawag na pytiful3.py.
Hindi ito ang pinaka mahusay na code na makikita mo, at ito ay medyo pandiwang, ngunit natatapos nito ang trabaho.
Magsimula tayo sa pamamagitan ng paglikha ng isang sandbox upang maglaro. Mula sa aming direktoryo sa bahay, lumikha ng isang direktoryo sa aming raspberry pi na tinatawag na kissir:
mkdir kissir /
at kopyahin ang mga nilalaman ng pytiful3.py file sa direktoryo sa pamamagitan ng pagbubukas ng sample na file sa isang text editor, at paggamit
sudo nano kissir / pytiful3.py
kopyahin / i-paste ang mga nilalaman ng file sa aming bagong nilikha na script ng sawa. Huwag kalimutang i-save ang aming trabaho sa pamamagitan ng paggamit ng Ctrl-x, Y at ipasok.
Kung nais mo ng isang mabilis na paglilibot sa script, ina-import namin ang mga module ng sawa na kakailanganin namin, at pagkatapos ay tinutukoy namin ang aming mga pindutan at nagtatalaga ng isang gpio pin sa bawat isa sa 7 mga pindutan. Magkakaroon ng 5 mga istasyon ng radyo (huwag mag-atubiling mag-edit sa iyong kagustuhan sa istasyon), isang pindutan ng huminto, at isang shutdown button. Ang habang ang tunay na loop ay tumatakbo at tumatakbo hanggang ang isang pindutan ay pinindot, na sa karamihan ng mga kaso ay titigil ang anumang umiiral na pag-playback ng mpg123 at simulang patugtugin ang istasyon na nakatalaga sa pindutan na pinindot. Ang pindutan na mag-pause / ihinto ay hindi talagang isang pindutan ng pause ngunit higit pa sa isang switch ng pagpatay dahil hindi namin mai-pause ang radyo sa internet. Walang hinihintay ang radio sa Internet.
Hakbang 10: Pagsubok sa aming Sandbox
Bago namin mai-deploy ang aming radyo, habang nasa ssh session pa rin kami, mag-navigate sa folder ng kissir kung saan nakaimbak ang aming script. Maaari lamang naming patakbuhin ang script mula sa linya ng utos nang manu-mano sa pamamagitan ng pagta-type:
python3 pytiful3.py
Kung sinilip mo muna ang code, malamang napansin mong nag-iwan ako ng ilang mga pahayag sa pag-print upang masabi natin kung ano ang nangyayari. Kung ang lahat ay gumana nang maayos, magkakaroon kami ng isang prompt na mabasa na "Pindutin ang isang Button". Sinasabi nito sa amin na tumatakbo ang aming script at nakapasa ito sa isang paunang pagsuri sa code. Ang aking paunang pagtatangka ay may isang walang katapusang loop ng "musika naka-pause - pindutin ang pindutan upang magpatuloy", at nalaman kong mayroon akong pindutan ng pag-pause na naka-wire na palaging sarado, sa halip na normal na buksan. Inaasahan namin na mas mahusay kang swerte sa hakbang ng paghihinang.
Ititigil ng Ctrl-C ang script kung kailangan mong magpalaglag.
Kaya kung nakikita mo ang "Pindutin ang isang pindutan", ano pa ang hinihintay natin? Piliin ang alinman sa aming limang mga pindutan ng istasyon ng radyo.
Malamang na maririnig mo ang isang speaker pop upang simulan ang pag-playback ng musika, at hindi ako makakatulong sa sandaling iyon. Nagbibigay-daan ang Mpg123 para sa isang panlapi na "--pag-load 1" pagkatapos ng address ng istasyon sa utos ng os.system, subalit hindi ko masabi kung gumawa ito ng pagkakaiba. Dapat itong payagan ang isang bahagyang buffer.
Ang isa pang piraso ng code na maaaring nagtaka tungkol sa: mayroong isang "-f 7000" flag pagkatapos ng mpg123 na tawag. Binabawasan nito ang dami sa isang malayong distansya ng max volume. Ang Buong Volume ay magiging 32K. Tulad ng naintindihan ko, ang sukat ng lakas ng tunog ay hindi isang linear scale, kaya't hindi ko masasabi na ito ay ikalimang bahagi lamang ng max na dami, ngunit pa rin malakas. Kailangan kong gawin ito dahil ang aking soundcard - ang Google AIY voice soundcard, ay hindi maganda ang paglalaro kasama si Alsamixer minsan.
Magpatuloy na pumili ng mga pindutan sa iyong pipiliin, umupo, magpahinga at masiyahan sa ginhawa ng iyong pakikinig sa ngayon.
Hakbang 11: I-set up ang aming Code upang Awtomatikong Patakbuhin sa Boot
Kaya't kung tumatakbo nang maayos ang lahat, at nasisiyahan ka sa aming pakikipagsapalaran sa prompt ng sandbox command, ngayon ay isang magandang panahon upang i-automate ang pagkarga ng script. Tiyaking nandoon ka pa rin sa direktoryo ng kissir, at ilagay ang script code sa basurahan ng gumagamit:
sudo cp pytiful3.py / usr / local / bin /
Gawin itong maipapatupad:
sudo chmod + x /usr/local/bin/pytiful3.py
Sumulat ng isang shell script upang patakbuhin ito sa pagsisimula:
sudo nano pytiful3.sh
At ipasok ang sumusunod na teksto:
#! / bin / sh ### BEGIN INIT INFO # Provides: pytiful3.py # Required-Start: $ remote_fs $ syslog # Required-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO # tiyakin ang antas ng lakas ng tunog ay hindi malakas TODO # Magpatupad ng mga tiyak na pag-andar kapag tinanong ng system case na "$ 1" sa pagsisimula) echo "Simula pytiful3.py" /usr/local/bin/pytiful3.py &;; itigil) echo "Stopping pytiful3.py" pkill -f /usr/local/bin/pytiful3.py;; *) echo "Usage: /etc/init.d/pytiful3.sh {start | stop}" exit 1;; exit esac 0
Ilipat ito sa init.d:
sudo mv pytiful3.sh /etc/init.d/
Gawin itong maipapatupad:
sudo chmod + x /etc/init.d/pytiful3.sh
Irehistro ang script upang tumakbo sa pagsisimula:
sudo update-rc.d pytiful3.sh mga default
Hakbang 12: Subukang Muli
Ngayon na na-load na namin ang aming script upang magpatakbo sa pagsisimula, tandaan lamang na ang anumang mga pagbabago na gagawin namin ay kailangang dalhin sa basurahan ng gumagamit, at ang aming maganda, kissir / pytiful3.py script ay isang ulila lamang ngayon. Ngunit sa maliwanag na bahagi, mayroon pa kaming sandbox na mapaglalaruan. Marahil ay magpapatuloy akong maglaro kasama ang script, gumawa ng mga pagbabago at mai-save ito bilang isang bagong bersyon sa malapit na hinaharap. Ito ay isang gumaganang proyekto pa rin.
Gumawa ulit ng isang pag-reboot, maghintay para sa pag-restart ng pi, at pagkatapos ng halos isang minuto, pindutin muli ang isang pindutan.
Kung ang iyong audio volume ay napakababa, tandaan na mayroon kaming dami ng alsamixer sa 50%, kaya maaari naming itaas ito nang naaayon mula sa prompt ng utos.
Para sa mga nagsisimula, ang isang bagay na kinakailangan ay isang pandaigdigang halaga ng dami, sa halip na baguhin ang antas ng dami ng 5 magkakaibang oras.
Hoy, paano ang listahan ng mga istasyon ng radyo na ginawa namin sa hakbang # 6? Sa gayon, lumalabas na ang MPG123 ay may isang random na utos ng pagpili. Ito ay kasing simple ng pagbuo ng isang listahan ng mga url ng istasyon, at sa halip na tumawag para sa isang url ng istasyon ng radyo, gamitin lamang
"btn1234_choice = random.choice (btn1234)", kaagad pagkatapos makilala ang aming listahan ng mga istasyon, kung saan ang btn1234_choice ang aming listahan. Huwag kalimutang gumamit ng mga square bracket sa paligid ng aming listahan ng mga istasyon na pinaghihiwalay ng mga kuwit. Ang subprocess na tawag sa utos ay nagpe-play ng aming random na pagpipilian:
subprocess.call (['mpg123', '-q', btn1234_choice, "--preload 1"])
Hakbang 13: Box It Up, at Tapos Na
Kung nakarating ka sa hakbang na ito, kumpleto ang trabaho! Binabati kita - nagtayo ka lamang ng isang nakapag-iisang manlalaro ng radyo sa internet.
Nakasalalay sa kagamitan na mayroon ka (mga nagsasalita, dac at amplifier), maaaring nagtataka ka kung paano itago ang ilan sa mga wire na inilalagay. Marahil isa pang itinuturo para sa iba pang araw, ngunit kung plano mong gumawa ng isang yunit ng pabahay upang maipasok ang ilan sa mga wire, inirerekumenda kong bigyan ang iyong sarili ng maraming dagdag na silid.
Tulad ng nakikita mo sa mga larawan sa itaas - Gumawa talaga ako ng dalawang mga kissir, ang isa ay gumagamit ng mga labi ng isang pandikit na hindi tama sa aking unang pagtatangka (mula sa napakaliit na katatawanan ay mga warped board). Gumagamit ang pangalawang yunit ng mga tunog na nakaka-excite kaysa sa maginoo na mga speaker, at kung kinuha mo ang pangalan ng aparato sa isa sa aking mga screenshot, pinangalanan ko itong slimbox.
Natagpuan ko ang proyektong ito na medyo masaya. Parehong beses. Tiyak na hindi isang mahirap na proyekto, marahil ay isang maliit na oras ng pag-ubos ngunit napaka-rewarding. Inaasahan kong nasisiyahan ka rin sa iyong pakikinig.
Inirerekumendang:
Magaling: ang Itakda Ito at Kalimutan Ito Studio Mas malinis: 10 Hakbang (na may Mga Larawan)
Magaling: ang Itakda Ito at Kalimutan Ito Studio Mas malinis: Ni: Evan Guan, Terence Lo at Wilson Yang Panimula & MotivationSweepy ang studio cleaner ay dinisenyo bilang tugon sa magulong kalagayan ng studio ng arkitektura na naiwan ng mga barbaric na mag-aaral. Pagod na sa kung gaano magulo ang studio sa panahon ng revi
Nike LED Swoosh! Ito ay Isang Mahusay na Dekorasyon para sa isang Silid. Ito ang Iisang Proyekto na Maaaring Ulitin ng Lahat .: 5 Mga Hakbang
Nike LED Swoosh! Ito ay Isang Mahusay na Dekorasyon para sa isang Silid. Ito ang Isang proyekto na Maaring Ulitin ng Lahat .: Mga tool -tape sukat-birador -solding iron-coping saw-electric drill-sandpaperSupplies -LED strip (RGB) 5m-LED Controller -Power Supply 12V 4A-timber 50-50-1500 2x-timber 20-20-3000 2x-playwud 500-1000mm-screws (45mm) 150x-screws (35mm) 30x-scr
Panoorin ito ng Raspberry Pi Oled Clock Pakinggan Ito at Pakiramdam Ito: 5 Hakbang (na may Mga Larawan)
Panoorin ito ng Raspberry Pi Oled Clock Naririnig Ito at Nararamdaman Ito: Ito ay isang matalinong orasan na nagpapakita ng oras sa isang OLED display at maaari mo ring marinig ang oras sa iba't ibang agwat ng oras na tutulong para sa bulag at binabago din nito ang humantong kulay sa oras tulad ng ilaw sa takipsilim na ilaw sa gabi ay nagiging kulay kahel sa dilaw at tulad ng
DIY USB-C hanggang MMCX Headphone Cable (Kung Hindi Mo Ito Maibibili, Buuin Ito!): 4 na Hakbang
DIY USB-C to MMCX Headphone Cable (Kung Hindi Mo Ito Mababili, Buuin Ito!): Matapos ang labis na pagkabigo ay hindi matagumpay na subukan na makahanap ng isang solusyon sa USB-C para sa aking mga high-end na earphone na may mga detachable na konektor ng MMCX, nagpasya akong piraso sama-sama ang isang cable gamit ang muling nilalayon na USB-C digital-to-analog converter at isang 3.5 mm sa MMCX cable
Paano Kumuha ng Musika Mula sa HAPIT NG ANUMANG (Haha) Website (Hangga't Naririnig Mo Ito Maaari Mong Makuha Ok Mabuti Kung Ito ay Embeded sa Flash Maaaring Hindi Mo Magawang) EDITED !!!!! Nagdagdag ng Impormasyon: 4 na Hakbang
Paano Kumuha ng Musika Mula sa HAPIT NG ANUMANG (Haha) Website (Hangga't Naririnig Mo Ito Maaari Mong Makuha … Ok Mabuti Kung Ito ay Embeded sa Flash Maaaring Hindi Mo Magawang) EDITED !!!!! Nagdagdag ng Impormasyon: kung pumunta ka sa isang website at nagpe-play ito ng isang kanta na gusto mo at nais mo dito narito ang itinuturo para sa aking kasalanan kung guluhin mo ang isang bagay (ang paraan lamang na ito ay mangyayari ay kung sinimulan mong tanggalin ang mga bagay nang walang dahilan ) Nakakuha ako ng musika