- 博客(22)
- 收藏
- 关注
原创 Wireshark 抓取 BLE 数据包
Wireshark 抓取 BLE 数据包使用蓝牙单片机的sniffer固件(如nRF52系列的sniffer)配合Wireshark抓BLE数据包BLE广播包BLE广播数据包一直就在37,38,39这三个信道跳频,因此很容易抓到,直接默认设置抓取即可BLE数据包BLE数据包的跳频范围大(除广播数据信道外的33个信道),想要抓到完整的数据包就需要抓包器全通道实时监测(使用Ellisys等专业设备可轻松抓取,但价格很昂贵),当我们想用一个单片机式的sniffer就想抓到完整的数据通常比较困难(硬件能力
2021-06-24 21:15:17
4517
4
原创 BLE蓝牙断开连接原因对照表
BLE HCI STATUS(通常用于表示蓝牙断开原因)查阅BLE_core_5.0的Vol2.Part D: Error Codes章节或者看蓝牙厂商提供的头文件ble_hci.h#define BLE_HCI_STATUS_CODE_SUCCESS 0x00#define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND 0x01#define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER
2021-03-22 13:43:25
13076
原创 pyinstaller打包失败,在Building PKG报错
pyinstaller打包失败,在Building PKG报错常见错误Building PKG时报错,且有些脚本可打包成功有一些打包失败一个可用的打包工具脚本常见错误Building PKG时报错,且有些脚本可打包成功有一些打包失败报错log:4294 INFO: Building PKG (CArchive) PKG-00.pkg............ filename_...
2020-01-11 15:05:19
5554
原创 在sublime text下搭建Python环境
Sublime Text3 安装插件以支持python开发为什么要这么干用到的资源需要注意的问题总结为什么要这么干Python开发可以使用文本编辑器来写代码,但是python的语法编译对代码块书写的缩进要求严格,纯靠手工会非常费劲且枯燥,因此需要引入一些工具来帮助我们提升效率。可以选择pycharm但是其比较庞大,远不及sublime来的方便快捷,关键是真的很好用用到的资源安装subl...
2019-11-27 19:40:03
136
原创 小壁虎(EFM32 Zero Gecko)开发板测量功耗
小壁虎(EFM32 Zero Gecko)是一款类似于Arduino的开发板,旨在更加方便快捷的开发嵌入式软硬件开发环境下载链接Simplicity Studio安装好软件后,插上开发板,再按照提示导入相关依赖环境打开Simpilicity Studio,在窗口右上角找到Energy Profiler打开Energy Profiler后,点击Quick Access,找到Run Dem...
2019-07-20 17:00:19
5393
1
原创 nrf52832 DUF功能加看门狗
环境:nrf52832 ,SDK11 问题描述:应用程序中不加WDT时升级功能正常,加了WDT后会在升级一半就重启 原因分析:在升级过程中没有喂狗,导致看门狗发飙了解决办法:#ifdef ADD_WDTstatic void Feed_WDT(void){ NRF_WDT->RR[0] = WDT_RR_RR_Reload;}#endifstatic void wait_for_ev
2017-10-25 12:30:10
2360
1
原创 nrf52832增大数据吞吐量
随着蓝牙性能的提升,BLE的应用领域不再局限于微数据传输,在BLE 4.2上已经突破20字节的限制。 现在nrf52832 SDK13.0上实验Extended MTU 功能,理论上可以使得蓝牙传输速率达到80KByte/s(我没有实际测试速率,如果有人试验了欢迎交流)。**SDK版本:SDK13.0.0 协议栈S132 V4.0.2 在example/ancs工程上修改,添加了nus服务用于
2017-09-07 20:39:02
8642
1
原创 nrf52832用I2C和SPI两种方式驱动LIS2DS12
本来在这里写了些牢骚话,但是想想这是记录技术文档,还是废话少说为好直奔主题先介绍下LIS2DS12,ST公司出的gsensor,内部自带mcu ,可以输出步数、敲击、翻腕等行为结果,还提供了一个256级的FIFO(可以存储256组三轴数据),FIFO具有多种模式,具体参照datasheet设置LIS2DS12的具体驱动方法不细致描述了,这里只记个大概,提个醒。芯片支持两种通信方式:I2C 和 SPI
2017-09-06 20:54:32
7809
3
转载 nrf 设置广播名为序列号
该方法用于工程部署,使得产品按照序列号来广播,便于识别和管理其原理是,JFLASH在烧录时,写入一个序列号的芯片的UICR,在JFLASH可以设置起始序列号和每次烧录增量。在代码中读取出UICR的序列号放入广播数据中http://www.cnblogs.com/libra13179/p/6519637.html
2017-08-25 09:37:53
610
原创 nRF52832之硬件I2C
这几天一直在折腾nRF52832的硬件I2C,到了今天终于出现了成果,在此也印证了那句话:“耕耘就有收获”52832的硬件I2C虽然官方提供了demo,但是自己对I2C通信理解的不够深入,再一个52832的代码也封装的太深了,但是对接口函数没有一个明确的解释(也可以说是我英文太渣,别人写了但是我没看懂。。。),这样对于首次接触nRF产品的人就造成了一定的难度根据我的开发过程,还是先说明一下I2C的一
2016-03-30 23:45:28
13240
4
原创 CC2541 Large OAD 空中升级方式
CC2541 OAD 有两种方式,一种是Flash对半分成Image A和Image B的,另一种是Large Image OAD.Large Image OAD 这种方式的好处是可以通过压缩Image A的方式来提升Image B的存储空间 TI官方的文档是说,可以将Image A压缩至90多KB,因此Image B就有了150多的空间,这相比较于“Flash对半分”的方式就足足多出了30KB
2016-03-11 01:21:48
5748
1
原创 关于低功耗蓝牙的连接参数更新
首先要明确:连接参数是由主机端确定的,从机端可以发起更新连接参数的请求。主机端可以直接下发连接参数,而从机端则只能是发起更新请求并附带想要的连接参数范围。在初始化中将想要的连接参数设置进osal( 在和IOS设备连接时需要注意一些规则,在前面有提到 ):GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enabl
2016-03-05 18:16:41
3716
原创 Source insight 常用快捷键
1、常用快捷键: 参考链接:http://www.cnblogs.com/bluestorm/archive/2012/10/28/2743792.html2、可导入解释文件来支持新语言,CLF文件可在官网下载,支持lua ,delphi,golang,matlab,python,php等语言,主意需要区分source insight的版本下载链接:https://ww...
2016-03-02 18:02:40
436
原创 蓝牙获取MAC地址并转换成字符串形式
void draw_MAC(uint8 *Addr){ Addr[5]=XREG(0X780E); Addr[4]=XREG(0X780F); Addr[3]=XREG(0X7810); Addr[2]=XREG(0X7811); Addr[1]=XREG(0X7812); Addr[0]=XREG(0X7813);}char *bdAddr
2016-03-01 23:22:27
1852
原创 发送NOTIFY
/******************************************************************************* Send_Notification*发送notify给主机*参数:connectionhandle 哪一个从机;pvalue,要发送的数据,len,长度***********************
2016-03-01 23:17:12
694
转载 蓝牙连接参数关于IOS的限制
和iOS设备的连接参数的设置是有要求的不符合iOS设备连接参数定义的数值是不被接受也就不会变更了,所以首先请您确认一下您的参数定义是否满足以下IOS设备的要求•Interval Max * (Slave Latency + 1) •Interval Max >= 20 ms•Interval Min + 20 ms •Slave Latency •ConnSupervisi
2016-03-01 21:14:46
3882
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人