首页 > 其他分享 >基于bluez的蓝牙ble开发

基于bluez的蓝牙ble开发

时间:2024-07-30 11:51:13浏览次数:12  
标签:基于 蓝牙 bluez 开发 ble 设备

linux蓝牙协议栈bluez(https://github.com/bluez/bluez/tree/master),提供了丰富的蓝牙开发工具和示例。

bluez5主要提供基于HCI和基于DBUS的接口,基于HCI的接口主要用于更细致控制蓝牙硬件模块,而基于DBUS的接口提供大量的蓝牙上层协议,能更好的管理蓝牙。

轻量级开发:不使用glib、dbus,开发周边设备可以借鉴btmgmt.c和btgatt-server.c、btgatt-client.c。

重应用开发:使用glib、dbus开发的话,可以参考gatt-service.c。一般音频、文件传输基于此,提供了丰富接口和上层应用。

ble开发

一般 BLE(低功耗蓝牙)设备的连接流程可以分为以下几个步骤:

启动设备发现:通过 StartDiscovery 方法开始扫描周围的 BLE 设备。
监听设备发现信号:监听 InterfacesAdded 信号,以获取发现的设备对象路径。
停止设备发现:扫描到目标设备后,通过 StopDiscovery 方法停止扫描。
配对设备(可选):如果设备需要配对,可以调用 Pair 方法进行配对。
连接到设备:通过 Connect 方法连接到设备。
发现服务和特征:连接成功后,发现设备上的服务和特征。
操作特征:读取或写入特征,订阅通知等。

 

参考:
1. 低功耗蓝牙ble开发(一)——bluez介绍及源码分析

标签:基于,蓝牙,bluez,开发,ble,设备
From: https://www.cnblogs.com/embedded-linux/p/18332058

相关文章

  • vue el-button disabled没有实时生效
    在el-table中,操作按钮中el-button按钮置灰的操作,disable不生效是加了v-if判断,解决方法是添加key="1"<el-table-columnfixed="right"align="center"label="操作"><templateslot-scope="scope">......
  • Stable Diffusion 提示词攻略
    一、提示词作用提示词所做的工作是缩小模型出图的解空间,即缩小生成内容时在模型数据里的检索范围,而非直接指定作画结果。提示词的效果也受模型的影响,有些模型对自然语言做特化训练,有些模型对单词标签对做特化训练,那么对不同的提示词语言风格的反应就不同。二、提示词内容......
  • ansible执行source /etc/profile不生效
    ansible执行source/etc/profile不生效ssh登录有两种模式:1.loginshell用SSH客户端(比如Putty、xshell)登陆Linux系统时,要求输入用户名/密码登录或根据SSHkey登录时,就是loginshell。non-loginshell而在A机器上使用SSH免密码登录B机器,就是non-logins......
  • ansible实战__使用安装包安装nginx
    目录结构[root@mastertar_install_nginx]#tree.├──nginx-1.22.1.tar.gz├──nginx_install_tar.yaml└──nginx.service文件解释nginx-1.22.1.tar.gznginx安装包,其他版本也可以nginx.service为了设置系统启动(systemctlstartnginx)等具体文件[Unit]De......
  • ansible实战__使用yum方法安装nginx
    目录结构[root@masteryum_install_nginx]#tree.├──CentOS-Base.repo└──nginx_install.yaml如果yum源有问题需要建CentOS-Base.repo文件,没有则不需要报错信息可参考如下链接:CentOS-Base.repo文件内容#CentOS-Base.repo##Themirrorsystemusesthecon......
  • App Inventor 2 低功耗蓝牙 BlueToothLE 拓展中文文档(完整翻译加强版)
    低功耗蓝牙,也称为蓝牙LE或简称BLE,是一种类似于经典蓝牙的新通信协议,不同之处在于它旨在消耗更少的功耗和成本,同时保持同等的功能。因此,低功耗蓝牙是与耗电资源有限的物联网设备进行通信的首选。BluetoothLE扩展需要Android5.0或更高版本。BlueToothLE拓展中文文档入口......
  • BLE中的配对原理分析二
    BLE中的配对原理分析二​ 以前写的一篇文章有分析过配对绑定,但是对配对的第三个阶段KeyDistribution过程还有些没说明。由于这部分比较复杂,这次再来做一下分析。这里的内容基本上是基于蓝牙协议如下部分:BLUETOOTHCORESPECIFICATIONVersion5.1|Vol3,PartHlegacy中的密......
  • Ansible基础
    Ansible是一个开源的基于openssh的自动化配置管理工具。可以用它来配置系统,部署软件和编排更高级的IT任务,比如持续部署或零停机更新。Ansible的主要目标是简单和易用,通过Ansible可以批量管理大型运维环境。Ansible是一个用Python开发的自动化运维工具,它能执行批量系统配置、......
  • Ansible运行临时命令
    一、基本语法格式:格式:ansible受控主机IP/主机组[选项]参数选项-k手动输入SSH协议的代码-l指定主机清单文件-m指定要使用的模块名-a设置传递给模块的参数-M指定要使用的模块路径-S使用su命令-T设置SSH协议的连接超时时间--version查看版本信息-h帮助信息例......
  • Ansible创建逻辑卷
    环境:受控主机清单文件:[dev]192.168.10.129[all:vars]ansible_ssh_user=rootansible_ssh_pass=123磁盘:受控主机需要存在一块空的磁盘。使用192.168.10.129主机上的sdb创建逻辑卷。yml文件:ansible模块:lvg:管理主机的物理卷及卷组设备lvol:管理主机的逻辑卷设备files......