发现是偶然事件,正确的做法可能要修改bluez里面服务的注册方式,把ble的服务发现注册到sdp。具体做法不清楚。但是肯定要修改源码。

工欲善其事,必先利其器

使用未知的工具,现在一个良好的平台上走通了整条道路.

然后建设新的道路的时候,心如明镜... ...

未来不再迷茫.

废话不多说,首先买一块raspberry Pi.

raspberry Pi.是可以在上面编译程序的东西.

软件十分完善.

以pi而不是以root运行

在家目录运行

sudo bluetoothd -n -d --compat --plugin=time --experimental

在test的目录下.执行

./example-gatt-server

在家目录运行

sudo hciconfig hci0 up

在家目录运行

sudo hciconfig hci0 leadv

测试的androidapp

https://pan.baidu.com/s/1c1ZD80g

解决 Failed to obtain handles for "Service Changed" characteristic

-E 应该能解决问题

https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=f558fca8d64e3795b0654a90d343af1dd1d8b33c

可能有帮助

https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1490349

https://bbs.archlinux.org/viewtopic.php?id=195886&p=2

sudo bluetoothd -E -d --noplugin=sap,network --experimental --compat -n

sudo bluetoothd -E -d --noplugin=sap --experimental --compat -n

抱歉有问题... ...

12-12更新

问题初步解决.

是手机的问题.或者说是android手机的问题.

用同事的iPhone手机测试没有问题.python 调用的GATT服务都出来了.

测试过程. rpi3b 通过 bluetoothctl 连接 OPENWRT 的bluetooth ble服务

首先在 openwrt 上

第一步:bluetoothd -n -d --compat --experimental -------- -n -d 好像是和调试信息相关的参数. --compat 适合 sdptool 相关的参数 否则会报一个错误. --experimental 是 bluez 的ble相关一定要加入的参数.而且在编译

bluez的时候参数也要参考README写下 experimental 的相关参数.

第二步:bluetoothctl

2.1步:power on

2.2步:agent on

2.3步:default-agent

2.4步:list ----------显示自己的系统下挂在的设备.

2.5步:advertise on -------启用ble 模式猜想

2.6步:``

第三步: 进入bluez目录test目录python example-gatt-server

rpi3B步骤

第一步: bluetoothctl

1.1步: connect EC:3D:FD:3E:30:91

1.2步:list-attributes ------ 显示所有的GATT服务.

1.3步:select-attribute 0000180f-0000-1000-8000-00805f9b34fb

1.4步:select-attribute /org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022/char0023

1.5步:read

初步完结撒花... ...

一般问题解析

Failed to connect: org.bluez.Error.InProgress

这个问题,应该是作为连接机器,因为运行着程序关闭这个程序就可以了.

rpi3b显示的所有的服务信息

[NEW] Primary Service
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0006
00001801-0000-1000-8000-00805f9b34fb
Generic Attribute Profile
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0006/char0007
00002a05-0000-1000-8000-00805f9b34fb
Service Changed
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0006/char0007/desc0009
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
[NEW] Primary Service
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a
12345678-1234-5678-1234-56789abcdef0
Vendor specific
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b
12345678-1234-5678-1234-56789abcdef5
Vendor specific
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b/desc000d
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b/desc000e
00002901-0000-1000-8000-00805f9b34fb
Characteristic User Description
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b/desc000f
12345678-1234-5678-1234-56789abcdef6
Vendor specific
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010
12345678-1234-5678-1234-56789abcdef3
Vendor specific
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010/desc0012
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010/desc0013
12345678-1234-5678-1234-56789abcdef4
Vendor specific
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010/desc0014
00002901-0000-1000-8000-00805f9b34fb
Characteristic User Description
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015
12345678-1234-5678-1234-56789abcdef1
Vendor specific
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015/desc0017
00002900-0000-1000-8000-00805f9b34fb
Characteristic Extended Properties
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015/desc0018
00002901-0000-1000-8000-00805f9b34fb
Characteristic User Description
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015/desc0019
12345678-1234-5678-1234-56789abcdef2
Vendor specific
[NEW] Primary Service
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a
0000180d-0000-1000-8000-00805f9b34fb
Heart Rate
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char001b
00002a38-0000-1000-8000-00805f9b34fb
Body Sensor Location
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char001d
00002a37-0000-1000-8000-00805f9b34fb
Heart Rate Measurement
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char001d/desc001f
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char0020
00002a39-0000-1000-8000-00805f9b34fb
Heart Rate Control Point
[NEW] Primary Service
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022
0000180f-0000-1000-8000-00805f9b34fb
Battery Service
[NEW] Characteristic
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022/char0023
00002a19-0000-1000-8000-00805f9b34fb
Battery Level
[NEW] Descriptor
/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022/char0023/desc0025
00002902-0000-1000-8000-00805f9b34fb
Client Characteristic Configuration

ble python 成功的例子 创建GATT服务 BLUEZ 5.47的更多相关文章

  1. 使用Topshelf创建Windows服务

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  2. 使用BPEL创建Web服务组合

    http://www.cnblogs.com/ahhuiyang/archive/2012/12/18/2824131.html 为简单起见,本例的Web服务组合只调用一个Web Service AP ...

  3. C#创建Windows服务入门图解(VS2010)

    C#创建Windows服务入门图解(VS2010) Windows服务大家都知道,比如Audio.Theme都是大家比较熟悉的服务,他们可以设为自动启动的,并且在注册表的开机自启动项里是没有痕迹的.所 ...

  4. Topshelf创建Windows服务

    使用Topshelf创建Windows服务 概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps ...

  5. 创建ssh 服务的镜像

    $ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. root@fc1936ea8ceb:/# sshd ...

  6. 【第三方插件】使用Topshelf创建Windows服务

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  7. 使用Topshelf创建Windows服务[转载]

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  8. python thrift 实现 单端口多服务的过程

    Thrift 是一种接口描述语言和二进制通信协议.以前也没接触过,最近有个项目需要建立自动化测试,这个项目之间的微服务都是通过 Thrift 进行通信的,然后写自动化脚本之前研究了一下. 需要定义一个 ...

  9. 用C#创建Windows服务(Windows Services)

    用C#创建Windows服务(Windows Services) 学习:  第一步:创建服务框架 创建一个新的 Windows 服务项目,可以从Visual C# 工程中选取 Windows 服务(W ...

  10. Dubbo_创建Dubbo服务并在ZooKeeper注册,然后通过Jar包执行

    一.安装ZooKeeper(略) 二.创建Dubbo服务  1.DemoService 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

随机推荐

  1. 大模型微调实战:通过 LoRA 微调修改模型自我认知

    本文主要分享如何使用 LLaMAFactory 实现大模型微调,基于 Qwen1.5-1.8B-Chat 模型进行 LoRA 微调,修改模型自我认知. 本文的一个目的:基于 Qwen1.5-1.8B- ...

  2. MySQL之"数据库中没有就创建,有就修改"ON DUPLICATE KEY UPDATE

    一.场景 当你想存入一条数据到扩展表中(主表下附表),但这个扩展表并非一定会创建,就会让其工程逻辑复杂化 (也就是说:有可能创建主表数据的同时不会创建扩展表数据,这样就会照成你想修改的时候,扩展表本身 ...

  3. 杂七杂八系列----浅谈.NET微服务架构的演变

    服务架构的演变 单体架构=>分布式架构=>SOA架构=>微服务架构=>Service Mesh=>Cloud Native 单体架构/垂直架构 分布式架构 SOA架构 微 ...

  4. MQTT协议与ODOO的结合使用

     一.MQTT简述      MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的 ...

  5. IntelliJ IDEA 源文件提示 cannot resolve method 或者 Cannot find declaration to go to

    问题描述:IntelliJ IDEA 在源文件中提示 Cannot resolve method,但是项目可以正常编译运行,提示异常的类明明存在且没有任何异常.尝试使用ctrl+鼠标左键进入该类时,提 ...

  6. MySQL Explain查看执行计划详解

    目录 前言 EXPLAIN 中的列 id 和select_type table type possible_keys key 和 key_len ref 和 rows Extra 小结 Referen ...

  7. 文艺平衡树FHQ-Treap-指针版

    文艺平衡树FHQ-Treap-指针版 文艺平衡树 FHQ-Treap-指针版 代码存档 AC-C++11 385ms 9.09MB AC-C++11 O2 394ms 9.23MB 貌似这玩意厌氧啊 ...

  8. 【中文】【吴恩达课后编程作业】Course 1 - 神经网络和深度学习 - 第四周作业(1&2)

    [吴恩达课后编程作业]01 - 神经网络和深度学习 - 第四周 - PA1&2 - 一步步搭建多层神经网络以及应用 上一篇:[课程1 - 第四周测验]※※※※※ [回到目录]※※※※※下一篇: ...

  9. Docker安装运行报错wsl问题排查方案

    Docker运行报错wsl问题排查方案 在window中安装运行Docker Desktop时容易遇到有关wsl的报错问题,这里给出几个排查解决的方法用于记录. 排查步骤如下: 一.开启虚拟化问题 1 ...

  10. 在Linux下使用wxWidgets进行跨平台GUI开发(二)

    wxWidgets常见辅助类的应用示例 wxWidgets提供了一系列功能强大的辅助类(Helper Classes),涵盖了字符串处理.文件操作.XML解析.数据流.数据库和网络通信等功能,这些类为 ...