在 Linux 命令行中使用低功耗蓝牙

2023-12-23

我正在研究在 Linux 上使用蓝牙低功耗调制解调器。我正在使用命令行选项,即hcitool。我可以使用以下命令找到设备:$ hcitool scan

它对我来说工作正常,我也可以使用以下方式广播我的设备:

 sudo hciconfig hci0 leadv

它也工作得很好。但我想将服务和特征添加到调制解调器设备中,以便其他设备可以检测到。我努力了sdptool add但这对我不起作用。有谁知道如何使用ubuntu中的命令行工具向外围设备添加服务和特性?

Edit:我的调制解调器正在广播,但无法探索其他 BLE 设备的服务和特性。现在我可以使用设置设备名称hcio name command

Edit:现在我可以通过同时运行来提供服务和特性sudo hcidump命令。但我无法追踪从哪里获得这些服务和特征。一项明确的观察结果是,这些服务是由机器提供的。


BLE 中不存在 SDP。而是使用广播/广告帧和 GATT 客户端/服务器。

几个链接:

  • BlueZ gatttool:运行常见 GATT 程序的命令行工具 http://www.bluez.org/bluez-low-energy-support-status/
  • BlueZ GATT 的就绪配置文件 http://www.bluez.org/profiles/
  • 提示:DBUS http://www.ioncannon.net/linux/1570/bluetooth-4-0-le-on-raspberry-pi-with-bluez-5-x/
  • GATT 和 DBUS 示例 http://i-miss-erin.blogspot.com/2011/09/bt-le-findme-profile-in-bluez.html
  • 如何使用 bluez 在 Linux 上通过蓝牙 4.0 LE 连接到 FitBit Zip? https://stackoverflow.com/questions/16666294/how-can-i-connect-to-the-fitbit-zip-over-bluetooth-4-0-le-on-linux-with-bluez
  • 低功耗蓝牙:在 Linux 中监听通知/指示 https://stackoverflow.com/questions/15657007/bluetooth-low-energy-listening-for-notifications-indications-in-linux
  • http://comments.gmane.org/gmane.linux.bluez.kernel/29547 http://comments.gmane.org/gmane.linux.bluez.kernel/29547
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Linux 命令行中使用低功耗蓝牙 的相关文章

  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 更新Linux中的包含路径

    我的 my path to file 文件夹中有几个头文件 我知道如何将这些文件包含在新的 C 程序中 但每次我都需要在包含它之前输入头文件的完整路径 我可以在linux中设置一些路径变量 以便它自动查找头文件吗 您可以创建一个 makef
  • 当命令在 Ubuntu 终端中运行时,为什么 Dart 的“Process.start”无法执行 Ubuntu 命令?

    我有命令想用 Dart 调用 命令是sonar runner如果我在普通的 Ubuntu 终端中运行它 它会完美运行 这是因为我已经编辑了PATH in the profile文件 使其成为全局命令 但是 如果我写一个简单的Process
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • 为什么此 NASM 代码会打印我的环境变量?

    本学期我刚刚完成计算机体系结构课程 除其他外 我们一直在涉足 MIPS 汇编并在 MARS 模拟器中运行它 今天 出于好奇 我开始在我的 Ubuntu 机器上摆弄 NASM 基本上只是将教程中的内容拼凑起来 并感受一下 NASM 与 MIP
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • 当我尝试在 .bashrc 中添加命令时出现命令未找到消息

    我问了一个问题如何在 bash shell 中编写漂亮优雅的 linux 命令 https stackoverflow com q 19720095 80353 当我尝试该建议时 我收到以下错误消息 Sorry command not fo
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 如何在 Debian 上连接 pybluez RFCOMM 服务器套接字?

    我在 python 中使用 pybluez 框架编写了这些代码片段 from bluetooth import server sock BluetoothSocket RFCOMM server sock bind PORT ANY ser
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 创建反应应用程序:npm 错误!解析“...”附近时 JSON 输入意外结束

    描述错误 npx create react app my app不适合我 我试过npm cache clean force但我一次又一次地遇到同样的错误 重现步骤 npm cache clean force npm npx create r
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • Rabbitmq 忽略 Ubuntu 12 上的配置

    I have rabbitmq server从系统包安装乌班图12 无论我做什么 它似乎都会忽略任何配置文件 网络上的所有内容都表明服务器正在寻找 etc rabbitmq rabbitmq conf 但即使我创建该文件 服务器也报告没有配
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh

随机推荐

  • BigQuery [PHP] InsertAll 错误:表数据附加请求中不存在记录

    在我看来 除了这个函数的最后一行之外 一切都正常 但似乎 json 行 是问题所在 任何帮助表示赞赏 Error Google Service Exception Error calling POST https www googleapi
  • ubuntu中安装eclipse php

    如何安装ubuntu 中的 eclipse php平台使用易于安装 需要任何其他实用程序才能执行此操作 最简单的解决方案是 go to http eclipse org pdt http eclipse org pdt 下载最新版本 右侧图
  • 我有数据存储在 Perl 数组中。如何使用 JSON 将它们转换为 JavaScript 数组?

    这是我正在尝试做的类似示例 name qw Sam Tom John Mike Andrea scores qw 92 80 59 83 88 我需要将这些数组存储为 JavaScript 以便我可以在网页上制作有用的图表 假设您想将它们保
  • isEqualToString 始终返回 False

    在开始之前先介绍一些背景知识 基本上我们希望将 UDP 响应与存储在我们应用程序的 Parse 数据库中的字符串进行比较 这个问题是我似乎无法让 isEqualToString 函数将字符串视为相等 这是我现在运行的代码 我尝试了在其他问题
  • Java程序错误:可能丢失精度

    我试图找出为什么我的 Java 程序中会出现这种精度损失错误 这是错误 error possible loss of precision int digit num Math pow 10 i 1 10 required int found
  • 打开 Google 地图应用(如果适用于 flutter)

    我正在尝试检测 iOS 上是否安装了 Google 地图应用程序 如果是 则启动它 如果没有 则启动 Apple 地图 这是我到目前为止所拥有的 但在我安装了谷歌地图的手机上 它没有检测到它并正确启动 有任何想法吗 import packa
  • 如何在 C# 中创建具有多个命名空间属性的 XML

    例如 我如何在 C 中生成此 XML
  • GetExternalLoginInfoAsync 返回 null dotnet core 2.0

    我正在尝试使用 dot net core 2 0 设置 Facebook 身份验证 但在我的ExternalLoginCallbackAsync 方法中 我总是得到 null 作为响应 我已遵循文档 到目前为止 这就是我所做的 在我的Con
  • 在 Eclipse Mars 中将 m2e 降级到 1.5 版本

    我有个问题 我需要在 Eclipse Mars 中使用 Maven 2 x 它有 m2e 1 6 不支持 Maven 2 x 我必须将 m2e 降级到 1 5 版本 但我不知道如何 不可能在 Eclipse 中卸载它 我从包含 m2e 文件
  • Hyperledger Fabric v1.0 上的隐私

    您能否解释一下 Hyperledger Fabric v1 0 中的一些隐私机制 那些已经实现的以及计划在未来实现的机制 我知道渠道就像单独的区块链 我还浏览了该文档https jira hyperledger org browse FAB
  • tabindex="-1" 的模态将焦点放在选项卡上

    我目前正在使用 Twitter Bootstrap 并且在模态的 tabindex 中遇到一个奇怪的问题 我试图通过模式内的表单元素进行切换 但在最后一个按钮之后 焦点在返回到关闭按钮之前消失了 我在控制台中添加了一行来记录正在聚焦的元素
  • 在 Meteor 事件处理程序中访问模板帮助程序字典

    在 Meteor 中 我将两个对象从我的数据库发送到模板 Template myTemplate helpers helper1 function var object1 this data context set in iron rout
  • Route53 中 A Rec 和 CNAME 之间的区别

    由于Amazon Route 53允许您使用Alias将A记录或CNAME设置为不同的子域名 我现在想知道A记录和CNAME之间有什么区别 为了澄清我的问题 传统NameServer中的CNAME和A记录之间的区别在于 只有CNAME可以用
  • 调用多个api url并同时调用

    我有三个 API url 每个都有相同的对象名称 我希望同时调用所有 api 到目前为止我的js document ready function var first https first var second https second v
  • 确定 JavaScript e.keyCode 是否为可打印(非控制)字符

    我只是想知道 JavaScript 的范围keyCode对应于可输入字符的 s 或者 不可输入 控制 字符的范围 如退格 转义 命令 移位等 这样我就可以忽略它们 我问的原因是打电话String fromCharCode 导致控制键出现奇数
  • UIView 中只有白色填充颜色是透明的

    我有一个UIView即设置为opaque NO一切都很好 在里面drawRect我正在做自定义绘图 这有效 CGContextSetFillColor context CGColorGetComponents UIColor blueCol
  • 在Tomcat上部署war文件

    有没有办法在 Tomcat 服务器上部署给定的 war 文件 我想在不使用网络界面的情况下执行此操作 部署 Tomcat Web 应用程序有多种方法 正如已经提到的 进入 CATALINA HOME webapps Using your b
  • 如何在 Flutter 中处理 Android 设备的 BACK 按钮按下?

    如何处理设备后退按钮onPressed Android 版 Flutter 中 我知道我必须为 iOS 手动添加一个后退按钮 但 Android 设备有内置的后退按钮 用户可以按下它 怎么处理呢 您可以使用WillPopScope为了达成这
  • 有没有办法在 r 中自动重新安装软件包及其依赖项?

    所以我在Rstudio上使用installR将R更新到版本4 0 0 并将我的包文件复制到R中的库文件中 目录是 C Users Ibrahim Documents R R 4 0 0 library 每当我调用一个包时 例如 tidyte
  • 在 Linux 命令行中使用低功耗蓝牙

    我正在研究在 Linux 上使用蓝牙低功耗调制解调器 我正在使用命令行选项 即hcitool 我可以使用以下命令找到设备 hcitool scan 它对我来说工作正常 我也可以使用以下方式广播我的设备 sudo hciconfig hci0