您好,
我现在手头有一个CC2540DK(两个smart RF05EB,还有一个dongle)。请问我能不能做成这样一件事儿,通过其中一个smart RF05EB 的引导,让另外两个设备(一个smart RF05EB,还有一个dongle)连接起来。换句话说就是一开始一个smart RF05EB和dongle没有连接,只通过操作第三个设备,使他们两个连接起来。如果可以做成的话,我应该去怎么完成呢?需要修改什么代码?非常感谢!
Yue TANG:
不知你的具体应用是什么。这个用BLE来做很困难。你还不如看看zigbee或者TI 1G,2.4G专属芯片来做这个。
Cong Nie:
回复 Yue TANG:
Hi TY,
那么BLE设备的多跳(multi-hop)有可能做出来吗?我想在这两件事儿里面选一件做,谢谢您百忙之中抽时间回答!
Yue TANG:
回复 Cong Nie:
这个真没有。 BLE是星型网络(支持的是跳频,跳频讲究时间同步,不适合多跳) ,不支持多跳。多跳网络目前是zigbee。另一个是TI 开放源代码的simpliciTI,这个不是真正意义上的多跳,只是有个RE范围扩展器。
Cong Nie:
回复 Yue TANG:
Hi TY
针对第一个问题,您看这样能不能行,我用其中一个设备充当broadcaster(这样就不会被另外两个设备连接),然后给另外两个设备(一个充当master,一个充当slave)发送advertisement,具体advertisement就是告诉另外两个设备让他们不断的发送连接请求和广播请求,这样使他们能够自动的连接,您看这样可行吗?主要问题是什么?谢谢您了!
Yue TANG:
回复 Cong Nie:
你发广告,另外两个必须持续scan才能收到广告(存在功耗问题)。还有就是目前的协议栈外设可以同时广播,但还没有observer即扫描的例子。
Cong Nie:
回复 Yue TANG:
Hi TY,
那您看这样可行吗?其中一个设备(slave)就直接让他充当外设,一直发广播(广播的模式设成间隔发送,而不是一直持续发送,这样功率会好一些)。而那个主设备(master)一开始的时候,进行scan(scan的频率比较低,功率考虑),而作为引导设备的那个ble去发advertisement去让master把scan频率调高,搜到slave,达到让slave和master自动连接。谢谢您了,问题比较多,请您见谅!
Yue TANG:
回复 Cong Nie:
slaver可以主动要求master 更新连接参数,你也可以在广告中增加一些数据来让master知道你的一些参数,这样否还有必要多这样个设备呢?有问题没关系,可以交流,只怕不一定能帮到你。
Cong Nie:
回复 Yue TANG:
Hi TY,
谢谢您的建议。我把整个想法给您说下,希望能得到您更多的建议。slave 的原型是一个灯(我的想法),因为灯没button,所以我打算一上电就让它发广播,master的原型是一个路由器(假设这个路由有BLE功能),而那个引导设备就是手机了。因为手机可以单独控制灯,这个没问题,但是人把手机带走后,灯就没法控制了,于是想借助手机把那个灯连到路由器上面去。这样手机还能远程控制这个灯。思路就是这样的,所以我一直想用这个引导设备来完成这个功能。我也不知道想法合不合理,所以就想得到您这边的建议。
Yue TANG:
回复 Cong Nie:
1.zigbee+cc3000(wifi),需要AP.
2.路由器加个按键,可以启动关闭扫描。手机控制完了,关闭蓝牙功能,灯由于主动断开或supervisiorTime超时自动断开开始重新扫描,然后直接连你的BLE路由器。
Cong Nie:
回复 Yue TANG:
Hi TY,
1.zigbee+CC3000是什么意思?不是太懂,您能不能稍稍解释一下?
2.您认为这个研究实际意义不大是吗?
因为我主要想在这个方面做点儿自己的东西出来,如果按照给的demo调出来的话,就意义不太大了,所以想请您给点儿建议。
谢谢您周末还为我解惑!