您好,我现在的开发板是linux系统,bluez协议栈,上面通过UART连接了一个wifi+蓝牙模块,亲测bluetool相关命令可用,并可扫描到周围的蓝牙设备,这应该说明主开发板是支持HCI连接蓝牙设备的。以上为背景
现在打算将开发板上的wifi+蓝牙模块去掉,通过uart外接一个TI cc2640蓝牙模块,但是不知道该怎么配置,网上也没找到相关的开发经验。主要向请教以下问题:
1)cc2640是否需要烧录特定的软件,设置成特定的模式?
2)主开发板linux系统这边需要识别出外接的cc2640,有什么要修改或移植的吗?
3)是否可通过现有的hcitool命令控制cc2640?收发包,扫描等
4)是否可以通过hci socket编程实现主开发板上层业务模块对外接的cc2640的控制?
谢谢~
YiKai Chen:
1. cc2640上面要跑HostTest例程
2,3&4. Linux上面要跑類似Btool的程序,透過HCI command去控制CC2640. hci command你可以參考TI_BLE_Vendor_Specific_HCI_Guide.pdf
Alvin Chen:
1.CC2640可以使用SBL烧录,也可以使用JTAG烧录。烧录使用的UNIFLASH.
首先使用Host test demo程序。以下是个人思路没有做过,一般都是使用CC2564去和linux搭配。
2.你需要使用linux 中/dev/ttyACM0 接口去识别你插入的USB设备,或者你使用UART口也可以。
3.HCI命令BlueTooth 官网的Core4.2中有说明,也可以哦参考了下面的文章
dev.ti.com/…/hci.html
user5366963:
回复 YiKai Chen:
我总结一下:
cc2640蓝牙模块方面:
1)cc2640上面跑HomeTest例程?这个例程实际上就是蓝牙模块的收发包等操作的接收例程是吗?主开发上面:
1)主开发板(运行嵌入式Linux系统,bluez蓝牙协议栈),硬件上通过uart与cc2640相连,不需要修改其他东西,主开发板就可以识别出cc2640这个蓝牙设备了是吗?
2)在1)的基础上,编写应用程序(C或者python),通过调用hci command就可以实现对cc2640的控制了,是吗?
3)还有一个问题,怎么算主开发板识别出cc2640了呢?hclconfig -a命令看到有这个设备信息?还是其他方式初次接触蓝牙开发,多有不解,请多指教,谢谢
user5366963:
回复 Alvin Chen:
多谢您的回答,我想确认的是:
1)是不是我的主开发板硬件上通过uart与cc2640相连,主开发板的系统(嵌入式Linux,bluez协议栈)不需要修改其他东西,就可以识别出cc2640这个蓝牙设备了?
2)通过哪些现象或者命令,可以看出主开发板识别出cc2640这个蓝牙设备了?多谢
Alvin Chen:
回复 user5366963:
请不要翻旧帖子了,系统是识别不出来的,你只能通过USB 驱动去识别那个USB设备类型,比如Beaglebone black 插入CC2530USB dongle 会弹出一个usb设备已经插入,以及USB的设备的描述信息。
YiKai Chen:
回复 user5366963:
1. HostTest-这个例程实际上就是蓝牙模块跟host的收发包等操作的例程
2、3&4 主开发板就是要透過HCI command 去跟CC2640溝通,可以下HCI_EXT_BuildRevisionCmd去看看有沒有回應就知道主开发板就可不可以识别出cc2640这个蓝牙设备
user5366963:
回复 Alvin Chen:
好的,多谢,初次开发,不是很了解,见谅
USB驱动可以识别,这个我知道,那UART方式连接呢?有没有什么方法去识别呢?
YiKai Chen:
回复 user5366963:
UART方式连接就是直接下HCI_EXT_BuildRevisionCmd去看看有沒有回應就知道主开发板就可不可以识别出cc2640这个蓝牙设备
user5366963:
回复 YiKai Chen:
多谢,这个需要编写测试程序,调用HCI command才能测试出来吧?我是想有没有更简单的方法,比如用hciconfig命令hciconfig -a等方式去查看蓝牙设备的信息,来确定有没有主开发板和蓝牙设备有没有连接成功?
user5366963:
回复 YiKai Chen:
非常感谢,也就是说,我要做的就是:
1)cc2640上烧入hostapp;
2)主开发板和cc2640用uart相连,主开发板除此以外不需要修改其他东西;
3)编写测试例程调用HCI_EXT_BuildRevisionCmd相关接口,去确认有没有识别出cc2640蓝牙设备;
4)如识别出蓝牙设备,即可编写应用程序,通过hci command去控制cc2640收发包等;大概是上面这些流程吧?
多谢耐心解答