自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(32)
  • 资源 (4)
  • 收藏
  • 关注

原创 ble-mesh笔记整理(1) ble-mesh通信理解

最近有时间将之前整理的,关于蓝牙mesh开发学习过程的一些笔记,以及一些对mesh协议文档理解的翻译文档,发布出来给大家一起学习和参考,主要是一个学习的过程参考。蓝牙Mesh通过网状网的组网结构,可以实现室内的大范围网络覆盖。节点(Node)组成了蓝牙Mesh的主干网络,在Node之间使用了低功耗蓝牙的技术进行对连,而具有不同能力特性的节点在网络中承担了不同的角色。承担网络角色,需要节点之间遵守蓝牙Mesh的语法(通信规则、数据格式)进行对话,通过协商组成网络并向应用提供网络路由服务。节点间的网

2021-10-06 18:08:29 1348 1

原创 认识蓝牙mesh模型

什么是蓝牙mesh模型? 根据蓝牙mesh术语表所述: “模型(Model)——定义的是一系列状态、状态转换、状态绑定、消息和其他相关性能的集合。节点中的元素必须支持一个或多个模型,并且模型定义了相关元素的功能。蓝牙技术联盟定义了许多模型,其中大部分模型被特意定位为能够在各类设备中使用的‘通用’模型。” 相关术语,请参阅蓝牙mesh术语表和蓝牙mesh技术概览。 从本质上讲,模型是标准软件组件的技术规格,决定了mesh设备的功能。模型是独立的组件,并且一个产品包含多个模型。总之,从网络角度来看,可以说模型.

2021-10-05 22:56:54 1596

原创 BLE配对绑定总结

一.配对绑定的简介配对是找到并确定需要和自己通信的设备,也就是身份确定,而这一过程仅仅是由启动加密到得到短期秘钥(STK)为止; 而绑定是将长期秘钥(LTK)、 身份解析秘钥(IRK)和连接签名解析秘钥(CSRK)这 3 个密钥中的某个或者组合进行交换后,将交换的这些密钥存储到数据库中的过程。配对绑定过程只会发生在两个设备之间第一次连接,因为在第一次配对绑定过程中已经进行了密钥存储,如果这个存储的数据库没有人为的清空,那么之后的连接就不会再出现配对过程二.配对绑定过程1、配对特征交换得到临时密钥

2021-10-05 22:11:51 1390

转载 基于Nordic52832的六轴HID蓝牙鼠标开发

前言很久没开发蓝牙相关的项目,找到一块Noridc蓝牙kit板,正好配合6轴来做一个拟合姿态的无线鼠标如有异议,欢迎指正方案实现使用了6轴传感器和Nordic kit开发板,6轴获取姿态换算获得欧拉角,然后对应的角度拟合到HID鼠标描述符的XY轴移动改变量,通过蓝牙传给到PC端,用于控制鼠标指针动作HID基本概念HID(The Human Interface Device)人机交互设备,定义了在人机接口设备中的协议、特征和使用规范,蓝牙HID协议以USB HID协议规范为基础https:.

2021-08-10 16:29:05 983

原创 BLE HID 协议-----蓝牙鼠标 代码流程分析

写在前面:使用SDK版本 NRF 12.3.0,nRF52\nRF52832 pack\nRF5_SDK_12.3.0_d7731ad\examples\ble_peripheral\ble_app_hids_mouse,本文仅对代码分析,如有理解不到位的地方,欢迎沟通,QQ:993650814.正文:一、 HID准备资料:1、BLE HID简介2、BLE HID控制手机相机或音乐3、HID 报告描述 2首先感谢这位兄弟的分享,引用这三篇文章,如有不妥请及时联系我后立马删除。

2021-08-10 16:18:59 8864 1

转载 BLE HID控制手机相机或音乐

BLE HID涉及到设备管理。具体内容看<<设备管理>>部分。BLE HID涉及到白名单。具体内容看<<白名单>>部分。BLE HID涉及到定向广播。具体内容看<<定向广播>>部分。硬件平台:官方52开发板参考例程:C:..\nRF5_SDK_11.0.0_89a8197\examples\ble_peripheral\ble_app_hids_mouse\移植可以把显示和电池服务去掉,只拷贝hid部分。把UUI

2021-08-10 16:14:40 1488

转载 BLE HID简介

http://www.usb.org/developers/hidpage/https://www.bluetooth.com/specifications/gatt/characteristics简述HID设备,即人机交互设备,常见的有鼠标,键盘,游戏手柄,等等。一般有线方式都是通过USB连线连接到机器设备,作为用户输入设备。在蓝牙技术中,HID设备的接入就是无线的了。但 BLE HID 规范是以 USB HID 规范为基础的 ,不然设备驱动,兼容等问题都会有很多麻烦了。蓝牙中有HID, HOG

2021-08-10 15:55:24 1556 1

原创 BLE天线设计

目录:1、简介2、天线原理3、天线类型4、天线选择5、赛普拉斯PRoC/PSoC BLE的天线6、赛普拉斯专有的PCB天线蛇形倒F天线(MIFA)倒F天线(IFA)7、芯片天线8、导线天线9、各种天线的比较10、天线的调试本文引用地址:http://www.eepw.com.cn/article/201603/288481.htm本文章使用简单的术语介绍了天线的设计情况,并推荐了两款经过赛普拉斯测试的低成本PCB天线。这些PCB天线能够与赛普拉斯PRoC

2021-08-10 15:25:30 1758

转载 BLE天线种类

蓝牙天线种类1)偶极天线  偶极天线的外观通常是圆柱状或是薄片状,其在天线底端有一转接头做为能量馈入的装置,而与蓝牙模块之射频前端电路所外接的转接头相互连接。另外一种 天线外接方式是使用可旋转式转接头,这种方式的优点在于天线可以依照使用需求做任意角度的旋动并藉以提高传输效果,但是其缺点在于可旋转式接头的成本较 高。 偶天线的长度与其操作频率有关,一般常用的设计是使用半波长或四分之一波长来做为天线的长度。另外,偶极天线亦可以应用平面化的设计方式将蓝牙天线设计为 可焊接在电路板上的 SMD(Surface-

2021-08-10 15:14:07 471

转载 nRF52832 — 提高蓝牙BLE的数据传输速率

版权声明:本BLOG上原创文章未经本人许可,不得转载,否则属于侵权行为 https://blog.csdn.net/weixin_40204595/article/details/80735520 &amp;amp;lt;/div&amp;amp;gt; &amp;amp;lt;link r...

2019-03-04 13:55:03 1534

转载 Leetcode 307.区域检索-数组可修改

给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。update(i, val) 函数可以通过将下标为 i 的数值更新为 val,从而对数列进行修改。示例:Given nums = [1, 3, 5]sumRange(0, 2) -&gt; 9update(1, 2)sumRange(0, 2) -&gt; 8说明:...

2019-01-07 19:32:32 328

转载 python实现正则

python 通过 re 模块实现对正则表达式的支持,一般先将正则表达式的字符串形式编译为 Pattern 实例,然后使用 Pattern 实例处理文本并获得匹配结果,最后使用 Match 实例获得信息。python 中常用的实现正则表达式匹配函数有两种调用方式 re 调用和 pattern 调用。复制代码1 # re 调用2 &gt; 1. re.compile(string[,flag...

2019-01-07 19:30:56 283

转载 Python基础28_socket.粘包

一. tcp下的socket1. 正常的tcp下的socket(1). server端:import socketserver = socket.socket()socket.bind((“127.0.0.1”, 8001)) # 把地址和端口绑定到套接字socket.listen # 监听连接conn, addr = server.accept() ...

2019-01-07 19:29:22 254

转载 MongoDB学习笔记——MongoDB 连接配置

connect=direct|replicasetdirect: 直接建立一个到服务器的连接。如果指定了多个host,将按先后顺序挨个尝试建立连接,直到连接建立成功为止。如果只指定了一个host,则 direct 为默认值。replicaset: 使用creplica set semantics建立连接(即使只提供了一个host)。指定的host作为种子列表来查找完整的replica set。...

2019-01-07 19:28:13 850

转载 Python之注释

任何时候,我们都可以给程序加上注释。注释是用来说明代码的,给自己或别人看,而程序运行的时候,Python解释器会直接忽略掉注释,所以,有没有注释不影响程序的执行结果,但是影响到别人能不能看懂你的代码。Python的注释以 # 开头,后面的文字直到行尾都算注释这一行全部都是注释…print ‘hello’ # 这也是注释注释还有一个巧妙的用途,就是一些代码我们不想运行,但又不想删除,就可以用...

2019-01-07 19:26:34 312

转载 markdown常用语法

标题:#h1级标题##h2级标题###h3级标题####h4级标题#####h5级标题######h6级标题分割线:三个以上的短线 即可作出分割线超链接:[连接名称](网址 , 标题)我是链接名 点我刷新另一种超链接写法:[链接名][链接代号][here][3]然后在别的地方定义 3 这个详细链接信息,[3]: http://www.izhangbo.cn “聚牛团队...

2019-01-07 18:11:04 96

转载 Docker持久化存储与数据共享

一.Docker持久化数据的方案基于本地文件系统的Volume:可以在执行docker create或docker run时,通过-v参数将主机的目录作为容器的数据卷。这部分功能便是基于本地文件系统的volume管理。基于plugin的Volume:支持第三方的存储方案,比如NAS,aws1.Volume的类型受管理的data Volume,由docker后台自动创建绑定挂载的Volu...

2019-01-07 18:09:54 152

转载 HTTP与HTTPS

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,H...

2019-01-07 18:08:53 108

转载 搭建IPv4专有网络

弹性公网IP(EIP)是可以独立购买和持有的公网IP地址资源。完成以下操作,创建EIP:在专有网络控制台的左侧导航栏,单击弹性公网IP。单击申请弹性公网IP。配置EIP,完成支付。EIP计费的相关说明,参考预付费和按量付费。找到已创建的EIP,然后单击绑定。在弹出的对话框中,实例类型选择ECS实例,然后选择已创建的ECS实例。单击确定。步骤四: 公网访问测试在绑定EIP后,专有网...

2019-01-07 18:07:21 195

转载 redis测试实践

最近测试服务端的时候,接触到了redis,之前也看过,但不系统,借着这次实践,记录一下。一、写在前面Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和...

2019-01-07 18:06:07 76

转载 NRF52832NFC读写

NRF52832NFC读写2017年04月12日 16:30:05阅读数:3067本文参考了nodic官网的问答。nrf51822和nrf52832都是nordic公司生产的低功耗ble芯片。nrf52832是nrf51822的升级版,nrf52相比nrf51增加了nfc的功能。但是官方给的固件中nfc的写功能被禁止了,也就是说如果使用官方给的库的话只能进行nfc的数据读取,而不能将数据写入的nr...

2018-07-05 17:36:55 4108 5

转载 nRF51822外设应用[2]:GPIOTE的应用-按键检测

1. nRF51822寄存器类型  nRF51822的寄存器和一般的单片机有所差别,nRF51822的寄存器分为下面的三种类型。Task :任务寄存器,可以由程序或事件触发。 Event:事件寄存器,事件可以产生中断或触发任务。 Register:普通寄存器,和一般单片机的寄存器一样。  Task和event使得操作片上外设十分方便简洁,只需进行少量的配置,即可轻松运用各种外设。同时...

2017-12-11 10:55:09 2807

转载 蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应

1.扫描请求和扫描响应  广播包含扫描请求SCAN_REQ和扫描响应SCAN_RSP。扫描请求:由链路层处于扫描态的设备发送,链路层处于广播态的设备接收。 扫描响应:由链路层处于广播态的设备发送,链路层处于扫描态的设备接收。  处于扫描态的设备可以接收广播信道的报文,通过扫描可以侦听哪些设备正在广播。扫描分为主动扫描和被动扫描。主动扫描发送扫描请求给处于广播态的设备,并通过处于广...

2017-12-11 10:52:22 1441

转载 蓝牙4.0BLE抓包(二) – 广播包解析

在使用EN-Dongle捕获和解析广播包之前,我们先了解一下BLE报文的结构,之后,再对捕获的广播包进行分析。在学习BLE的时候,下面两个文档是极其重要的,这是SIG发布的蓝牙的核心协议和核心协议增补。核心协议Core_v4.2。核心协议增补CSS v6。  虽然这两个文档是蓝牙技术的根本,但是遗憾的是:通过这两个文档学习蓝牙并不是那么容易的,阅读和理解起来很费力。尤其是初学者在阅读这

2017-12-11 10:51:11 1212

转载 蓝牙4.0BLE抓包(一) - 搭建EN-Dongle工作环境 使用EN-Dongle抓包 nRF51822

蓝牙4.0 BLE的开发过程中,使用抓包器进行抓包分析无疑会极大地提高我们的开发效率,同时能帮我们快速的定位问题。对于初学者来说,抓包分析能让我们更快的理解蓝牙4.0 BLE的工作过程。本文详细说明如何搭建EN-Dongle的抓包环境和如何使用EN-Dongle进行抓包。EN-Dongle抓包时会通过Sniffer软件调用强大的网络封包分析软件Wireshark捕获和分析BLE包。1.需...

2017-12-11 10:48:44 2885 2

转载 8080系列和6800系列

6800又叫moto总线,8080总线又叫Intel总线。大致来说,Intel总线的控制线有四根,RD写使能, WR读使能, ALE地址锁存, CS片选。而moto总线只有三根,R/W 读/写,ALE地址锁存,CE片使能。--------------------------------------------------------------------------------

2013-02-25 14:46:58 314

转载 (*(void (*)( ) )0)( )的理解

(*(void (*)( ) )0)( )的理解分类: C语言编程 2012-11-21 15:33 23人阅读 评论(0)收藏 举报  在很多情况下,尤其是读别人所写代码的时候,对C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。  问题:声明与函数

2013-02-25 14:33:11 202

转载 高效c代码的编写

网上找到了一篇文章关于高效c代码的编写,在这里贴出来,供大家参考吧。可能大家使用的平台不同,但是总体来说还是有借鉴意义的。* 编程经验—随着程序员编程经验的增长,优化代码的技术也会相应提高。* 对指令集映射的理解—单片机的内核不同其架构和特性也不相同。必须清楚C语言和汇编语句之间的映射关系,即这句C语句生成了哪几句汇编语句。* 对编译器/连接器特性的了解—单片机不同其编译器也不同,

2013-02-04 15:40:46 366

转载 semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机

semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机2012-11-22 22:12:43 -----------------------------------------------------------------------------------------------作者:prife感谢:[email protected]

2013-01-28 19:22:42 391

原创 对RT-Thread系统的理解-(系统对象)

由于工作的原因,好久没有关注嵌入式系统了,在读书的时候看了一下ucos的源码,后来发现它不再是免费的了,所以在网上搜索了一下,看看还有没有其它的免费替代品,还真发现了不少,足以见得,嵌入式系统的发展势头了,对于嵌入式操作系统不再是一个神秘的东西。RT-Thread,是一个国内的开源项目,目前来说是GPL2,希望其一直能开源+免费,它采用了面向对象的方法来设计的,把系统中的大部分资源看成是对象,

2012-07-25 22:16:24 444

转载 More Effective C++:指针与引用的区别

指针与引用看上去完全不同(指针用操作符’*’和’->’,引用使用操作符’.’),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?  首先,要认识到在任何情况下都不能用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这

2012-07-11 23:46:56 176

转载 STM32学习过程

1.首先我们先看看与STM32相关的文档                 我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。如果你手上拥有ST官方主推的STM32神舟系列的板子,那么光盘都会配好这些文档,STM32的学习与ARM9的学习有一个很大的区别。ARM9的学习一般是需要购买书籍的。比如三星的S3C2440,官方的文档

2012-07-11 23:42:20 494

NordicSemiconductor.nRF_DeviceFamilyPack.8.17.0

MDK 5 Nordic nRF系列MCU 支持包NordicSemiconductor.nRF_DeviceFamilyPack.8.17.0

2018-12-05

Keil_uVision4_从门到精通

Keil_uVision4_从门到精通 KEIL uVision4比起uVision3或是uVision2界面感觉舒服一些,增加了哪些功能暂且不去研究,毕竟大家都喜欢用新的软件,感叹发展太快了,很多人连uVision2都没有摸透,呵呵。安装的方法和普通软件差不多,这里就不做介绍了。另外提醒大家不要崇拜汉化版软件,还是E文的干净没有BUG

2011-08-14

LabVIEW教程LabVIEW教程

LabVIEW教程LabVIEW教程LabVIEW教程LabVIEW教程

2010-11-28

傅里叶变换光谱仪中的主要技术环节

傅里叶变换光谱仪傅里叶变换光谱仪中的主要技术环节

2010-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除