您尚未登录。

楼主 #1 2018-05-17 18:20:52

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

[1] 跪求哦使用btstack 实现gatt server,gatt client的思路和参考demo,
     这个用bluez实现由啥区别吗?bluez-5.32源码profiles目录里的gatt文件夹
     里的gas.c是ble的主模式实现还是从模式实现哦?
[2] 实现ble 的从模式的profiles有啥思路吗?

离线

#2 2018-05-17 18:47:40

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

这个问题晚点回复





离线

#3 2018-05-17 20:16:51

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦





离线

楼主 #4 2018-05-17 20:40:08

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

这个和bluez官方master源码不一样吗?这个能单独用啊

离线

楼主 #5 2018-05-17 20:45:17

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

和btstack相比如何,我略看了下btstack源码,port文件夹下有很多和芯片有关的文件哦,比如stm32之类的,btstack 能当做在嵌入式arm linux 板上实现ble 从模式的库吗? 我现在已经移植完了整个bluez源码哦,好纠结怎么选啊?这个gatt client.c,gatt server.c能完全单独编译使用实现ble 主从一体吗?

离线

#6 2018-05-17 20:52:45

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

不好意思,3楼回答搞错了。

btstack的 server和client demo:
https://github.com/bluekitchen/btstack/blob/master/example/le_data_channel_server.c
https://github.com/bluekitchen/btstack/blob/master/example/le_data_channel_client.c

这两个我程序我试过了,
可以用来作为BLE通讯,

也可以用手机app BLEDeng 与 le_data_channel_server 通讯。

可以用Ubuntu测试, 也可以用单片机或者嵌入式平台测试,
参考这个帖子: https://whycan.cn/t_1133.html





离线

楼主 #7 2018-05-17 20:59:37

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

但是3楼发的感觉放在bluez里可以哦?他是dbus接口的,然后也是可以单独拿出来用实现ble 从机模式的吧?不想引入太多代码哦

最近编辑记录 soluxz (2018-05-17 21:01:03)

离线

楼主 #8 2018-05-17 21:22:36

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

这btstack和硬件蓝牙芯片是啥型号一点关系都没有吗?我的蓝牙芯片用的是AP6212A,arm是cortex-A7的主控,然后用的sdio,串口uart使用bt

离线

楼主 #9 2018-05-17 21:25:06

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

这个ble 和经典蓝牙有啥不同,如何说明是低功耗模式呢?这两个demo分别对应蓝牙主从模式吗,分别可以是主从模式对应的profile吗?

离线

#10 2018-05-17 21:38:42

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

BLE与classic 应用领域,功耗,速率等不同
上面两个Demo对应的就是ble的主从模式





离线

楼主 #11 2018-05-18 09:25:57

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

马上研究一波。谢晕哥指点。

离线

#12 2018-05-18 09:48:34

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

这btstack和硬件蓝牙芯片是啥型号一点关系都没有吗?我的蓝牙芯片用的是AP6212A,arm是cortex-A7的主控,然后用的sdio,串口uart使用bt

蓝牙上层接口都是用HCI, 这个btstack协议栈可以用于uart,usb,esp32寄存器等。
sdio是用来控制wifi的。





离线

楼主 #13 2018-05-18 10:14:46

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥,我现在用的交叉编译器是arm-poky-Linux-gnueabi-gcc, 那么我应该编译哪个port呢?怎么修改Makefile哦,有相关的readme 不?

离线

#14 2018-05-18 10:20:12

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

AP6210B/AP6210 是 porting/posix_h4, 我相信你的 AP6212A也是一样的。
你的 AP6212A初始化成功了吗?





离线

楼主 #15 2018-05-18 10:29:29

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

怎么确定这个用那个port呢?我用的ap6212A 启动起来是会先装载ko驱动和加载一个固件和配置文件,如下
insmod /lib/modules/bcmdhd.ko firmware_path=/lib/firmware/bcm/fw_bcm43438a1.bin nvram_path=/lib/firmware/bcm/nvram_ap6212a.txt

离线

#16 2018-05-18 10:42:02

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

你上面这个应该是wifi的初始化程序

bluetooth看这里: https://whycan.cn/t_245.html





离线

楼主 #17 2018-05-18 10:44:31

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

好的,我先研究研一波再来问吧,ap6212a是wifi和bt一体的。

离线

#18 2018-05-18 10:50:37

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

虽然是一体的,但是wifi,蓝牙,fm收音机三个功能是分开的。
我有点怀疑ap6210,ap6212a是同一个芯片。





离线

楼主 #19 2018-05-18 10:54:29

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

好的,我去确认下,如果不是一个芯片,那需要改寄存器吗,改固件吗?

离线

#20 2018-05-18 11:00:37

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

蓝牙没有寄存器可以写,最多只是初始化文件不同。





离线

楼主 #21 2018-05-18 11:16:51

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

好的,这两个蓝牙芯片有点不一样哦,是不是得改初始化文件了
AP6212A   BCM43438A1
AP6210     BCM43362

离线

#22 2018-05-18 11:32:09

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

先用一样的试一试,估计大同小异。





离线

楼主 #23 2018-05-18 17:26:54

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥,在哪里指定port posix-h4 的CC为arm-poky-Linux-gnueabi-gcc, 木有发现相关的readme?

离线

#24 2018-05-18 17:44:41

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

make CC=arm-poky-Linux-gnueabi-gcc





离线

楼主 #25 2018-05-21 17:02:14

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

哦,晕哥,终于把btstack代码抱起来了。那个le_stream和le_stream_client是蓝牙ble的主模式和从模式的demo进程吗?
还有这个le_streamer.h头文件为啥用python动态生成噢?有le_stream demo的操作手册吗?

离线

#26 2018-05-21 17:20:46

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

那个le_stream和le_stream_client是蓝牙ble的主模式和从模式的demo进程吗?

对,应该是的,几天没搞又忘记了。

这个le_streamer.h头文件为啥用python动态生成噢?有le_stream demo的操作手册吗?

不知道为什么用python, le_stream 估计得去官网看说明了。
如果你知道答案了,请分享一下。





离线

楼主 #27 2018-05-21 17:58:27

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

ok,马上去研究一波。le_data_channel_server 和le_stream 这两个同时是一样的功能?有啥doc说明不?
反应bt stack 的bugs去哪个网址呀?

离线

#28 2018-05-21 18:40:46

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦





离线

#29 2018-05-21 18:42:48

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

ok,马上去研究一波。le_data_channel_server 和le_stream 这两个同时是一样的功能?有啥doc说明不?
反应bt stack 的bugs去哪个网址呀?

应该是BLE的不同应用demo吧。
本来打算用Android写个app与btstack的le_steamer通讯,现在手上有别的项目,来不及了。

https://whycan.cn/t_1206.html
只是拼拼凑凑开了个头。





离线

楼主 #30 2018-05-22 09:35:52

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥,带带我吧,师傅在上噢

离线

#31 2018-05-22 09:47:30

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

晕哥,带带我吧,师傅在上噢

别酱紫,挖坑而已,Android刚学, BLE也不熟,代码已上传,你可以试一试, 继续写下去。





离线

楼主 #32 2018-05-22 10:06:32

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

马上研究一波

离线

楼主 #33 2018-05-22 10:32:13

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥,突发一问,如何让ble支持AT指令哦,btstack已经支持了吗?

离线

#34 2018-05-22 11:30:58

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

晕哥,突发一问,如何让ble支持AT指令哦,btstack已经支持了吗?

btstack不支持AT,
要这个功能自己写吧.





离线

楼主 #35 2018-05-22 20:18:19

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

哦,得研究一波看来

离线

楼主 #36 2018-05-23 09:50:39

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥,你用btstack做的ble通过了蓝牙认证吗?产品量产了?

离线

#37 2018-05-23 10:09:29

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

晕哥,你用btstack做的ble通过了蓝牙认证吗?产品量产了?

我也才开始, 看我发的第一个帖子就那天开始摆弄的。
为了路上不孤单,叫上了几个   big_smile





离线

楼主 #38 2018-05-23 12:27:17

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

算我一个哦

离线

楼主 #39 2018-06-08 16:00:17

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥,btstack里的hci_dump.pklg怎么都是乱码?

离线

#40 2018-06-08 16:07:09

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

详细情况描述一下, 什么平台?





离线

楼主 #41 2018-06-08 16:15:41

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

arm cortex a7,linux 4.1.15,串口的设备节点我修改为/dev/下的蓝牙串口节点,交叉编译出来的le_data_channel_server

离线

楼主 #42 2018-06-08 16:17:36

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

arm cortex a7,linux 4.1.15,串口的设备节点我修改为/dev/下的蓝牙串口节点,交叉编译出来的le_data_channel_server

离线

#43 2018-06-08 16:18:39

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

截图看下,如何乱码的?

发图方法 : https://whycan.cn/t_588.html





离线

楼主 #44 2018-06-08 16:18:53

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

我修改了下dump的后缀,原来的不能上传噢

离线

#45 2018-06-08 16:20:15

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

soluxz 说:

我修改了下dump的后缀,原来的不能上传噢

7z, zip, rar 压缩文件才可以上传.
png, jpg 图片可以贴上来。





离线

楼主 #46 2018-06-08 16:25:58

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

离线

楼主 #47 2018-06-08 16:27:36

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

我把hci_dump.pklg改成了7z的后缀传的

离线

#48 2018-06-08 16:39:22

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

文件地址是这个: https://whycan.cn/files/members/913/hci_dump.7z
我看下.





离线

#49 2018-06-08 16:41:01

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

看了一下,是不是你的串口终端有问题?





离线

#50 2018-06-08 16:52:14

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

hci_dump_open(pklg_path, HCI_DUMP_PACKETLOGGER);

改成这样:

hci_dump_open(NULL, HCI_DUMP_STDOUT);

试一试.

这样是把log直接输出到控制台,而不是文件。





离线

楼主 #51 2018-06-08 16:52:29

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

是指的串口的配置?波特率配置的是115200,支持流控.
那怎么配置的呢?因为我通过bluez的主模式是正常的,然后我看了/etc/bluetooth 下的
配置是/dev/ttymxc2 bcm43xx 3000000 flow -t 20是这样的。我用wireshark把dump
文件打开看了下是因为捕获到了ctrl-c信号哦

离线

楼主 #52 2018-06-08 17:01:33

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

晕哥 说:

hci_dump_open(pklg_path, HCI_DUMP_PACKETLOGGER);

改成这样:

hci_dump_open(NULL, HCI_DUMP_STDOUT);

试一试.

这样是把log直接输出到控制台,而不是文件。


log如下:
root@helloworld:/mnt/mtdblock/bt# ./le_data_channel_server                                               
Packet Log: /tmp/hci_dump.pklg                                                                       
**********__line:321,le_data_channel_server                                                           
[2017-05-28 01:53:46.144] LOG -- l2cap.c.3522: L2CAP_LE_REGISTER_SERVICE psm 0x25                     
[2017-05-28 01:53:46.144] LOG -- hci.c.2800: hci_power_control: 1, current mode 0                     
[2017-05-28 01:53:46.144] LOG -- btstack_uart_block_posix.c.177: h4_set_baudrate 115200               
[2017-05-28 01:53:46.244] LOG -- hci.c.3859: BTSTACK_EVENT_STATE 1                                   
[2017-05-28 01:53:46.244] EVT <= 60 01 01                                                             
[2017-05-28 01:53:46.245] CMD => 03 0C 00                                                             
[2017-05-28 01:53:46.445] LOG -- hci.c.1098: Resend HCI Reset 

root@helloworld:/mnt/mtdblock/bt# ./le_data_channel_client
Packet Log: /tmp/hci_dump.pklg
[2017-05-28 01:54:12.593] LOG -- hci.c.2800: hci_power_control: 1, current mode 0
[2017-05-28 01:54:12.594] LOG -- btstack_uart_block_posix.c.177: h4_set_baudrate 115200
[2017-05-28 01:54:12.695] LOG -- hci.c.3859: BTSTACK_EVENT_STATE 1
[2017-05-28 01:54:12.695] EVT <= 60 01 01
[2017-05-28 01:54:12.696] CMD => 03 0C 00
[2017-05-28 01:54:12.896] LOG -- hci.c.1098: Resend HCI Reset

离线

#53 2018-06-08 17:28:11

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

AP6212A 你初始化之后用多少波特率通讯?





离线

楼主 #54 2018-06-08 18:18:06

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

应该是h4_set_baudrate 115200 这个哦

离线

#55 2018-06-08 18:39:56

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

https://whycan.cn/t_245.html

有没有运行这种脚本:

./brcm_patchram_plus -d  --patchram bcm20710a1.hcd --bd_addr 11:22:33:44:55:66 --no2bytes --tosleep 1000 /dev/ttyUSB1





离线

楼主 #56 2018-06-08 19:43:13

soluxz
会员
注册时间: 2018-05-17
已发帖子: 31
积分: 31

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

有在启动的时候指定bcm固件包的一些启动参数的
firmware_path=/lib/firmware/bcm/fw_bcm43438a1.bin nvram_paht=/lib/firmware/bcm/nvram_ap6212a.txt

离线

#57 2018-06-08 20:22:50

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 使用btstack 实现gatt server,gatt client的思路和参考demo,跪求哦

应该和AP6210B差不多

既然你的 bluez 是OK的, 一步一步按照这个来,没难问题的:

https://whycan.cn/t_245.html#p5165





离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn