Talaan ng mga Nilalaman:

Raspberry Pi Bluetooth Speaker: 4 Mga Hakbang
Raspberry Pi Bluetooth Speaker: 4 Mga Hakbang

Video: Raspberry Pi Bluetooth Speaker: 4 Mga Hakbang

Video: Raspberry Pi Bluetooth Speaker: 4 Mga Hakbang
Video: How I Made My Own Smart Speaker Google + Alexa - Under $30 2024, Hulyo
Anonim
Raspberry Pi Bluetooth Speaker
Raspberry Pi Bluetooth Speaker

Kamusta kayong lahat.

Narito ang isang Maituturo tungkol sa kung paano gumawa ng isang Bluetooth Speaker gamit ang Raspberry Pi. Ginawa ito pagkatapos ng isang bagong pag-install ng pinakabagong Raspbian (hanggang sa 2020-10-31.) Sa Instructable na ito ay iko-convert namin ang Raspberry Pi upang makatanggap ng audio sa paglipas ng Bluetooth at i-output ito sa pamamagitan ng built in na 3.5 audio jack. Kung gumagamit ka ng Raspberry Pi 1 o 2 pagkatapos ay kakailanganin mong gumamit ng isang hiwalay na Bluetooth Adapter. Para sa Instructable na ito gagamitin namin ang Raspberry Pi 3B.

Mga gamit

Raspberry Pi 1, 2, 3 o 4.

Speaker na may 3.5 audio jack input.

Power Supply para sa Raspberry Pi.

Mouse at Keyboard para sa Raspberry Pi (o maaari kang SSH sa ibang computer).

Ang dongle ng Bluetooth kung gumagamit ng Raspberry Pi 1 o 2.

Hakbang 1: Mag-log in sa Raspberry Pi

Ang hakbang na ito ay medyo nakakaintindi ng sarili!

Kakailanganin mong mag-log in sa Raspberry Pi alinman sa pamamagitan ng SSH o sa isang monitor, mouse at keyboard. Kung ikaw ay nasa Raspian GUI pagkatapos magbukas ng isang Terminal. Kung ikaw ay SSH'ing pagkatapos ay nandiyan ka na.

Bago ka magpatuloy sa mga susunod na hakbang maipapayo na tiyakin na na-update mo ang iyong system.

sudo apt-get update

sudo apt-get upgrade

Maaari itong tumagal ng ilang minuto.

Hakbang 2: Pag-uri-uriin ang Bluetooth

Kung papasok ka

sudo systemctl status blue *

pagkatapos marahil ay ibabalik nito ang isang bagay tulad sa ibaba.

pi @ raspberrypi: ~ $ sudo systemctl status blue *

● blu Bluetooth.service - Serbisyo ng Bluetooth Na-load: na-load (/lib/systemd/system/blu Bluetooth.service; pinagana; preset ng vendor Aktibo: aktibo (tumatakbo) mula noong Sat 2020-10-31 12:36:04 GMT; 40min na nakalipas Docs: man: bluetoothd (8) Pangunahing PID: 523 (bluetoothd) Katayuan: "Tumatakbo" Mga Gawain: 1 (limitasyon: 2065) CGroup: /system.slice/blu Bluetooth.service └─523 / usr / lib / Bluetooth / bluetoothd Okt 31 12: 36: 04 raspberrypi systemd [1]: Simula sa serbisyo ng Bluetooth… Okt 31 12:36:04 raspberrypi bluetoothd [523]: Bluetooth daemon 5.50 Okt 31 12:36:04 raspberrypi systemd [1]: Sinimulan ang serbisyo ng Bluetooth. Okt 31 12: 36: 04 raspberrypi bluetoothd [523]: Simula sa SDP server Oktubre 31 12:36:04 raspberrypi bluetoothd [523]: interface ng pamamahala ng Bluetooth 1.14 Okt 31 12:36:04 raspberrypi bluetoothd [523]: Nabigo ang paunang pagpapatakbo ng driver. Okt 31 12:36:04 raspberrypi bluetoothd [523]: sap-server: Hindi pinahintulutan ang operasyon Oktubre 31 12:36:04 raspberrypi bluetoothd [523]: Nirehistro ang endpoint: nagpadala =: 1.10 p Oktubre 31 12:36:04 raspberrypi bluetoothd [523]: Endpoint r egigned: sender =: 1.10 p Okt 31 12:36:04 raspberrypi bluetoothd [523]: Nabigong maitakda ang privacy: Tinanggihan (0x ● bluealsa.service - BluezALSA proxy Loaded: load (/lib/systemd/system/bluealsa.service; static; preset ng vendor:

Mapapansin mo na mayroong isang bilang ng mga error. Aalisin muna namin ang mga ito.

Ang mga unang uuriin namin ay "nabigo ang pagpapasimula ng sap driver." at "sap-server: Hindi pinahintulutan ang operasyon". Pasok

sudo nano /lib/systemd/system/blu Bluetooth.service

papasok sa terminal. Makakaisip ito.

[Yunit]

Paglalarawan = Dokumentasyon ng serbisyo ng Bluetooth = tao: bluetoothd (8) ConditionPathIsDirectory = / sys / class / bluetooth [Serbisyo] Uri = dbus BusName = org.bluez ExecStart = / usr / lib / bluetooth / bluetoothd NotifyAccess = pangunahing # WatchdogSec = 10 #Restart = on-failure CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = true ProtectSystem = full [Install] WantedBy = bluetooth.target Alias = dbus-org.bluez.service

Idagdag pa

--noplugin = katas

pagkatapos

ExecStart = / usr / lib / Bluetooth / Bluetooth

upang gawin itong tulad sa ibaba.

[Yunit]

Paglalarawan = Dokumentasyon ng serbisyo ng Bluetooth = tao: bluetoothd (8) ConditionPathIsDirectory = / sys / class / bluetooth [Serbisyo] Uri = dbus BusName = org.bluez ExecStart = / usr / lib / bluetooth / bluetoothd --noplugin = sap NotifyAccess = main # WatchdogSec = 10 # Restart = on-failure CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = true ProtectSystem = full [Install] WantedBy = bluetooth.target Alias = dbus-org.bluez.service

Makatipid at lumabas. (ctrl-x, y, ipasok). Tapos

sudo reboot

Kapag nakabalik ka na sa terminal pumasok

sudo systemctl status blue *

Dapat malutas ang mga error, maliban sa isa.

Nabigong itakda ang privacy: Tinanggihan (0x0b)

Pasok

sudo systemctl muling simulan ang asul *

ayusin.

Hindi pa tayo tapos pa. Kakailanganin din naming idagdag ang gumagamit na "pi" sa bluetooth na ginagamit

sudo adduser pi bluetooth

pi @ raspberrypi: ~ $ sudo adduser pi bluetooth Pagdaragdag ng user `pi 'sa pangkat na` Bluetooth' … Pagdaragdag ng pi ng gumagamit sa pangkat na Bluetooth Tapos Na.

Susunod na kailangan naming bigyan si bluealsa ng kakayahang maglaro ng mga audio stream sa pamamagitan ng mga interface ng audio ng Raspberry Pi (katulad ng 3.5 audio jack).

sudo nano /lib/systemd/system/bluealsa.service

Dapat itong makabuo

[Yunit]

Paglalarawan = BluezALSA proxy Nangangailangan = bluetooth.service Pagkatapos = blu Bluetooth.service [Serbisyo] Uri = simpleng User = root ExecStart = / usr / bin / bluealsa

Idagdag pa

-p a2dp-pinagmulan -p a2dp-lababo

pagkatapos

ExecStart = / usr / bin / bluealsa

gumawa

[Yunit]

Paglalarawan = BluezALSA proxy Nangangailangan = bluetooth.service Pagkatapos = blu Bluetooth.service [Serbisyo] Uri = simpleng User = root ExecStart = / usr / bin / bluealsa -p a2dp-source -p a2dp-sink

I-save at lumabas (ctrl-x, y, ipasok).

Tapos

sudo reboot

Ginagawa nitong mas handa o mas handa ang aming Bluetooth. Ngayon kami ay magpapares at kumonekta sa aming Raspberry Pi.

Hakbang 3: Pagpapares, Pagkonekta at Pagtitiwala

Inilatag na namin ngayon ang mga pangunahing kaalaman upang makagawa ng isang Bluetooth Speaker. Ngunit kailangan pa rin nating makakonekta upang makapagpatugtog ng musika sa pamamagitan nito.

Una, pumasok

sudo bluetoothctl

tapos

kapangyarihan sa

tapos

i-scan

isang bagay na tulad nito ay dapat na lumitaw

pi @ raspberrypi: ~ $ sudo bluetoothctl

Nirehistro ng ahente ang [bluetooth] # kapangyarihan sa Pagbabago ng lakas sa nagtagumpay [bluetooth] # pag-scan sa Discovery nagsimula [CHG] Controller B8: 27: EB: A2: FD: 3C Pagtuklas: oo [BAGO] Device 60: D8: 19: C0: 2E: 41 FARTHINGSLAPTOP [BAGO] Device A4: E4: B8: 59: BE: 8D A4-E4-B8-59-BE-8D [CHG] Device A4: E4: B8: 59: BE: 8D Pangalan: APR-BLACKBERRY [CHG] Device A4: E4: B8: 59: BE: 8D Alias: APR-BLACKBERRY [CHG] Device A4: E4: B8: 59: BE: 8D TxPower: 0 [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001800-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001801-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001200-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000113b-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001124-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000111f-0000-1000-8000 -00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001203-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001116-0000-1000 -8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001105-0000 -1000-8000-00805f9b34fb [CHG] Device A4: E4: B8: 59: BE: 8D UUIDs: 00001132-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 RSSI: - 66 [bluetooth] #

sa halimbawang ito ay magpapares kami at kumokonekta sa aparato na tinatawag na FarthingsL laptop.

Kaya (palitan ang mac address ng aparato kung saan ka makakonekta).

pares 60: D8: 19: C0: 2E: 41

[bluetooth] # pares 60: D8: 19: C0: 2E: 41

Sinusubukang ipares sa 60: D8: 19: C0: 2E: 41 [CHG] Device 60: D8: 19: C0: 2E: 41 Nakakonekta: oo Humiling ng kumpirmasyon [ahente] Kumpirmahin ang passkey 478737 (oo / hindi): oo [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00000002-0000-1000-8000-0002ee000002 [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001000-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001104-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001105-0000-1000-8000 -00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001106-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001107-0000-1000 -8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000110b-0000 -1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000110e -0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001112-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001115-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000111b-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000111f-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 UUIDs: 00001304-0000-1000-8000-00805f9b34fb [CHG] Device 60: D8: 19: C0: 2E: 41 Mga Serbisyo Nalutas: oo [CHG] Device 60: D8: 19: C0: 2E: 41 Ipares: oo Matagumpay ang pagpapares

Pagkatapos ay maaari kaming kumonekta sa aparato.

ikonekta ang 60: D8: 19: C0: 2E: 41

Matagumpay na koneksyon

[Bluetooth] # kumonekta 60: D8: 19: C0: 2E: 41

Sinusubukang kumonekta sa 60: D8: 19: C0: 2E: 41 [CHG] Device 60: D8: 19: C0: 2E: 41 Nakakonekta: oo Matagumpay ang koneksyon [CHG] Device 60: D8: 19: C0: 2E: 41 Nalutas ang Mga Serbisyo: oo [CHG] Device 60: D8: 19: C0: 2E: 41 RSSI: -59

Susunod ay pagtitiwalaan namin ang aparato upang makakonekta kami dito nang walang kumpirmasyon.

tiwala 60: D8: 19: C0: 2E: 41

[bluetooth] # tiwala 60: D8: 19: C0: 2E: 41

[CHG] Device 60: D8: 19: C0: 2E: 41 Pagkatiwalaan: oo Pagbabago 60: D8: 19: C0: 2E: 41 nagtagumpay

Sa puntong ito dapat kang konektado ngunit mapapansin mo na kung nagpapatugtog ka ng musika, hindi ito tumutugtog sa pamamagitan ng speaker na konektado sa Raspberry Pi. Iyon ang gagawin natin sa susunod na hakbang.

Hakbang 4: Patugtog ng Musika

Sa ngayon dapat kang konektado sa iyong Raspberry Pi, ngunit walang musika ang tumutugtog sa pamamagitan ng speaker.

Maaari mong ayusin ito sa pamamagitan ng utos

bluealsa-aplay 00: 00: 00: 00: 00: 00

Ngayon ay dapat mong marinig ang tunog na dumarating sa pamamagitan ng iyong speaker kapag nagpe-play ka ng media, ngunit hindi mo nais na ipatupad ang utos na ito sa tuwing nais mong maglaro ng isang kanta, kaya't tatakbo ito sa boot.

Pasok

sudo nano /etc/rc.local

Dapat magkaroon ito

#! / bin / sh -e

# # rc.local # # Ang script na ito ay naisasagawa sa pagtatapos ng bawat multiuser runlevel. # Siguraduhin na ang script ay "lalabas sa 0" sa tagumpay o anumang iba pang # na halaga sa error. # # Upang paganahin o huwag paganahin ang script na ito baguhin lamang ang pagpapatupad ng # bits. # # Bilang default ang script na ito ay walang ginagawa. # I-print ang IP address _IP = $ (hostname -ako) || totoo kung ["$ _IP"]; pagkatapos ay i-print ang "Ang aking IP address ay% s / n" "$ _IP" fi exit 0 Ente

bluealsa-aplay 00: 00: 00: 00: 00: 00

kanina lang

exit 0

kaya parang ganito.

#! / bin / sh -e

# # rc.local # # Ang script na ito ay naisasagawa sa pagtatapos ng bawat multiuser runlevel. # Tiyaking ang script ay "lalabas sa 0" sa tagumpay o anumang iba pang # na halaga sa error. # # Upang paganahin o huwag paganahin ang script na ito baguhin lamang ang pagpapatupad ng # bits. # # Bilang default ang script na ito ay walang ginagawa. # I-print ang IP address _IP = $ (hostname -ako) || totoo kung ["$ _IP"]; pagkatapos printf "Ang aking IP address ay% s / n" "$ _IP" fi bluealsa-aplay 00: 00: 00: 00: 00: 00 exit 0 I-save at lumabas (ctrl-x, y, ipasok)

Tapos

sudo reboot

Kapag nag-boot ito, kumonekta at magpatugtog ng isang kanta!

Ngayon ay dapat na mayroon kang isang ganap na gumaganang Bluetooth speaker!

Kung mayroon kang anumang mga katanungan mag-iwan ng komento sa ibaba at makikipag-ikot ako sa kanila sa lalong madaling panahon na makakaya ko.

Salamat sa pagtingin.

Inirerekumendang: