4632|9

48

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

BlueNRG beacon+串口透传 [复制链接]

   一直想让BlueNRG同时实现 beacon+串口透传 功能,保证一主机与蓝牙通讯期间,其他手机还可以接收到beacon信息,现在打算利用两主机与蓝牙串口双向通信的方式,再加上蓝牙配对,限制手机随意连接来保证上述功能,目前问题是支持双主机下,我将蓝牙的收发(notification和write)放在同一个char里面,   
     ret =  aci_gatt_add_char(chatServHandle, UUID_TYPE_128, &char_uuid, 20,       CHAR_PROP_NOTIFY|CHAR_PROP_WRITE|CHAR_PROP_WRITE_WITHOUT_RESP, ATTR_PERMISSION_NONE,     GATT_NOTIFY_ATTRIBUTE_WRITE,  16, 1, &RXCharHandle);


手机这边没有显示蓝牙端发送过来的信息。。。

直接这样改是不是有问题啊。。。。另外大家还有其他比较合适的方法来实现上述功能吗?   求帮助。。。

另外bluenrg软件开发需要蓝牙协议都懂吗?

最新回复

[attach]388770[/attach] 使用chat例程,手机向蓝牙模块发也可以 想实现同一个char实现收发,你把这两个char里相当的代码弄到一起试试 [attach]388768[/attach] [attach]388769[/attach] /*   Osal_MemCpy(&char_uuid.Char_UUID_128, charUuidTX, 16);   ret =  aci_gatt_add_char(chatServHandle, UUID_TYPE_128, &char_uuid, 20, CHAR_PROP_NOTIFY|CHAR_PROP_READ|CHAR_PROP_WRITE, ATTR_PERMISSION_NONE, 0,                 16, 1, &TXCharHandle);   if (ret != BLE_STATUS_SUCCESS) goto fail; */   Osal_MemCpy(&char_uuid.Char_UUID_128, charUuidRX, 16);   ret =  aci_gatt_add_char(chatServHandle, UUID_TYPE_128, &char_uuid, 20, CHAR_PROP_NOTIFY|CHAR_PROP_READ|CHAR_PROP_WRITE, ATTR_PERMISSION_NONE, GATT_NOTIFY_ATTRIBUTE_WRITE,                 16, 1, &RXCharHandle);   if (ret != BLE_STATUS_SUCCESS) goto fail;   详情 回复 发表于 2018-11-23 16:22
点赞 关注(1)
 
 

回复
举报

9815

帖子

24

TA的资源

版主

沙发
 
我刚才试了下,只连一个手机,BLUENRG发送数据手机可以收到

BLE_Chat.bin (78.9 KB, 下载次数: 18)










点评

虾哥,你和我的处理方式一样吗?回调函数Attribute_Modified_CB这边要不要改啊。。。 另外,想知道你用的是哪个APP  详情 回复 发表于 2018-11-23 10:07
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
littleshrimp 发表于 2018-11-23 09:39
我刚才试了下,只连一个手机,BLUENRG发送数据手机可以收到

虾哥,你和我的处理方式一样吗?回调函数Attribute_Modified_CB这边要不要改啊。。。

另外,想知道你用的是哪个APP

点评

这个是我以下在手机里的,你也可以到应用商店里再找找有无新版本 代码那个我只按照ST那边说的改了那三个地方,Characteristic properties地方改了一下,手机发送到蓝牙的代码没有实现 Osal_MemCpy(&char_u  详情 回复 发表于 2018-11-23 10:15
 
 
 

回复

9815

帖子

24

TA的资源

版主

4
 
逆风寒 发表于 2018-11-23 10:07
虾哥,你和我的处理方式一样吗?回调函数Attribute_Modified_CB这边要不要改啊。。。

另外,想知道你 ...

BLE Scanner.apk (1.99 MB, 下载次数: 24)

这个是我以下在手机里的,你也可以到应用商店里再找找有无新版本

代码那个我只按照ST那边说的改了那三个地方,Characteristic properties地方改了一下,手机发送到蓝牙的代码没有实现
  Osal_MemCpy(&char_uuid.Char_UUID_128, charUuidTX, 16);
  ret =  aci_gatt_add_char(chatServHandle, UUID_TYPE_128, &char_uuid, 20, CHAR_PROP_NOTIFY|CHAR_PROP_READ|CHAR_PROP_WRITE, ATTR_PERMISSION_NONE, 0,
                16, 1, &TXCharHandle);
  if (ret != BLE_STATUS_SUCCESS) goto fail;

点评

虾哥,你提到“手机发送到蓝牙的没有实现”,这边测试也是这样的,就算手机这边显示有写的功能,并且手机上显示了发送了数据,但是蓝牙串口连接电脑这边 是没有显示接收到数据的, 另外发现当主机数目更改为2时,  详情 回复 发表于 2018-11-23 14:08
虾哥,我把你的bin转换为hex之后利用navigator烧到开发板,nrf这边显示只有notify。。。  详情 回复 发表于 2018-11-23 10:39
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(中级)

5
 
littleshrimp 发表于 2018-11-23 10:15
这个是我以下在手机里的,你也可以到应用商店里再找找有无新版本

代码那个我只按照ST那边说的改了 ...

虾哥,我把你的bin转换为hex之后利用navigator烧到开发板,nrf这边显示只有notify。。。

点评

我把发给你的文件下载下来,重新刷了一下,使用ble scanner,读写都有要不你试试ble scanner看看?这个固件是BLUENRG-1的 [attachimg]388713[/attachimg]  详情 回复 发表于 2018-11-23 11:31
 
 
 

回复

9815

帖子

24

TA的资源

版主

6
 
逆风寒 发表于 2018-11-23 10:39
虾哥,我把你的bin转换为hex之后利用navigator烧到开发板,nrf这边显示只有notify。。。

我把发给你的文件下载下来,重新刷了一下,使用ble scanner,读写都有要不你试试ble scanner看看?这个固件是BLUENRG-1的




个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(中级)

7
 
littleshrimp 发表于 2018-11-23 10:15
这个是我以下在手机里的,你也可以到应用商店里再找找有无新版本

代码那个我只按照ST那边说的改了 ...

虾哥,你提到“手机发送到蓝牙的没有实现”,这边测试也是这样的,就算手机这边显示有写的功能,并且手机上显示了发送了数据,但是蓝牙串口连接电脑这边 是没有显示接收到数据的,

另外发现当主机数目更改为2时,无法连续接收蓝牙发送的数据,即当连接两主机时,蓝牙连续两次发送的数据,两部手机分别接收到其中的一次数据,即便测试时只用一部手机连接,也是只能接收到两次中的一次数据

点评

使用chat例程,手机向蓝牙模块发也可以 想实现同一个char实现收发,你把这两个char里相当的代码弄到一起试试 [attachimg]388768[/attachimg] [attachimg]388769[/attachimg] /* Osal_MemCpy(&cha  详情 回复 发表于 2018-11-23 16:22
 
 
 

回复

9815

帖子

24

TA的资源

版主

8
 
逆风寒 发表于 2018-11-23 14:08
虾哥,你提到“手机发送到蓝牙的没有实现”,这边测试也是这样的,就算手机这边显示有写的功能,并且手机 ...

BLE_Chat.bin (78.9 KB, 下载次数: 3)

使用chat例程,手机向蓝牙模块发也可以
想实现同一个char实现收发,你把这两个char里相当的代码弄到一起试试






/*
  Osal_MemCpy(&char_uuid.Char_UUID_128, charUuidTX, 16);
  ret =  aci_gatt_add_char(chatServHandle, UUID_TYPE_128, &char_uuid, 20, CHAR_PROP_NOTIFY|CHAR_PROP_READ|CHAR_PROP_WRITE, ATTR_PERMISSION_NONE, 0,
                16, 1, &TXCharHandle);
  if (ret != BLE_STATUS_SUCCESS) goto fail;
*/
  Osal_MemCpy(&char_uuid.Char_UUID_128, charUuidRX, 16);
  ret =  aci_gatt_add_char(chatServHandle, UUID_TYPE_128, &char_uuid, 20, CHAR_PROP_NOTIFY|CHAR_PROP_READ|CHAR_PROP_WRITE, ATTR_PERMISSION_NONE, GATT_NOTIFY_ATTRIBUTE_WRITE,
                16, 1, &RXCharHandle);
  if (ret != BLE_STATUS_SUCCESS) goto fail;

点评

嗯,谢谢虾哥  详情 回复 发表于 2018-11-24 13:55
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(中级)

9
 
littleshrimp 发表于 2018-11-23 16:22
使用chat例程,手机向蓝牙模块发也可以
想实现同一个char实现收发,你把这两个char里相当的代码弄到 ...

嗯,谢谢虾哥
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(中级)

10
 
问题整合:
1.BlueNRG-1可以在一个主机连接进行串口透传的时候,还保证让其他的主机接收到BlueNRG发送的beacon信息吗?
2.之前技术支持提供的两主机连接进行串口透传的程序,在BlueNRG发送通知的时候,测试发现两个主机不能同时连续接收到notification (https://bbs.eeworld.com.cn/forum ... 3&page=2#pid2820309
3.security例程,测试的时候,一旦手机先前忽略配对信息,之后就连接不上;或者手机连上之后断开,后续想要再连接也连接不上,必须用nevigator重新烧写程序,不重新烧程序时我给板子断电之后重新上电,手机也是连接不上的  @nmg
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 2/10 下一条
TI 处理器AM62L深度讲解,报名直播赢【双肩包、充电器、胶囊伞】
【直播要点】• 如何实现安全节能设计;• 开箱体验和demo;• 软件和硬件
【直播时间】3月21日(周五)上午10:00

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表