蓝牙设计

蓝牙的选型、设计及测试 蓝牙信号质量受选型、设计和测试全链条影响。选错芯片、设计不当或测试不充分都可能导致信号问题。芯片选型需关注协议兼容性、发射功率和接收灵敏度,而天线选型则需考虑内置与外置天线的优缺点。硬件设计应确保天线布局合理,射频电路设计需精确匹配。软件设计则涉及协议栈调优和抗干扰算法。测试环节包括实验室精准测试和外场真实环境测试,以确保信号稳定性和抗干扰能力。未来,蓝牙5.3和LEAudio技术将进一步提升信号质量,而AI和毫米波技术也将为蓝牙信号优化带来新机遇。 阅读详情


 

1.    问:什么是蓝牙通信?

答:蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接,现在已经成为IEEE802.15标准,得到全球上万家厂商支持。

 

2.    问:如果从事蓝牙开发有没有前途?

答:严格地说,这不是一个技术问题,而是一个世界观问题。什么是前途?如果单纯是金钱,从事技术是不太可能暴富的(注意比尔.盖茨是个技术商人);如果想用你所能改善世界,这是可能的,毕竟蓝牙的主要用途是民用。附带说一句,考虑赚钱和改变世界是中国和西方人世界观的主要差别。

 

3.    问:蓝牙有什么优势?

答:首先是低功耗,以BLE 4.0为例,一节钮扣电池在静态工作状态可以支持一年;其次是低成本,TI公司的CC2540蓝牙SOC方案芯片出售价仅1美元,可以让人们低廉使用蓝牙技术;再次是开放性,2.4GHz的频段全球开放,没有政府监管;最后是适合时代潮流,现在是手机的时代,蓝牙技术本来就为它而生。

 

4.    问:蓝牙4.0协议和BLE是什么?

答:蓝牙4.0协议是2010年6月由SIG(Special Interest Group)发布的最新标准,它有2种模式:BLE(Bluetooth low energy)只能与4.0协议设备通信,适应节能且仅收发少量数据的设备(如家用电子);BR/EDR(Basic Rate / Enhanced Data Rate),向下兼容(能与3.0/2.1/2.0通信),适应收发数据较多的设备(如耳机)。

 

5.    问:目前支持蓝牙4.0的移动设备有哪些?

答:苹果公司的iPhone 4S、iPhone 5、miniPad和iPad 3;小米手机2;三星公司的Galaxy SIII和Note II;HTC ONE系列。

 

6.    问:如何开始蓝牙4.0的开发呢?

答:概括地讲至少以下三方面的准备吧。硬件方面,需要购买TI公司蓝牙迷你套件,包括蓝牙USB电子狗和KeyFob以及CC Debugger传真器;软件方面,安装IAR for 8051,TI公司BTool软件;技术知识,《CC2540/41 BLE Software Developer’s Guide 1.3》和《CC2540/41 User’s Guide》。

 

7.    问:刚开始接触蓝牙如何快速上手?

答:理论联系实践是比较好的学习方法,建议先学习《CC2540/41 BLE Software Developer’s Guide 1.3》,然后将SimpleBLEPerepheral工程导入IAR for 8051,结合电子狗和BTool,调试蓝牙通讯中的广播/连接/绑定/访问。光看书不动手,空虚;不看书光动手,浅薄。

 

8.    问:IAR调试CC2540时程序导入到了芯片的Flash中了吗?

答:确实。CC2540是SOC(System On Chip)芯片,它的内核就是8051,它需要从ROM中取指令,从RAM中取数据来运行。仿真时,CC Debugger会把程序导入芯片Flash中,再执行仿真。

 

9.    问:当IAR调试中出现警告“缺少断点,无法运行到main()”?

答:出现这个错误的原因是,IAR for 8051最多只能设置3个断点,如果设置过多,当程序下载后,将出现些调试警告。解决的方法很简单,去掉一些断点,再重新载入程序。

 

10. 问:为什么IAR调试时有很多变量无法查看它的值?

答:主要的原因是IAR编译器设置了优化功能,函数中的自动变量以及一些静态函数都被优化过了,所以没有生成对应的调试信息,无法查看和设置断点。解决的方法是关闭编译器的优化功能,右键点击工程的Options -> C/C++ Compiler -> Optimizations中的Level设置为None。

 

11. 问:蓝牙协议分层很多且比较复杂,该如何掌握呢?

答:蓝牙协议从应用层到物理层一共分了8层,看上去比较复杂且API函数很多。首先不必要知道每一层的具体实现,掌握与应用紧密关联GAP/GATT(或者GAP Role和GATT Profiles)层就可以满足大部分设计需要;每一层的软件都是通过OSAL来调用的,因此需要了解OSAL的基本原理:任务/事件/消息/定时器/动态分配内存;最后把蓝牙通讯过程理解,将有助于开发。

 

12. 问:OSAL是一个操作系统吗?

答:OSAL(Operating System Abstraction Layer)操作系统抽象层,它不是一个真正的操作系统(它没有Context Switch上下文切换功能),但它巧妙地组织各任务,支持任务优先级,任务之间可以通过事件和消息来通信,为任务提供软定时器和动态内存分配。要避免的陷阱是,应用任务的单个函数运行时间不能太长(如操作大批量数据的Flash写),否则它无法及时调度高优先级的LL(Link Layer)任务而导致蓝牙通信中断。

 

13. 问:蓝牙节点是如何组成微微网的呢?

答:蓝牙节点组网中,只能存在一个主节点(Central)和多个从节点(Peripheral),从节点是发出信号者,主节点是扫描且发起连接者。

 

14. 问:主节点和从节点通信的过程是怎样的呢?

答:当从节点发出广告信号(包括设备地址和设备名称之类的附加信息);主节点收到此广告信号后,向从节点发出扫描请求;当从节点回应扫描时,就完成了设备发现过程。

接着主节点向从节点发出连接请求(包括连接时隙、从节点待机次数、连接超时值),从节点回应连接,就完成了建立连接。

为了安全起见,一些数据的访问需要认证,它的完成是这样的:一方(可以是主节点,也可以是从节点)向另一方索要6位数字的密码,之后,两个节点彼此交换安全密钥用于加密和认证,此过程称为配对。

认证的过程比较繁琐,BLE协议支持两节点保存认证的安全密钥(一般是非易失性存储器中),以便于两节点下次连接后快速认证,这就是绑定技术。

 

15. 问:蓝牙通信中两个节点如何交换数据?

答:这是蓝牙通信中最让初学者迷惑的地方。大部分通信,尤其是TCP/IP,交换数据的婚介是数据包,但蓝牙通信中,工程师找不到数据包访问方式,于是就产生疑问。其实蓝牙最底层也是基于无线数据包交换,只是通过层层封装,交付给工程师的API接口就变成了Client访问Server的方式。

 

16. 问:Client和Server节点是如何定义呢?

答:通俗地说吧,Server(服务器)就是数据中心,Client(客户端)就是访问数据者。特别说明,它与主/从设备是独立的概念:一个主设备既可以充当Server,又可以充当Client;从设备亦然。

 

17. 问:Server是如何提供数据呢?

答:Server首先将一个服务按“属性/句柄/数值/描述”这种格式予以组织,然后调用API函数GATTServApp_RegisterService将服务数据进行注册。举个实例吧,设提供一个电池电量服务字节,它允许Client读取,数据为一个8比特无符号数(0~100%),它的组织如下:02 25 00 19 2A, 这5个数据(小端格式)分别是:0x02=只读属性,0x0025=句柄;0x2A19=服务UUID。

 

18. 问:不明白Server提供服务中的UUID?

答:UUID(Universal Unique Identifier)全球惟一标识符,本来是SIC组织分配给特定蓝牙服务的标识,如分配0x2A25为设备序列号的UUID,这样任意蓝牙设备都可以通过它得到另一个设备的序列号。

打个类比,它就像书名,如《现代操作系统》,所有人一看就知道它是计算机大师Andrew S. Tanenbaum写的书。

 

19. 问:什么是Server提供服务中的句柄呢?

答:句柄(Handle)就是服务数据在数据中心的地址,当所有的服务数据组织起来后,它总得有个先后顺序,某个服务的位置就是它的句柄。还是上面的类比,如果想去图书馆借阅《现代操作系统》,需要查明该书在哪一层楼,哪个房间,这就是该书的Hanle。

 

20. 问:为什么Server提供的服务中有描述?

答:有些服务是有描述(Descriptor)的,它是用于Client配置该服务的功能(通知或者显示)。像某人没有借到《现代操作系统》该书(可能是被别人借光了),他(她)可以打个电话给图书馆工作人员,请求一旦该书可以借阅了给他一个通知,这个过程相当于配置该书的Descriptor。

 

21. 问:服务的属性与描述有区别吗?

答:有区别,服务的属性是Server设置访问权限。就像图书馆的工作人员可以设置《现代操作系统》仅能在阅览室看不能外借(只读),或者即可以看也可以外借(读/写)。

22. 问:Client如何访问Server的服务呢?

答:大致分三类:读取服务的值,需要知道服务的UUID或者Handle;写服务的值,需要知道服务的Hanle;写服务描述符,需要知道该Descriptor的Hanle。

 

23. 问:如何知道一个服务的Handle?

答:根据服务的UUID调用API函数GATT_ReadUsingCharUUID

协议栈会返回该服务的Handle。特别注意的是,一个服务的Descriptor的Handle总是该服务的Handle+1,如电池电量服务的Handle是0x0025,那么它的Descriptor的Handle是0x0026。

 

24. 问:Server可以访问Client吗?

答:蓝牙通信中,Server不能直接访问(读/写)Client,但是可以通知(Notification)Client,通知的前提是Client通过写Descriptor使能通知功能。例如,某Server发现电池电量已经低于安全阀值,它可以调用GATT_Notification通知所有已连接的Client,但是Client接收后如果处理是它自己的事情。

 

25. 问:如果得知电池容量?

答:任何使用电池供电的设备都必须精确监控电池容量,否则设备可以突然断电而停止工作,它的基本原理是通过ADC(模数转换器)计算电池电压。以CC2540芯片用一钮扣电池为例,电池电压从2.0v~3.0v,即电量的0%~100%;CC2540有一10比特的ADC,量程范围为0~511,参考电压为1.25v,最大测量电压为3.75v,以上信息可以得知:(v/3)/ 1.25 * 511 = adc,则2.0v=273adc,3.0v=409adc,根据下图可以很容易得知ADC转换为电压的公式:

Percentage / (X – 273) = 100 / 136 = 25 / 34,变换后为:

Percentage = (X - 273) * 25 / 34,为四舍五入提高计算精度则有:

Percentage = [(X - 273) * 25 + 33] / 34。

 

26. 问:蓝牙发射信号功率调整会影响通信距离吗?

答:会,以TI公司的CC2540为例,它支持4种发射功率选择:4dBm、0dBm、-6dBm和-23dBm,按无线电功率定义:LdBm=10lg(Pwr/1mW),以上4种分贝值换算成瓦特为:2.51mW、1mW、0.251mW和0.005mW,有效通信距离分别为:30米、10米、7米和3米。

 

27. 问:如何知道两个蓝牙通信节点之间的距离?

答:要知道蓝牙通信节点(如手机和蓝牙设备)之间的距离,最容易实现的方法是通过读取接收RSSI(Received Signal Strength

Indication)值来计算。无线通讯中功率与距离的关系如下:

 其中A可以看作是信号传输1米远时接收信号的功率,n是传播因子(它受障碍,温度和湿度等影响),r是节点之间的距离。当确定了常数A与n的值后,距离r就可以根据PR(dBm)计算出来。

 

28. 问:如何获取蓝牙节点的接收RSSI值?

答:具体的设备接收RSSI值的方法不一样,以iPhone手机为例,iOS提供API函数获取RSSI值;TI公司的CC2540芯片的BLE协议栈中,首先将读取RSSI值回调函数挂载到gapRolesRssiRead_t类型的指针下,建立连接后,主设备调用GAPCentralRole_StartRssi(),从设备调用

GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE, ……)。这样就可以定时读取接收的RSSI值了。

 

29. 问:如何开展读取RSSI值的实验?

答:读取RSSI值的实验可以这样搭建,主设备固定位置,向从设备发送信号,从设备LED光和Buzzer报警为通信成功,逐次移动从设备,而获取RSSI值随物理距离之间的关系。下图是笔者做实验的数据:

Distance(m)

1

2

3

4

5

6

7

8

9

10

RSSI(dBm)

-47

-59

-73

-80

-80

-79

-85

-88

-86

-87

Loss(p)

0

0

9

11

27

2

50

32

22

49

实验器材为2块CC2540芯片,主芯片发射功率为4dBm(2.51mW),Loss是通信节点中失败次数。

 

30. 问:如何将接收RSSI实验数据得到距离计算公式呢?

答:最好的工具是EXCEL软件,以上表中的实验数据和EXCEL 2007为例。首先选中Distance和RSSI两行,点击“插入->散列图”,软件会自动生成如下图:

选取其中任意点,点右键,“添加趋势线->对数”,将会出现下图:

可见RSSI与距离的关系是比较符合指数函数,再点击“显示公式”

此时得到指数函数公式为:y = -49.53 – 17.7 ln (x),再把自然对数换成10常用对数,则有:y = -49.53 – 40.71 lg (x)。通过以上几步就轻松得到RSSI与距离之间的计算公式。

 

31问:针对RSSI采样值选用什么样的滤波算法?

答:RSSI采样值遵循以下特点:有个别的脉冲干扰引起极大值和极小值的出现,其他采样数据值沿平均值分布,比较适合的算法是:滑动防脉冲干扰平均滤波法。它的原理是,设有N个单位的队列,用新的采样值覆盖旧的采样值,去除队列中最大值和最小值后,再计算队列中采样数据的平均值。用C语言描述如下:

static INT8S Filter(INT8S chVal)

{

    #define FIFO_NUM    10

 

    INT8S    chMinVal, chMaxVal, chTemp;

    INT16S    nCnt, nSum;  

 

    static INT8S    s_chIx = 0, s_chIsFull = FALSE;

    static INT8S    s_achBuf[FIFO_NUM];

 

    /* Save the NEW value, kick out the OLDest one */

    s_achBuf[s_chIx] = chVal;

    if (++s_chIx >= FIFO_NUM)

    {

        s_chIx = 0;    /* Wrap to 1th unit */

        s_chIsFull = TRUE;         

    }

 

    /* Number of sampled data less than N */

    if (!s_chIsFull)

    {

        nSum = 0;

        for (nCnt = 0; nCnt < s_chIx; ++nCnt)

        {

            nSum += s_achBuf[nCnt];

        }

     

        return (INT8S)(nSum / s_chIx);        

    }

 

    /* Get the SUM and Max. and Min. */

    chMaxVal = chMinVal = nSum = 0;   

    for (nCnt = 0; nCnt < FIFO_NUM; ++nCnt)

    {

        chTemp = s_achBuf[nCnt];

        nSum += chTemp;

 

        if (chTemp > chMaxVal)   

        {

            chMaxVal = chTemp;

        }

        else if (chTemp < chMinVal)

        {

            chMinVal = chTemp;

        }

    }

 

    /* Calculate the average */

    nSum -= (chMaxVal + chMinVal);   /* SUB Max. and Min. */

    nSum /= (FIFO_NUM - 2);    /* Get average */

 

    return (INT8S)nSum;

}

 

 

(蒋俊原创 欢迎交流 Email:jiangjunjie_2005@126.com)

蓝牙启动错误分析 编译之后启动蓝牙, 报错如下: E/bt_userial_vendor(  914): userial vendor open: USE AP6210 BT MODULE. E/bt-btif (  914): ...preload_wait_timeout (retried:0/max-retry:0)... W/bt_userial(  914): select_read return 阅读详情

相关推荐

四大蓝牙天线设计方式

一直以来,无论是智能手机,还是笔记本电脑,亦或是平板电脑,蓝牙都是智能设备的标配。随着移动互联网的发展,现在涌现出大量的智能可穿戴设备,而支撑这些应用的发展不仅需要移动软件支持,同样也需要无线传感技术的支持,蓝牙依然是无线连接的首选通信方式。蓝牙技术,就是这中间最重要的一环。不仅要求通讯灵敏度,还需要小型化,更需要低功耗,更重要的是要低成本。Bluetooth 4.0版本的出现,解决了这些问题,它包含Bluetooth Smart(低功耗)功能,具有以下特点:1)能耗低2)成本低。

linan101的博客 4934

windows 无法搜索到蓝牙设备问题的解决办法(奇怪但可行)

我在2024年买了B650主板,自带realtek 8852CE无线网卡,在win10下出现了同样的问题,方法一无法解决,通过该方法解决了。2020年的文章,2024年赛博鬼打墙新机器又遇到这个问题,搜了半天还是在自己的文章评论区里找到了答案,遂做更新。这些服务被关闭的原因大概率是某些系统优化软件所致,网上没有相关的信息,希望能帮到同样问题的朋友。,。

lex_v的博客 9万+

自制蓝牙无线音箱的设计与原理

蓝牙无线音箱作为一种便利的无线音频设备,通过蓝牙技术连接播放源,使得音乐的播放和分享变得更加简便。本章将对蓝牙无线音箱的基础知识进行概述,包括其基本概念、市场的发展趋势以及它在现代生活中的应用价值。蓝牙模块作为连接音频源与扬声器的重要桥梁,它包含多个关键部件,如天线、微控制器(MCU)、射频模块(RF)、基带处理器和内存等。每一个部分都承担着不同的任务,使得蓝牙模块能够执行高效的数据传输。天线:负责发送和接收无线信号,是蓝牙模块与外界通信的第一道关卡。微控制器。

weixin_42527589的博客 2492

台式电脑安装蓝牙后,无法搜索蓝牙设备。Bluetooth Support Service参数错误

在公司电脑上使用个人蓝牙键盘时,由于电脑缺乏蓝牙硬件,用户购买了一个绿联蓝牙适配器CM390。尽管设备管理器中显示了蓝牙图标和设备,但无法找到蓝牙设备。用户尝试了多种方法,包括使用驱动精灵更新驱动、运行Windows疑难解答、检查并尝试启动BluetoothSupportService服务,但问题依旧。最终,用户通过访问绿联官网下载并安装了最新的驱动程序,成功解决了问题,蓝牙设备得以正常识别和使用。

FJN110的博客 8424

蓝牙(Bluetooth)设备查找、蓝牙服务发现启动、蓝牙虚拟串口通信

蓝牙(Bluetooth)设备查找、蓝牙服务发现启动、蓝牙虚拟串口通信

深入解析Vortex GPGPU cache设计(2),关于cache_bank

本文分析了Vortex处理器的cache_bank模块设计,作为cache系列的第二部分。文章详细阐述了cache_bank的基本结构,包括地址位分配和默认配置参数。重点解析了cache的5种操作及其优先级。文章详细介绍了二级流水线设计,包括TAG/DATARAM的读写操作时序。

weixin_55313207的博客 1168

台式机蓝牙适配器搜不到设备怎么办

台式机蓝牙适配器搜不到设备如何解决

宁静致远 3万+

多电平双向DC/DC直流变换器的工作原理(以三电平为例子)

多电平双向DCDC变换器的工作原理一、所用论文和参考文献1.1 主要是中文的文献二、工作原理和重要概念2.1 飞跨电容的作用2.2 三电平的工作原理1.3 多电平的优点二,一些注意点2.1 电感电流的变化2.2 多飞跨电容 多余三个电平的时候的解释(截图居多) 一、所用论文和参考文献 1.1 主要是中文的文献 用于超级电容储能系统的三电平双向直流变换器及其控制 (期刊) 多电平直流变换器及其控制...

qq_32419593的博客 2万+

蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)

Android Studio制作蓝牙聊天通讯软件,本文是前期UI界面设计部分,内容详细,附有源码

weiybin的博客 1万+

手把手教你用Arduino和开源电路DIY一个手机连接的电化学传感器(附GitHub源码)

本文详细介绍了如何利用Arduino和开源电路DIY一个手机连接的电化学传感器,成本不到300元即可复现价值数千元的专业设备。从硬件选型、电路搭建到固件开发和手机应用实现,手把手教你完成整个项目,特别适合科研人员、环境监测爱好者和理工科学生。附GitHub源码,方便快速上手和扩展功能。

weixin_42561040的博客 336

YOLOv11-Pose部署RK3588实战:人体姿态识别精度翻倍,边缘推理速度突破瓶颈

本教程从YOLOv11-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

m0_64661770的博客 138

苹果产品的蓝牙配件的设计指导

1. 简介这个设计指导文档面向的是使用蓝牙技术与苹果产品通信的硬件配件,包括Mac,iPhone,iPad和iPod。为了与当前和未来的苹果产品兼容,蓝牙配件应遵循这个文档中的规范。一个苹果产品需要蓝牙配件上的特性可用性遵循这个文档内的规范。这个文档使用名词“苹果产品”涉及Mac(运行OS X的苹果电脑)和iPod,iPhone和iPad。在后一类产品中,那些运行iOS(苹果的手机操作系统)的产品也

wzz4420381的博客 9008

302.QoS实现工具之MQC

QoS 技术可以对网络中报文进行分类处理,根据优先级提供不同的差分服务,如何实现这种差分服务呢?我们有一种强大的配置方法 - 模块化 QoS 命令行 MQC(Modular QoS Command-Line)。下面就来介绍一下 MQC。

迷逝 1393

蓝牙蛇形PCB天线设计指导

蓝牙蛇形PCB天线设计指导 【下载地址】蓝牙蛇形PCB天线设计指导 蓝牙蛇形PCB天线设计指导文档为工程师和设计师提供了全面的设计参考,涵盖天线概念、性能要求、设计原则及关键技术。通过详细的设计流程和实例分析,帮助用户深入理解并优化蓝牙天线的性能。无论是初学者还是经验丰富的专业人士,都能从中获得实用指导,提升设计效率与质...

gitblog_06735的博客 454

【数据集】中国各类水文专业常用数据集合集

对中国各类水文专业常用数据集进行整理并总结

WW、forever的博客 9300

基于STM32L4XX的环境光传感器(LTR-303ALS-01)应用程序设计

/ 状态寄存器的位[2:0]表示数据状态,例如位2为1表示新数据就绪[citation:6]#define LTR303_REG_DATA_CH0_LOW 0x8D // CH0数据低字节。#define LTR303_REG_DATA_CH0_HIGH 0x8E // CH0数据高字节。#define LTR303_REG_DATA_CH1_LOW 0x8F // CH1数据低字节。#define LTR303_REG_DATA_CH1_HIGH 0x90 // CH1数据高字节。

myron6688的博客 405

蓝牙物联网灯控设计方案

蓝牙技术是当前应用最广泛的无线通信技术之一,工作在全球通用的 2.4GHZ 的ISM 频段。蓝牙的工作距离约为 100 米,具有一定的穿透性,没有方向限制。具有低成本、抗干扰能力强、传输质量高、低功耗等特点。蓝牙技术组网比较简单,无需额外设置,只要两个蓝牙设备进入连接范围内,蓝牙就会自动搜索,实现配对连接,进行点对点信息传输。目前个人电脑、手机等终端设备都具有蓝牙通信功能,可以利用手机蓝牙对其他的蓝牙设备发送控制信号进行无线控制。

hukejishu的博客 1802

从 VL02N 拣配到 ABAP 自动化,读懂 SD_DELIVERY_UPDATE_PICKING 的位置和风险

文章摘要:SAP SD模块中,SD_DELIVERY_UPDATE_PICKING函数模块用于处理出库交货单的拣配确认,更新交货项目的拣配数量。该函数适用于未启用WM/EWM的传统SD流程,能确保拣配状态与标准交货处理逻辑同步,比直接修改数据库更安全。但在S/4HANA Cloud等新环境中,应优先使用API_OUTBOUND_DELIVERY_SRV等公开发布接口。使用该函数时需注意参数完整性和按交货单整体处理的原则,避免逐项提交导致的数据不一致问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 245

基于stm32蓝牙智能小车设计

前言: 本文描述了一个由STM32微处理器、步进电机、蓝牙,L298N等模块构成的。该系统采用STM32微处理器为核心,在MDK环境下进行编程,通知控制L298N模块IN1~IN4引脚的高低电平进而控制电机的转动方向,使小车产生不同的转动模式。控制小车的转动模式通过蓝牙模块来实现,利用手机蓝牙助手和蓝牙模块相通,进而控制小车的各种运转模式。 代码、蓝牙Android apk地址:https://g...

swordsmanye的博客 5万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

基于单片机的蓝牙无线密码锁设计

摘 要 Ⅰ Abstract Ⅱ 引 言 1 1 系统总体设计 3 1.1 系统设计要求 3 1.2 系统设计思路 3 2 系统硬件设计 5 2.1 设计原理 5 2.2 主控模块 5 2.3 芯片模块 8 2.4 矩阵键盘模块 9 2.5 液晶显示模块 10 2.6 继电器驱动模块 12 2.7 蜂鸣器模块 13 2.8 蓝牙模块 14 3 系统软件设计 16 3.1 软件设计开发环境 16 3.2 编程语言选择 16 3.3 程序流程图 17 4 系统调试 20 4.1 硬件调试 20 4.

qq_q992250277的博客 2011

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Nordic蓝牙天线设计资料:让蓝牙设计更精准、更高效

Nordic蓝牙天线设计资料:让蓝牙设计更精准、更高效 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在无线通信技术日益发展的今天,蓝牙技术已经深入到我们生活的各个角落。Nordic蓝牙天线设计资料,一套由Nordic工程师精心编写的专业资料,为您提供从理论到实践的全面指导。这个项目旨在帮助工程师和研究人员更深入地理解蓝牙天线设计,以实现最佳性能和效率。 项目技术分析...

gitblog_06745的博客 353

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

蓝牙天线设计

当导线长度=四分之一波长时谐振(效率最高),波长 = 光速/频率=3*10^8/2.4GHZ = 0.3/2.4 = 0.125m,0.125/4=0.031m。回波损耗:反射波功率/入射波功率,要控制在10dB以下,当等于10dB时,有90%的入射功率加到负载上,只有10%的入射功率被反射。陶瓷天线靠近人体,中心频率会下降,所以像蓝牙耳机它的中心频率会设置的偏高,但蓝牙音响不靠近人体不用偏高。指天线在某方向的最大增益,对定向天线的意义大,(天线分为定向和全向天线)在中心频率处,驻波比最小,效率最高。

qq_56140091的博客 2516

关于Android蓝牙的设计记录。

模块设计情况 蓝牙用途的主要分为:蓝牙扫描,蓝牙连接,系统蓝牙监听三种情况结合起来。 蓝牙的扫描建议可以用线程的方式,防止阻塞。也可以定时的停止扫描。 当然扫描有两种方式, 第一种是: BluetoothLeScanner scanner; scanner=mBtAdapter.getBluetoothLeScanner(); scanner.startScan(...

qq_33902817的博客 262

蓝牙选型、蓝牙设计注意事项

【原创不易,请多鼓励】 上一篇文章,盘点了国产蓝牙芯片的现状,有些朋友后台留言推荐; ​ 红海市场,最全国产蓝牙芯盘点 今天从芯片选型角度,介绍下如何选择合适的芯片; 全文干货,看完保准提出对芯片原厂的灵魂拷问,提前绕过许多不必要的坑。有帮助,请分享给你的朋友~ 01 标准自问 产品总是会分层,买啥都会有中高低端;正式选芯片前,要先了解好,自己...

iotthings的博客 1989

杰理蓝牙耳机硬件设计资料:蓝牙耳机设计利器,助你高效开发

杰理蓝牙耳机硬件设计资料:蓝牙耳机设计利器,助你高效开发 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 杰理蓝牙耳机硬件设计资料是一款专门为硬件工程师量身定制的开源项目,它包含了一套完整的硬件设计资源,旨在帮助工程师快速、高效地进行蓝牙耳机的设计与开发。该项目汇聚了杰理科技多年累积的蓝牙耳机设计经验,为工程师提供了全面的硬件设计支持。 项目技术分析 核心组成 690...

gitblog_06709的博客 1152

基于51单片机的蓝牙智能台灯设计

基于51单片机的蓝牙智能台灯设计一、引言随着科技的快速发展,智能家居成为现代生活的一部分。智能台灯作为智能家居的一部分,能够通过远程控制、定时开关、自动调节亮度等功能提高人们的生活便利性。本文将探讨一种基于51单片机和蓝牙技术的智能台灯设计方案。二、系统设计系统硬件主要包括51单片机、蓝牙模块、LED灯、电源模块等。51单片机作为系统的核心控制器,负责接收蓝牙模块发送的指令,并控制LED灯的开关和亮度。蓝牙模块用于接收手机或其他蓝牙设备发送的指令,并将其传输给单片机。

3254968421的博客 1956
上一篇: iOS安全攻防
下一篇: 在iOS上使用自签名的SSL证书
宇之楓鷙
博客等级 码龄17年 5粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值