7.2.9 蓝牙初始化说明
本章节介绍开发板蓝牙功能的初始化流程和使用方法。
概述
开发板支持通过 USB 或 UART 接口连接蓝牙模块。系统启动时,hobot-bluetooth 服务会自动检测并初始化蓝牙设备。
支持的蓝牙类型
| 类型 | 接口 | 说明 |
|---|---|---|
| USB 蓝牙 | USB 接口 | 通过 USB 接口连接的蓝牙适配器 |
| UART 蓝牙 | UART 串口 | 通过 UART 串口连接的蓝牙模块(如 CYW55560) |
系统服务
hobot-bluetooth 服务
蓝牙初始化由 hobot-bluetooth.service 系统服务管理,该服务在系统启动时自动运行。
服务配置文件位置: /lib/systemd/system/hobot-bluetooth.service
[Unit]
Description=Hobot init Bluetooth
Before=getty.target system-getty.slice
After=hobot-loadko.service
StartLimitIntervalSec=60
StartLimitBurst=5
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/hobot-bluetooth start
ExecStop=/usr/bin/hciconfig hci0 down > /dev/null 2>&1
TimeoutStartSec=1min
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
服务管理命令
# 查看服务状态
systemctl status hobot-bluetooth
# 手动启动服务
sudo systemctl start hobot-bluetooth
# 手动停止服务
sudo systemctl stop hobot-bluetooth
# 启用开机自启
sudo systemctl enable hobot-bluetooth
# 禁用开机自启
sudo systemctl disable hobot-bluetooth
初始化脚本说明
初始化流程
蓝牙初始化脚本 /usr/bin/startbt.sh 会按以下顺序检测和初始化蓝牙设备:
┌─────────────────────────────┐
│ 蓝牙初始化开始 │
└──────────────┬───── ─────────┘
│
▼
┌─────────────────────────────┐
│ 检测 USB 蓝牙设备 │
│ (lsusb -t | grep btusb) │
└──────────────┬──────────────┘
│
┌───────┴───────┐
│ │
▼ ▼
检测到 USB 未检测到 USB
│ │
▼ ▼
┌──────────────┐ ┌──────────────────┐