请问PC通过USB Dongle 如何发自定义设置命令到远端的CC2540?
我现在知道一种方式可以做简单的设置就是去写characteristic的值。这种方法每次只能写1个字节远端的CC2540也能正确收到,但是我总觉得这不是一种标准的做法。
请问有其他方法吗?
Hi Liao Wei,
连接建立后, 最右边的窗口还有个Adv.Commands的选项, 里面有很多HCI命令可以发.
当然, 你可以利用BTool做完初始化流程后, 用串口调试助手之类的发命令下去, 前提是你要熟悉命令的格式, 这样你就可以自定义编辑你要发的东西.
但是要记住, 你通过PC发的数据, 远端的CC2540上面要有相应的代码配合才行, 比如远端的characteristic只能接收一个字节, 那么你发再多也没用.
Yan,您好。我感觉下面这个可以。但是我找了半天不知道远端CC2540在哪里收这个notification。是不是需要自己添加相应的处理函数呀,如果是的话我应该参考哪个文档或者类似函数来写呢?
[6] : <Tx> - 10:26:47.750
-Type : 0x01 (Command)
-Opcode : 0xFD9B (GATT_Notification)
-Data Length : 0x0A (10) byte(s)
ConnHandle : 0x0000 (0)
Authentic : 0x00 (No)
Handle : 0x0000 (0)
Value : 00:00:01:02:03:04
Dump(Tx):
01 9B FD 0A 00 00 00 00 00 00 01 02 03 04
------------------------------------------------------------------------------------------------------------------------
[7] : <Rx> - 10:26:47.812
-Type : 0x04 (Event)
-EventCode : 0xFF (HCI_LE_ExtEvent)
-Data Length : 0x06 (6) bytes(s)
Event : 0x067F (GAP_HCI_ExtentionCommandStatus)
Status : 0x00 (Success)
OpCode : 0xFD9B (GATT_Notification)
DataLength : 0x00 (0)
Dump(Rx):
04 FF 06 7F 06 00 9B FD 00
E文的论坛里,这位老兄问了我同样的问题,没人回答。5555555555555
Read GATT_notification send from central to peripheral
Posted by Jesper Jessen on Nov 15 2012 04:47 AM |
看来TI要推广这颗芯片还需要多做一些demo代码呀。
不能说我的demo就是单向通信的,另一个方向通信你们自己去研究。
客户大都不是你那一行的专家,怎么弄呀?
蓝牙仅仅是个通讯工具而已,客户应该专注自己的应用,而通信部分应该拿来就能用。
没办法就用那个每次只能发1个字节的了。为了发8个有效字节,总共发了72个字节,效率太低了。还好设置只是偶尔操作。
Hi Liao Wei,
理解你作为应用开发者的考量,
但是, 希望你也能理解, TI 提供的这些不是简单的demo, 都是蓝牙认证协会标准的profile, 所有的这些profile, 包括下面的host端跟芯片的controller端还有射频RF端, 都是过了蓝牙认证协会的认证的, 每一个profile都要花费一大笔钱, 而且TI都把这些代码开放, 供用户使用, 免得客户再去花精力跟财力去过认证. 所以TI是投入了大量人力物力在这个上面的, TI已经提供了最大限度的开放.
提供的demo里面是有central端的.
请你参考一下 SimpleBLECentral 的代码, 里面有 GATT_WriteCharValue()调用的例子, 虽然也只是发送一个字节, 但是这个函数可以让你发送多个字节.
至于 GATT_Notification()为什么不能从central发, 这是BLE协议规定的, 最最基本的原则, notification和indication是从peripheral发送到central的数据通信方式, 而central到peripheral端的数据通信方式是read跟write.
所以作为应用开发者, 也希望有机会的话你也能稍微再仔细得去多看一点TI提供的实例代码, 如果更有时间或者兴趣的话, 可以去了解一下基本的BLE协议栈. 只有你对BLE有一定的了解, 这样你的产品开发才会有更好的前景, 就像汽车只是个交通工具, 你可以只是随便坐在上面, 别人带你去就能达到目的, 但是如果你自己会开车, 就能随意到达更远更有意思的地方, 不是吗?
TI很希望跟你们有互动, 一起进步!
hi Yan
我尝试用串口调试工具助手调试,可是在打开串口时提示串口已被占用?这是什么问题呢?
谢谢
我也遇到过这个问题,应该是关闭蓝牙工具BTool之后再打开串口调试工具,还不行就重新插一下。
hi Yan
我是初学者,正在使用CC2540MINI开发套件,我想知道,如果要想从DK发送数据到DONGLE上,是不是只能遵守domo里的数据发送规则,是不是只能调用GATT_Notification函数?这样效率很低,我想要发送到数据量比较大。是不是还有别的方法?非常期待您的回复。
谢谢
hi Yan
我是初学者,正在使用CC2540MINI开发套件,我想知道,如果要想从DK发送数据到DONGLE上,是不是只能遵守domo里的数据发送规则,是不是只能调用GATT_Notification函数?这样效率很低,我想要发送到数据量比较大。是不是还有别的方法?非常期待您的回复。
谢谢
Hi,Yan
远端的characteristic在哪设置接收多个字节的呢?用的是官方SimpleBLEPeripheral代码