Đây là một lời giải thích rất chi tiết:
Den3243
Đây là một giải pháp dòng lệnh:
Trước tiên, hãy quét, ghép nối, tin tưởng thiết bị của bạn với "bluetoothctl". Để làm điều đó, hãy chạy nó tại dòng lệnh, thiết bị đầu cuối của bạn:
bluetoothctl -a
Bạn sẽ nhận được một dấu nhắc lệnh khác nhau như:
[bluetooth]
Với loa BT của bạn trên, gõ này:
scan on
Trong một vài phút, bạn sẽ thấy các thiết bị BT có sẵn. Bên cạnh thiết bị sẽ là địa chỉ MAC, như: 00: AA: 22: BB: 33. Bây giờ gõ này:
info <your mac address>
Loại trừ lớn hơn và nhỏ hơn ký tự. Những gì bạn đang tìm kiếm là một loại liên kết trước đó với loa BT của bạn. Bạn sẽ biết rằng đã có một hiệp hội trước đó vì bluetoothctl sẽ hiển thị thông tin về thiết bị BT của bạn. Một số thông tin này sẽ là về thiết bị được ghép nối và tin cậy. Điều này là tốt
Nếu bluetoothctl phàn nàn về việc không có thiết bị, thì chúng ta cần thiết lập nó vào lúc này. Để làm điều đó, gõ này:
pair <your mac address>
Bạn sẽ thấy một thông báo thành công về việc ghép nối thiết bị của bạn thành công. Bây giờ hãy tin tưởng vào thiết bị BT mới của chúng tôi. Nhập cái này:
trust <your mac address>
Một lần nữa, bạn sẽ thấy một thông điệp thành công về sự tin tưởng. Hãy để tôi cảnh báo trước cho bạn. Thiết bị BT của bạn có thể kết nối sau đó một lần nữa có thể không. Không bao giờ sợ hãi, chúng tôi không muốn nó kết nối. Hãy tiếp tục và hãy thoát khỏi "bluetoothctl". Để làm điều đó, gõ:
quit
Bây giờ bạn sẽ được đưa trở lại dấu nhắc dòng lệnh. Trong một bài viết trước tôi đã đề nghị bạn tạo một thư mục script trong thư mục chính của bạn. Nếu bạn không có, hãy tiếp tục và làm điều đó ngay bây giờ. Nhập cái này vào dấu nhắc lệnh:
mkdir -p ~/scripts
Nhấn enter và bây giờ hãy tạo tập lệnh bash autopair của chúng tôi. Nhập cái này:
nano ~/scripts/autopair
Nhập mã này vào tập lệnh:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Không bao gồm dấu ngoặc!
Bây giờ nhấn CTRL + x cùng một lúc, và bây giờ nhấn enter để lưu tập lệnh. Chúng ta cần làm cho nó thực thi được. Để làm điều đó, gõ này:
chmod +x ~/scripts/autopair
Tôi giả sử rằng bạn không sử dụng loa analog ngoài cắm vào giắc cắm 3,5 mm. Nếu điều này là đúng, hãy vô hiệu hóa alsa. Để làm điều đó, hãy chỉnh sửa một tệp trong thư mục / boot có tên config.txt. Để làm điều đó, hãy nhập cái này vào terminal của bạn:
sudo nano /boot/config.txt
Trang xuống cuối tập tin và tìm hai dòng có nội dung:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Đặt một (dấu thăng #) ở phía trước dòng ghi:
dtparam=audio=on
Để trông giống như:
#dtparam=audio=on
Nhấn CTRL + x và sau đó nhấn Enter để lưu tệp của bạn.
Tôi đang giả sử bạn đã cài đặt pulseaudio? Nếu không, hãy tiếp tục và chạy lệnh này từ dòng lệnh:
sudo apt-get update && sudo apt-get install pulseaudio -y
Điều này sẽ giúp bạn có một thành phần rất quan trọng để làm cho bluetooth hoạt động! Bây giờ hãy chỉnh sửa tệp .bashrc trong thư mục chính của chúng tôi. Nhập cái này:
nano ~/.bashrc
Trang xuống dưới cùng và thêm dòng này:
pulseaudio --start
Nhấn CTRL + x và bây giờ nhấn Enter để lưu tệp của bạn.
ĐỒNG Ý! Chúng ta cần tham gia vào thế giới Python. Tôi đã viết một chương trình Python sẽ xem cho thiết bị bluetooth. Nói tóm lại, nó sẽ kích hoạt kết nối giữa RPi và loa bluetooth của bạn, sau khi loa bluetooth của bạn được bật. Và ngược lại. Hãy tạo một thư mục có tên python trong thư mục chính của bạn Để làm điều đó, hãy nhập vào đây:
mkdir -p ~/python
Bây giờ hãy tạo tập tin chương trình python. Để làm điều đó, gõ này:
nano ~/python/on.py
Bên trong tập tin đó, chúng ta cần sao chép và dán như sau:
#!/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()
Bây giờ nhấn CTRL + x và sau đó nhấn Enter để lưu tệp chương trình Python. Bây giờ chúng ta cần làm cho tập tin này thực thi. Để làm điều đó, gõ này:
chmod +x ~/python/on.py
Cuối cùng, hãy thêm đoạn mã này vào tập lệnh .bashrc trong thư mục chính của chúng tôi:
nano ~/.bashrc
Trang xuống dưới cùng của tệp và thêm hai dòng sau:
wait
~/python/on.py
Bây giờ nhấn CTRL + x và sau đó nhấn Enter để lưu. Bật loa bluetooth của bạn và khởi động lại Raspberry Pi của bạn.
Chúc may mắn!
-nitrolinux