
BLE
Ctrlturtle
电子科大硕士毕业, 目前工作方向为移动端机器学习应用, 业余爱好UE4独立游戏开发;
主力语言C/C++/Python,涉及Android,机器学习,游戏引擎
展开
-
BLE开发(TI CC254x)之协议栈分析
TI 系列的蓝牙芯片在协议栈支持上比较完善,最近使用CC254x系列BLE芯片,发现其协议栈的实现挺有意思,这里做点简单分析。1.协议栈结构CC2540 集成了增强型的 8051 内核, TI 为 BLE 协议栈搭建了一个简单的操作系统OSAL,即一种任务轮询机制。帮你做好了底层和蓝牙协议深层的内容,将复杂部分屏蔽掉。让用户通过 API 函数就可以轻易用蓝牙 4.0,是开发起来更加方便,开原创 2016-12-29 17:45:57 · 3256 阅读 · 1 评论 -
BLE开发(TI CC254x)之串口收发
基于CC254x蓝牙协议栈的串口收发非常简单,现总结成5个步骤:1.修改NPI下npi.c中的初始化函数只需修改配置UART的两个参数:波特率和流控制。使用两线的串口通信时必须关闭流控制,波特率根据需求选择。void NPI_InitTransport( npiCBack_t npiCBack ){ halUARTCfg_t uartConfig; // con原创 2016-12-29 18:09:49 · 3330 阅读 · 0 评论 -
BLE开发(TI CC254x)之一主多从方案(蓝牙项目纪实)
近期一个BLE项目,整套方案做下来发现虽然需求特殊,但是根据这个项目可以衍生出BLE设备一主多从的一般性方法。项目的需求基本如下:1.实现基于CC2541芯片的蓝牙主机固件代码,要求主机1拖4从机;2.上电自动、同时连接4个BLE设备;3.身份识别需求:扫描绑定这4个唯一设备,不允许自动连接其他BLE设备4.同时连接的情况下,读取4个BLE设备的通知型数据,并串口封包转发。原创 2016-12-29 22:23:51 · 15019 阅读 · 5 评论 -
Android(Java)开发之BLE4.0入门
这段时间要定制一个蓝牙BLE设备的主机端APP,负责读写iBeacon等设备的蓝牙数据,计划用Java和Qt for Android实现两个简单的demo,比较后决定继续基于哪个开发,其中Qt 蓝牙模块以前使用过,在官方demo上做过一个蓝牙心率计的APP,现在考虑使用Android4.3开始提供的BLE API。第一部分记录本人调试、分析谷歌官方demo:BluetoothLeGatt的源码原创 2016-12-29 17:01:07 · 2686 阅读 · 0 评论 -
Android(Java)开发之获取BLE广播包(扫描后获取:广播数据+扫描应答数据+RSSI)
一、安卓BLE的广播包数据从哪获取?通常,安卓APP读写BLE设备的数据都是建立连接后通过GATT获取或修改。但是,BLE设备向外广播时本身会携带一部分有用信息,如将传感数据存放到广播包的自定义数据段,最近接触的一个iBeacon/EddyStone整合项目便是类似,因此为了提取广播包进行解析,首要问题就是安卓APP如何获取广播数据。 其实,安卓蓝牙在扫描设备后,回调方法 onL原创 2017-01-11 13:07:19 · 24065 阅读 · 18 评论 -
BLE开发-CC2640开发笔记(1)
记录CC2640官方软件开发指南中的要点信息,本篇为开发入门部分。1.CC2640程序开发需要用到的软件工具:BLE-stack:ble-stack-v2.2.1 for cc2640/cc2650 (需要默认路径安装) IDE和仿真器:IDE 可以使用IAR for ARM (推荐7.8以上版本) 或CCS(TI官方开发环境);仿真器支持XDS100原创 2017-02-16 12:07:48 · 8274 阅读 · 0 评论