![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝牙
退5不落5
这个作者很懒,什么都没留下…
展开
-
packet sniffer抓包
问题:用packet sniffer 抓到数据包,display filter 可以通过把pty = empty pdu只显示 空包,pty还有其他值可设,只显示control 或L2CAP-S 类型的答案:I use the SmartRF™ Packet Sniffer software.In the “Display filter” tab, “Filter name” = Data T...原创 2020-03-19 14:57:36 · 782 阅读 · 0 评论 -
TI CC2540 USB CDC问题
1.蓝牙开发过程中,会用到OAD功能,搭建环境时,可能遇到驱动安装问题。安装cdc驱动后,显示在网上查找很久,尝试了很多方法,都未解决。如https://www.cnblogs.com/small-T87-love-mam/p/4376139.html的解决方案。进行最后的尝试,重装系统。重装系统后,安装cdc驱动,会出现如图此时,将usbser.sys文件放到相应文件夹,重启电...原创 2020-03-10 12:30:37 · 548 阅读 · 0 评论 -
cc2541低功耗
我们来总结一下实现方法:1,有定时器在跑时会一直跑在 PM2 最小系统电流在 300uA左右。没有定时器跑后会到 PM3 , 电流会少于10uA 。这个定时器是指 osal 的定时器,例如:启动 了osal_start_timerEx( keyfobapp_TaskID, KFD_TOGGLE_BUZZER_EVT, 2000 );但没到时间:需要说明的是 keyfob 中的 ...原创 2019-09-02 15:52:34 · 709 阅读 · 0 评论 -
ble问题总结
怎么通过 通知功能 发送100以上字节的数据到主机,关于分包发送,我没有搞明白怎么做?答:1.启动个定时器,在定时器处理事件里调用4次notification函数,每个函数写20字节 2.定时器的启动时间,不能低于连接间隔 比如:用一个定时器,每间隔20毫秒发20个字节, 连接间隔小于20ms....原创 2019-06-18 09:10:20 · 292 阅读 · 0 评论 -
ble属性数据库
这里只介绍常用的一些概念,一些极少用到的概念为避免混淆这里不做介绍。简单的来说,BLE的服务端属性数据库可以就看做是一张表。表中包含很多个条目。每一条条目就称为属性条目。服务端,比如一个简单的防丢器。当连接后作为服务端时,其中可能包含有好几个服务,像是 设备信息服务 电池服务 警告服务等, 这些服务创建后都是存在数据库中,都是以一条条属性条目的形式存在于数据库中,那如何区分这些服务?区分的...转载 2019-05-17 14:19:08 · 526 阅读 · 0 评论 -
蓝牙GATT层
蓝牙理论篇1.什么是蓝牙4.0BLE协议栈协议定义的是一系列的通信标准 协议栈则是协议的具体实现形式,也即协议栈是用代码实现的函数库2.如何使用蓝牙4.0BLE协议栈协议栈已经实现了蓝牙4.0BLE协议,在开发过程中不必过多地关注协议的实现细节。但要关注最核心的一个问题:应用程序数据从哪来?到哪去?协议栈很多版本,不同厂商不尽相同。要知道数据从哪里到哪去,需要对协议栈的基本构成与内部...转载 2019-04-25 17:34:05 · 583 阅读 · 0 评论 -
BLE协议结构图
BLE协议结构图第一层:physicallayer(物理层)信道带宽提供2M,提供三个广播信道1M。第二层:link layer(链路层)执行一些基带协议,底层的数据包管理协议。第三层:host controller interface (主机控制接口层)提供主机与控制层 的通讯方式,以及命令格式,重用蓝牙标准,比如一些串口,USB等等。第四层:L2CAP(逻辑链路于适配器协议层)...原创 2019-04-25 16:31:13 · 893 阅读 · 0 评论 -
增加特征值 CHAR6
1.这个 simpleGATTprofile.h 实现的是 TI 自定义的 5 个 profile, 我们在此基础上增加CHAR6增加 CHAR6 的 profile 参数增加该特征值的 UUID增加该特征值的长度,实际传输数量是任意长度。returnBytes 就是返回多少个字节的意思, 这里正好对应到上面所说到的 “我们传输的数据长度是随意的” simpleGATTprofil...原创 2019-05-05 17:34:57 · 400 阅读 · 0 评论 -
BLE实例-传感器采集
1.performPeriodicTask函数中if ( events & SBP_DHT11_READ_HUMITURE_EVT ){ //关总中断 EA = 0; //采集 DHT11 温湿度 DHT11_Read_Humiture(sbDHT11_data); //开总中断 EA = 1; //启动定时器执行串口打印 DHT11 温湿度事件 osal_start_...原创 2019-05-05 15:43:36 · 514 阅读 · 0 评论 -
BLE应用程序初始化
应用程序初始化分为两个阶段:其中,PeripheralOSAL调用SimpleBLEPeripheral_Init()函数,这一初始化函数设置GAP任务配置文件参数、GAP特性、GAP绑定管理参数、GATT配置文件参数,通过设置一个操作系统虚拟层的SBP_START_DEVIC_EVT事件来触发第二阶段初始化。第二阶段,调用SimpleBLEPeripheral_ProcessEvent(...原创 2019-04-29 17:57:17 · 429 阅读 · 0 评论 -
ICALL 技术
阅读simpleLink MCU工程源码的过程中,遇到一个叫做Icall的东西,具体是干什么用的呢? 原来就是个中间件(middleware),做过C/C++跨平台开发的人,都知道,要想实现跨平台,必须使用平台无关的API来进行开发,否则一定会遇到移植到其他平台无法使用的问题。java技术之所以能做到一次开发,到处运行,原因就是有一个JVM的东西,作为平台和application的中间件,起到了...转载 2019-04-23 17:01:31 · 1039 阅读 · 0 评论