社区导航

 

搜索
查看: 190|回复: 10

[蓝牙BLE] BlueNRG-1作为CLIENT模式如何连接SERVER

[复制链接]

6

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-1-21 16:48 | 显示全部楼层 |阅读模式
网上大多数都是用BlueNRG-1作为SERVER,我想让它作为CLIENT和SERVER通信。我用了官网BLE_CHAT的client模式的代码,用SERVER的mac地址连接BlueBRG,发现没有触发连接事件,不知道什么原因?请大神们知道下,谢谢!我的server是自己弄的一个蓝牙模块,和手机相连是没有问题的。

  ret = aci_gap_create_connection(0x4000, 0x4000, PUBLIC_ADDR, bdaddr, PUBLIC_ADDR, 40, 40, 0, 60, 2000 , 2000);
  if (ret != BLE_STATUS_SUCCESS)
  {
    printf("Error while starting connection: 0x%04x\r\n", ret);
    Clock_Wait(100);        
  }





回复

使用道具 举报

5631

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-1-21 19:43 | 显示全部楼层
查看你的用其它模块实现的Server(Peripheral)是不是已经处在广播状态
查看通过手机看到的MAC地址和Chat工程中bdaddr是否一致(这个地址和你手机通过软件看到的地址的顺序相反)
我试了一下用BlueNRG-1连接小米手环能够成功
如果问题还没解决再看一下ret的值是多少
虾扯蛋


回复

使用道具 举报

6

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-1-22 09:11 | 显示全部楼层
littleshrimp 发表于 2019-1-21 19:43
查看你的用其它模块实现的Server(Peripheral)是不是已经处在广播状态
查看通过手机看到的MAC地址和Chat ...

谢谢虾哥,已经解决了,我的server没有处于广播状态,需要进行扫描,扫描之后在连接设备,能够连接成功了。但是,我发现我sever没有广播,然后直接连接,返回的ret,居然是success,这是为什么?


回复

使用道具 举报

5631

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-1-22 14:20 来自手机 | 显示全部楼层
没广播连接成功后能通信吗


回复

使用道具 举报

6

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-1-22 16:20 | 显示全部楼层
本帖最后由 fdding 于 2019-1-22 18:08 编辑
littleshrimp 发表于 2019-1-22 14:20
没广播连接成功后能通信吗

虾哥,好像还是通信不了,我在server端打印一直出现的是GATT_WRITE_NOT_PERMIT,好像是还要绑定uuid,但是一直出现错误Error in aci_gatt_disc_char_by_uuid() for TX characteristic: 0x0046,用的函数是aci_gatt_disc_char_by_uuid

const uint8_t charUuid128_TX[16] = {0x00,0x00,0xee,0x01,0x00,0x00,0x10,0x00,0x80,0x00,0x00,0x80,0x5f,0x9b,0x34,0xfb};
                        
Osal_MemCpy(&UUID_Tx.UUID_16, charUuid128_TX, 16);
ret = aci_gatt_disc_char_by_uuid(discovery[0].connection_handle, 0x0001, 0xFFFF,UUID_TYPE_128,&UUID_Tx);
if (ret != 0)
        printf ("Error in aci_gatt_disc_char_by_uuid() for TX characteristic: 0x%04x\r\n", ret);
else
        printf ("aci_gatt_disc_char_by_uuid() for TX characteristic --> SUCCESS\r\n");
APP_FLAG_SET(START_READ_TX_CHAR_HANDLE);

点评

charUuid128_TX和另一个设备的一致吗?  详情 回复 发表于 2019-1-23 10:44


回复

使用道具 举报

5631

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-1-23 10:44 | 显示全部楼层
fdding 发表于 2019-1-22 16:20
虾哥,好像还是通信不了,我在server端打印一直出现的是GATT_WRITE_NOT_PERMIT,好像是还要绑定uuid,但 ...

charUuid128_TX和另一个设备的一致吗?
虾扯蛋


回复

使用道具 举报

6

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-1-23 16:26 | 显示全部楼层
littleshrimp 发表于 2019-1-23 10:44
charUuid128_TX和另一个设备的一致吗?

uuid是一致的,我用aci_gatt_disc_read_char_by_uuid_resp_event这个事件来获取tx_handle,但是我用aci_gatt_disc_char_by_uuid函数触发不了这个事件。

点评

@lucienkuang是ST负责BlutNRG的FAE,可以请他帮忙分析一下  详情 回复 发表于 2019-1-24 21:51


回复

使用道具 举报

5631

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-1-24 21:51 | 显示全部楼层
fdding 发表于 2019-1-23 16:26
uuid是一致的,我用aci_gatt_disc_read_char_by_uuid_resp_event这个事件来获取tx_handle,但是我用aci_g ...

@lucienkuang是ST负责BlutNRG的FAE,可以请他帮忙分析一下

点评

我看了一下BLE_Chat Client和BLE_SensorDemo_Central的代码,还没研究明白 BLE_SensorDemo_Central你了解过没?  详情 回复 发表于 2019-1-24 21:53
虾扯蛋


回复

使用道具 举报

5631

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-1-24 21:53 | 显示全部楼层
littleshrimp 发表于 2019-1-24 21:51
@lucienkuang是ST负责BlutNRG的FAE,可以请他帮忙分析一下

我看了一下BLE_Chat Client和BLE_SensorDemo_Central的代码,还没研究明白
BLE_SensorDemo_Central你了解过没?

点评

麻烦了,虾哥,原因找到了,确实是UUID没有一致。由于之前没有接触过蓝牙的设备,原来UUID也有大小端的区分,我在手机上显示的和代码的UUID是相反的,现在能够和server正常通信了。多谢了。  详情 回复 发表于 2019-1-25 11:57
虾扯蛋


回复

使用道具 举报

6

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-1-25 11:57 | 显示全部楼层
littleshrimp 发表于 2019-1-24 21:53
我看了一下BLE_Chat Client和BLE_SensorDemo_Central的代码,还没研究明白
BLE_SensorDemo_Central你了 ...

麻烦了,虾哥,原因找到了,确实是UUID没有一致。由于之前没有接触过蓝牙的设备,原来UUID也有大小端的区分,我在手机上显示的和代码的UUID是相反的,现在能够和server正常通信了。多谢了。

点评

确实有这个问题 找到问题就好  详情 回复 发表于 2019-1-25 12:28


回复

使用道具 举报

5631

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-1-25 12:28 来自手机 | 显示全部楼层
fdding 发表于 2019-1-25 11:57
麻烦了,虾哥,原因找到了,确实是UUID没有一致。由于之前没有接触过蓝牙的设备,原来UUID也有大小端的区 ...

确实有这个问题 找到问题就好


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-2-23 00:24 , Processed in 0.289499 second(s), 16 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表