นี่คือคำอธิบายรายละเอียดมาก:
Den3243
นี่คือโซลูชันบรรทัดคำสั่ง:
ก่อนอื่นมาสแกนจับคู่และเชื่อถืออุปกรณ์ของคุณด้วย "bluetoothctl" หากต้องการทำสิ่งนี้ให้รันสิ่งนี้ที่บรรทัดคำสั่งเทอร์มินัลของคุณ
bluetoothctl -a
คุณควรได้รับคำสั่งต่าง ๆ เช่น:
[bluetooth]
ด้วยการเปิดลำโพง BT ของคุณให้พิมพ์สิ่งนี้:
scan on
ในอีกสักครู่คุณจะเห็นอุปกรณ์ BT พร้อมใช้งาน ถัดจากอุปกรณ์จะเป็นที่อยู่ MAC เช่น: 00: AA: 22: BB: 33 ตอนนี้พิมพ์สิ่งนี้:
info <your mac address>
ยกเว้นอักขระที่มากกว่าและน้อยกว่า สิ่งที่คุณต้องการคือการเชื่อมโยงก่อนหน้ากับลำโพง BT ของคุณ คุณจะรู้ว่ามีการเชื่อมโยงก่อนหน้านี้เพราะ bluetoothctl จะแสดงข้อมูลเกี่ยวกับอุปกรณ์ BT ของคุณ ข้อมูลบางส่วนนี้จะเกี่ยวกับอุปกรณ์ที่จับคู่และเชื่อถือได้ ดีจัง.
หาก bluetoothctl บ่นเกี่ยวกับอุปกรณ์ที่ไม่มีแล้วเราต้องตั้งค่าที่ในขณะนี้ หากต้องการทำสิ่งนี้ให้พิมพ์สิ่งนี้:
pair <your mac address>
คุณควรเห็นข้อความความสำเร็จเกี่ยวกับการจับคู่อุปกรณ์ของคุณสำเร็จ ตอนนี้ขอเชื่ออุปกรณ์ BT ใหม่ของเรา พิมพ์สิ่งนี้:
trust <your mac address>
อีกครั้งคุณควรเห็นข้อความความสำเร็จเกี่ยวกับการเชื่อใจ ให้ฉันเตือนคุณล่วงหน้า อุปกรณ์ BT ของคุณอาจเชื่อมต่อจากนั้นอาจไม่ได้อีกครั้ง ไม่ต้องกลัวเราไม่ต้องการให้มันเชื่อมต่อ ไปข้างหน้าและออกจาก "bluetoothctl" หากต้องการทำเช่นนั้นให้พิมพ์:
quit
ตอนนี้คุณจะถูกนำกลับไปที่พรอมต์บรรทัดคำสั่ง ในโพสต์ก่อนหน้านี้ผมแนะนำให้คุณสร้างไดเรกทอรีสคริปต์ในไดเรกทอรีบ้านของคุณ หากคุณยังไม่มีให้ไปข้างหน้าและทำอย่างนั้นตอนนี้ พิมพ์สิ่งนี้ที่พรอมต์คำสั่ง:
mkdir -p ~/scripts
กด Enter และตอนนี้เรามาสร้างสคริปต์ bash อัตโนมัติของเรา พิมพ์สิ่งนี้:
nano ~/scripts/autopair
ใส่รหัสนี้ในสคริปต์:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
ไม่รวมวงเล็บ!
ตอนนี้กด CTRL + x ในเวลาเดียวกันจากนั้นกด Enter เพื่อบันทึกสคริปต์ เราต้องทำให้มันใช้งานได้ หากต้องการทำสิ่งนี้ให้พิมพ์สิ่งนี้:
chmod +x ~/scripts/autopair
ฉันสมมติว่าคุณไม่ได้ใช้ลำโพงอะนาล็อกภายนอกเสียบเข้ากับแจ็ค 3.5 มม. หากเป็นจริงให้ปิดใช้งาน alsa หากต้องการทำเช่นนั้นให้แก้ไขไฟล์ในไดเรกทอรี / boot ชื่อ config.txt หากต้องการทำสิ่งนี้ให้พิมพ์สิ่งนี้ในเทอร์มินัลของคุณ:
sudo nano /boot/config.txt
เลื่อนหน้าลงไปที่ด้านล่างของไฟล์และค้นหาสองบรรทัดที่อ่าน:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
วาง (เครื่องหมาย # # ปอนด์) ที่ด้านหน้าของบรรทัดที่อ่าน:
dtparam=audio=on
มีลักษณะดังนี้:
#dtparam=audio=on
กด CTRL + x จากนั้นกด Enter เพื่อบันทึกไฟล์ของคุณ
ฉันสมมติว่าคุณได้ติดตั้ง pulseaudio แล้วหรือยัง หากไม่ใช่ให้ดำเนินการต่อและเรียกใช้คำสั่งนี้จากบรรทัดคำสั่ง:
sudo apt-get update && sudo apt-get install pulseaudio -y
สิ่งนี้จะทำให้คุณได้รับองค์ประกอบที่สำคัญมากในการทำให้บลูทู ธ ทำงานได้! ตอนนี้เรามาแก้ไขไฟล์. bashrc ของเราในโฮมไดเร็กตอรี่ของเรา พิมพ์สิ่งนี้:
nano ~/.bashrc
เลื่อนหน้าลงไปด้านล่างและเพิ่มบรรทัดนี้:
pulseaudio --start
กด CTRL + x แล้วกด Enter เพื่อบันทึกไฟล์ของคุณ
ตกลง! เราต้องเข้าสู่โลกของงูหลาม ฉันได้เขียนโปรแกรม Python ที่จะคอยดูอุปกรณ์บลูทู ธ ในระยะสั้นมันจะเปิดใช้งานการเชื่อมต่อระหว่าง RPi และลำโพงบลูทู ธ ของคุณเมื่อเปิดลำโพงบลูทู ธ ของคุณ และในทางกลับกัน. มาสร้างไดเรกทอรีที่ชื่อ python ในโฮมไดเร็กตอรี่ของคุณโดยพิมพ์สิ่งนี้:
mkdir -p ~/python
ตอนนี้เรามาสร้างไฟล์โปรแกรมไพ ธ อน หากต้องการทำสิ่งนี้ให้พิมพ์สิ่งนี้:
nano ~/python/on.py
ภายในไฟล์นั้นเราต้องคัดลอกและวางต่อไปนี้:
#!/usr/bin/python
#
# Monitor removal of bluetooth reciever
import os
import sys
import subprocess
import time
def blue_it():
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 0:
print("Bluetooth UP")
print(status)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
waiting()
def waiting():
subprocess.call('killall -9 pulseaudio', shell=True)
time.sleep(3)
subprocess.call('pulseaudio --start', shell=True)
time.sleep(2)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 2:
print("Bluetooth DOWN")
print(status)
subprocess.call('~/scripts/autopair', shell=True)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
blue_it()
blue_it()
ตอนนี้กด CTRL + x แล้วกด Enter เพื่อบันทึกไฟล์โปรแกรม Python ตอนนี้เราต้องทำให้ไฟล์นี้ทำงานได้ หากต้องการทำสิ่งนี้ให้พิมพ์สิ่งนี้:
chmod +x ~/python/on.py
สุดท้ายให้เพิ่มสิ่งนี้ลงในสคริปต์. bashrc ของเราในโฮมไดเร็กตอรี่ของเรา:
nano ~/.bashrc
เลื่อนหน้าลงไปที่ด้านล่างของไฟล์และเพิ่มสองบรรทัดนี้:
wait
~/python/on.py
ตอนนี้กด CTRL + x แล้วกด Enter เพื่อบันทึก เปิดลำโพงบลูทู ธ และรีบูต Raspberry Pi ของคุณ
โชคดี!
-nitrolinux