# 开始使用蓝牙功能

Qualcomm Linux 蓝牙解决方案包括 BlueZ 协议栈和示例测试应用程序。这些应用程序与 BlueZ 协议栈的蓝牙守护程序交互以运行蓝牙功能。

Qualcomm Linux 支持 BlueZ 协议栈的以下示例应用程序：

- bluetoothctl
- obexctl
- ofono
- evtool

以下工作流显示了如何使用示例应用程序开始验证蓝牙功能。

![../../_images/get-started-workflow.png](data:image/png;base64,UklGRsgQAABXRUJQVlA4TLsQAAAvGgUxAB8GIZIkxVY9/GCBjX6vzMx/t3enbECOJEmRFEP/1WDtlLnXCXSiMr2YuapmKmBJkq0qKuzgrJ316fin4ZzzmFvzH0CVqloqWwyywaDawCCVDeir/qcC2WCQDZEthS2FABobAoRKUd0gVCqBCqFSKVQqhKpaKoax9bDQU0n1kPRBmPWQUE8lmp6qfpo1MAopJNRTCTnMJc4SGoWeSmgxl/6v2sJyCu03jVJtSDWjgBIkgSiBAEkPAiSAHgQIhGAYgzD7W5lmpzLNTl//B9lOpinrybTs736N4UvWlFDnS4v0//9QrZ7p7+8IyteXZoWkktA+KKP61svMAeAWNwAK1+GGckPhCtCBuQMA4eaiQLkC0IHCydwlHShQOAKUc8AFTg8B4RhwAChHBAgQ2AMKlAMCBBhhf3VAgBEI26cj14G2XrVI7+9/3t//fLw2TGfnN68+Po4+Po5U+Vt4unv6/dJmt/HxcaRqkWaFbCe3VxObaeXseA0Wrm1WHDeauyCHmZk5ke2QmcLMOLO+trzMLLOt8ZqljFdj6tmMlmRHCjNzflm6q76qlq662o5yOqL/khhJEtumLzCOspPM3ewtKZqk9u2GItsPz774imHAduk5MxScdEO5fN2Vw3/t6nL5prNFzirfcOYxpaHAdtrV5QsFZtx03fGlYcF2zOXlkzAXl08pDQ+242+8DnPtNaVhwnZR+UfwXyxfNFTIGeWTESeUzx8q5LTy6YX/FP5T+E/hP9+L5ub5i0xut6wLk9nzbPZwzqYw2TTHZg/nzgqStTcvsrndvLbPLHzSm93uDrBzy6N2e3hvgJ3ZD9nt4aO3BMeJi73dbfGJ/WSxf36F3X49fGJozPWjK61muX9yfWjMenJsudmM+uD+3OMtb3f3kVmmu7XCLwmMdY+Pmu7iPaHxwJjlFo4+emJYzPPLveVtbv9Y7G1vTwTGHGqh3d3AXtpkexpZ4W8Pi7ttP1IYvbc35BC7VoaWRpZ449ucHLl7835xWDxhvIVP9o9Hxoz36+bATiVZz6KwWGQ9y4JivfHby/36wn8K/yn8p/Cfwn8K/yn8p/Cfwn8K/yn8p/Cfwn8K//meDJUdm51zG1/UKTpkPavGHWuvHIo0Huqdqrt2oKwaX30wq6lsdR1A06mnr0H9eqHmdMZN1hxp1Y0HFB4o10yvIiQr6FMMhkTTdXoipe5appEm0t3LB1Wu5AecNo2onMop+Ab3jdmSiqZzenhrUVInmfQRcvSDylbXTfb+e7a4joX0Me731Fwn37Fq3LWAhOpU2uzdibzX0SV69u2O0/vRMZquG4GVkk8ACWH1wRwH8aIDIz0tba+HH0W0jo7RoDOPwnPvtppzGw+QyI9bxyNZTCc1Z3KLq/4nshAoQTP5E5udO3yAApxKiF1xh2NXoJOQvf+I9W2YZgfCiYhX/hMhO/9NzvO98qLHDjPgQLIR4cSmLr6ppvZEzb08lfzdpiPeJXmbLQsMUK6JA92aIVIcCw0kQhUhGY84vZXdzr18gO/ZpODWLJfY8eo0B0uRvGTs2UyzDbZcGKsxX1YfVJ1JqrZS898aUWUoTadiAzv7qeAl4ko3EpwUztYB13bTsBPsbNeJ0insMAMPJDNBh5heNXkJxKduBEnUMbXKLwrUa6aJPIIiVBGS7QjTy+a0ehsHBrdquZAId7dyoBTRS8KtdL1IwLEaw6rxePdzP5ZxKPKVXcQwsg9Tk5wZnai5lpVU4inuqCa/E0mT3xRdgU4Kmfv/UXLatDqVKK0mR6UTJAHXXawxluiq037vVnEMFGEg2fkPsSNKbo0ivpOcSP8d+vfokRFLPDKV3bFKBao1QxPK4ftjpbGrgghNhGQ58vQ2kkjeu8UBhOAWl0szCfFK3XGgFNlL7JIEGqsxkIl0buOC+9HCoesiLSQgGq4b2fnXupECoAUhCpKdFM8mM9XssIwLnqwRLcl7WcFhgjCQbGUy2QPRXKuJ71gShjpI/57iGD95x+gVKNaMIKXuOoIITYRkOsKM0gN8GrxpgptqoX9PuKYLSpG9FLKNABqrNfjKHtJxh6NkbqtT4NAgJW1+DtpKXpmOvIYOWw8IUZDspGcr4+X9HrZ9/9y+xVHaLGUzBIcJ0kAyEjDbbRaqmvjuRhIo5bZUVKc1KNYMShXMQ0GEIkKyHWFG43AES0QV3Hiu0dFBg0OlaL3E2UYCjtWgu3AeTC43J+sdXj+YArZUqGMWblR2ueqUdr+kQBYkOklbgxxyLYjguwWnRXCYIA0kQ+/CYfNInRHdUEFDm75bVWwk7yQVKMaCMw5RKYhAEWICwozyZNFg6IKbgdQ3OVCKwkucbSTAWG0Bujbu2vE71xwCy6GtfiE6ydrEZiLkEH3X7qob/7t/K6WVnngg2QyYznoyp6r4FmAWksCXYY7IKMbCMw4gEWENWEMqYHDLTNZEoBTqpcUIOzoc6DDH5gXYpK8+2D+U1lR2JldxtMmppCTRVHpKdSqr792uk31+nFdFN5QQhfG2iJBgUzls+5duJAGDu7dfFF6moxsZAj49Aklk9Io2v/7aPpgA1+kP1Fi15bvgPnDVuBLBYQIZSLYi5dSma/NwT42vV/+1dfXB3iGOJf3LCBNfxsGt3Y01OFSKzkucbax8ueG4tXXXSWR0Ix62CORaZSsllkdD2cTrKflLcPJ7iOikxzuyyRqi6VxbBXaYToM0kAyFH+WQbdENNU33Uq3j023gOFCNhcYEX1OSCFMQp7eylQUvAge35rCCGYcTr9ZLnG0Ey9FYDbqecjoil/FXp4iM7gFPrpmCi575SS7yEy8lNJPK1tgDNPlp6EYCkpNoDAc8uWCSvsdKDly1YIcpwkAy92FoDfe/8cQj0Q0NXJprayBi2z5BiAPVmuEXGu5L1pQggkaIGYgz2oj/nnBtIwpuEaq4ndxCw0FSFF6CNZAcnQiW07FadT2l5k4Fd4ieNY47yNe4rb6DcStR1zb13m3XRpOvBDiFBAlOQnXoGUtNKqG7y3VUQIfZNAgDyVwma3Q1S25oIR5XpwTV8NpWAo4D7ZqJpaA1hUSACMl2gAstOKO6O2LE4JbmuiHdhQOlyF6SNcADHllu2V043lfYfZ33e3iv5otEwws12K1sSy7ybTJaEzX3yrQ3FF+Pz3iAydeBnEKCFE4Cb+mdtPRRS7GB5J2SBuQwnwY4kCx9hK7knRTfatibSA2J2Ih5AONAu2a0926zCDEE5b3bdZ4e5eAW53piM753G0lReMnXQHVazEPCWK1/ujglM5/488Ynb/by6eJZ6/Ag8ulbg/J0cU7bsqeLv/veq5jBTA2BjvXIipGRT97Mj4yMfPrWgMCvSLOM90b++t6roYF/udiba8sCHeuRFkknP5J0BoYJ1/G2MZJ0QmTVOPldT911o9QEOtYjLWgnL0I7A0HdxT9tHbQT4MaEc871xrVAx3qkBe/kQ3hnANiV/JrBOngnvJeTX+dWDx/ogQ1BjjVXf8jrL3734Xv9bh98C+rc401vP/vtR+/1vY2MoM4i2z386W8+7ruFn42MgM5MQz7kNVfz1Uhg7fc/NZ3fhebhH35mOr8OzMK//eqoDL/66otP+90+R/zl3fu86fzyqz9+2veG+Pv733jT+fnXf+q7hX+GR/5vH62rmuIN1FuTA6umQL3X81/VFO/B88Xrj9qBeqUcCOqVciDoKoNcR1A3Mqjr9dDXktITdRkIuDZjIOGPpWn3wLqGa2cioNc/erAIUhpE/emD6WR9ZBRfvlMqUQbgfqZ8RNO51KDbaXuiLgNhvUEnpXVZCuv1kx4sgpQG9Q2yPjII2svh9KJeD0shvYGmh9ZlIqTHCWkR9I6+mZ5V8F7O2whxz2Uqa+JejiTuhUfbZzbhWJjrXxYqyOD1evASPlClGUKdI5WtRJ3n8tDzk+CjlYA6D2UBqaDskQx4GFqgIMOE8lqwCLyB3BI0c+uoNvhMK1yuSqZQCgq0CFBUS9MNzeIGpfNHCgdoOlpF3YgtnyyglDBQG7iMGUGDkFNAtsB1zxgGriADwEv4ECrNmKwxDQAuT6JB5bV1AKmo7BGj4IaJ5bVgERjoFtYs0+ReCeWqWIo03dAsTkp/hHDQAB4tudW1LAanFahBBGULLM4u8KckACnNJGtKlWbIdY50PJInMFlL9E2AT+fEcKlC2SOmoCvRQyi0A4uAYLcEzdQ6ok2oCwRHS6YQ6AZEmG5sFjGoB/5gS8UfYQe27OyKxeC0gjVApGyB85BlgLwKieeZaWE7cPyUNwqTJ9MA8a2BSWXq2DDtQTQsgSzyRuyvIAKB3cKaMciruuvgaDEVYbqxWYTU/kjrSAQvpo63GJxWgAZdTtEJtQy+6juQbiRWmkHrHMFQeRLC+yANXKpU9og5L4uG8XknOUAQgSDvHhWaAVgbsxtGi7l0dCFOSO0PtlQBDoyWyeC0QjUoELMFqXvGQNo6xEozUJ0jKSE7sd7gWIs3zUE0TPjIdM1n+aNdv6wZIWkjcpNoMRhViGNS+wMt1eLrTI7J4LSCNAiI2QLUPWMvHbnSDFznCKLjRUhIpwAeGBiGZFivIG4pNAOQNutRhTgmtT/YUgVcO9FgMjitYA3QaDFbQKHmIleagescwei+pEdS561BMKxnEB8UmnPnF2ipClikis2gtCJpSGE0FmoucqUZQp0jEN3L6aHqTEJXoodQaIcgAkF8UGjm6M7dGY0qxDGp/cGWaoBFqtiMkFawBr3RglDLaTrXhnWOCHDJ9FgA6+8k+USShaV2I75srEE2LKEbsZwiiEBZAbuFNTOwNiK94w0FRbWAGOKEHviDLZWBRapYjJhWsAaUU4RsgcXZi1xpBq5zhGZShlA8BrjIbU/NtUi+hbIQQtkjpmzoS/SIVdApxiIg2C2smRpMEeoCsRQU1QJiiFOD0vsDLIVwc1GRKiYjpRWsAbouZQtBnLXIlWbgOkeohm5Ekev2aLCL87k6IAuByx6xZUNXoodQXgsWAYFuQbORdYq7S+wkXZUu2CxuUEp/BEvF/WHSIUOsThkNTitYQ4qaXLBQc1FUmiHVOfJCDYDr9oBigTogC4HLHrEHhWG4vBZYAQoGuSWazayT70k2FRTVMoJZzKB0/oiWAtPR+khkdCOrgWkFakhRkwsWl1+fLp41hNkSJBGhtewim1uS0rODDH0Y2nfkVLZWp4YWmXAdP6RI3cU/PbzFQBSp8t0Eg/Qhr0cyG94X/lP4T+E/hf8U/lP4T+E/hf8U/lP4T+E/hf8U/lOExQPedFb42WGxzHrmh8V861kaFCc+6Y1nbd9Yar1dJwaWRnLl7m22X2E788Ly8IHnTOe5h0p9Y67/ieWM3lsKi1m2M/roiWFx4pPPW87zflNYLPG2tyX9o3Sv5WdARp+c9S25cfN5Pyc0D+fZfmZucSks1j06ttJsVo49uraPrLs7Vj5mchv1j80phcba+M8zNnv4rH9yfim4tvApP2qzh0/HP31iaBbOfsjq1DLm/UOzSj1C2+YsvcfmdtfCdaUA281L7jG6LdoUooebFlnt4eKbA7TwxHl3Gm3hnfNPLPWK4bxW+E/hP4X/FP7zPWhmlC8YKuSM8qkId+PlQ4WcVz4WcumNxw0Tcs2NDnJ6+ZIhQl4rn4txl5UvGRrsvnbTtT8Q+OHF5RuvvOD8IcB2+fXlq37sxHbqFTeVhwLbVec4XZtxwvBfw/+lAwA=)

完成工作流程的顺序如下：

1. 按照 [*Qualcomm Linux 编译指南*](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254) 和 [*Qualcomm Linux Yocto 指南*](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-27) 中的说明设置您的基础架构。[*Qualcomm Linux 编译指南*](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254) 还提供了有关常见构建工作流程的信息。
2. 运行示例应用程序并验证蓝牙功能，如[验证 BlueZ 协议栈的功能](https://docs.qualcomm.com/doc/80-70018-13SC/topic/verify-bluetooth-functionality-of-bluez-stack.html#verify-bluetooth-functionality-of-bluez-stack)中所述。
3. 如果出现任何问题，请按照[调试](https://docs.qualcomm.com/doc/80-70018-13SC/topic/bt_debugging.html#bt-debugging)中所述记录并调试它们。

## 设置蓝牙 MAC 地址

默认情况下，工厂会在一次性可编程存储器中设置蓝牙 MAC 地址。如果您想手动设置蓝牙 MAC 地址，请完成以下步骤。

Note

手动设置的蓝牙 MAC 地址在设备重启后不会保留。

**前提条件**

- 启用 SSH 以访问您的主机设备。有关说明，请参阅[使用 SSH 登录](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/how_to.html#use-ssh)。
- [关闭设备上的蓝牙。](https://docs.qualcomm.com/doc/80-70018-13SC/topic/bluez-perform-bluetooth-gap-functions.html#section-s3x-z1s-lcc-navyanka-08-21-24-1205-42-982)

**步骤**

1. 在命令提示符下使用以下命令运行 SSH：

ssh root@<device_IP_address>
        Copy to clipboard

    **示例**

    如果设备的 IP 地址为 `10.92.160.222`，则运行以下命令：

ssh root@10.92.160.222
        Copy to clipboard
2. 输入以下密码来连接 SSH：

oelinux123
        Copy to clipboard
3. 打开蓝牙管理工具并通过运行以下命令设置蓝牙地址：

btmgmt public-addr <bt_address>
        Copy to clipboard

    例如，请运行以下命令，将设备的蓝牙地址设置为 `22:22:9B:2C:79:1E`：

btmgmt public-addr 22:22:9B:2C:79:1E
        Copy to clipboard

    **示例输出**

sh-5.1# btmgmt public-addr 22:22:9B:2C:79:1E
        hci0 Set Public Address complete, options:
        sh-5.1# hciconfig
        hci0:     Type: Primary Bus: UART
                 BD Address: 22:22:9B:2C:79:1E ACL MTU: 1024:7 SCO MTU: 240:8
                 DOWN
                 RX bytes: 7763 acl:0 sco:0 events:364 errors:0
                 TX bytes: 938685 acl:0 sco:0 commands:4004 errors:0
        Copy to clipboard

## 源代码位置

下表列出了蓝牙组件（例如协议栈、示例测试应用程序和驱动程序）的源代码位置。

| 组件 | 源代码位置 |
| --- | --- |
| bluetoothctl | [https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools) |
| obexctl | [https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools) |
| ofono | [https://git.kernel.org/pub/scm/network/ofono/ofono.git](https://git.kernel.org/pub/scm/network/ofono/ofono.git) |
| BlueZ 协议栈 | <ul class="simple"><br><li><p>BlueZ 的 git 代码仓库位于： <a href="https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/')">https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/</a></p></li><br><li><p>可以在 <a href="https://mirrors.edge.kernel.org/pub/linux/bluetooth/bluez-5.65.tar.gz" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://mirrors.edge.kernel.org/pub/linux/bluetooth/bluez-5.65.tar.gz')">https://mirrors.edge.kernel.org/pub/linux/bluetooth/bluez-5.65.tar.gz</a> 下载该协议栈：</p></li><br><li><p>蓝牙内核子系统的 git 代码仓库位于：</p><ul><br><li><p><a href="https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git/tree/" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git/tree/')">https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git/tree/</a></p></li><br><li><p><a href="https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/')">https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/</a></p></li><br></ul><br></li><br></ul> |
| 蓝牙驱动程序 | 可以从以下位置下载蓝牙驱动程序：<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p><a href="https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/drivers/bluetooth/hci_qca.c" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/drivers/bluetooth/hci_qca.c')">https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/drivers/bluetooth/hci_qca.c</a></p></li><br>> <li><p><a href="https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/drivers/bluetooth/btqca.c" rel="noopener noreferrer" target="_blank" class="xref cursorpointer" onclick="Window.BookmapComponent.navigateExternalFile('https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/drivers/bluetooth/btqca.c')">https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/drivers/bluetooth/btqca.c</a></p></li><br>> </ul> |

Last Published: Apr 30, 2025

[Previous Topic
蓝牙概述](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/introduction.md) [Next Topic
蓝牙功能](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/bt_ft_overview.md)