ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【雕爷学编程】Arduino动手做(96)---AT09蓝牙4.0BLE模块

2022-02-03 10:04:28  阅读:321  来源: 互联网

标签:动手做 AT09 4.0 蓝牙 CC2541 模块 串口 BLE


37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验九十六:AT-09蓝牙4.0BLE 模块 串口引出 CC2541兼容HM-10模块

 

CC2541

是一款针对低能耗以及私有 2.4GHz 应用的功率优化的真正片载系统 (SoC) 解决方案。 它使得使用低总体物料清单成本建立强健网络节点成为可能。 CC2541 将领先 RF 收发器的出色性能和一个业界标准的增强型 8051 MCU、系统内可编程闪存存储器、8kB RAM 和很多其它功能强大的特性和外设组合在一起。 CC2541 非常适合应用于需要超低能耗的系统。 这由多种不同的运行模式指定。 运行模式间较短的转换时间进一步使低能耗变为可能 。

 

CC2540/41特性

(1)射频

–2.4GHz蓝牙符合低能耗规范和私有的RF片载系统

–支持250kbps,500kbps,1Mbps,2Mbps的制器内核数据速率–出色的链路预算,不使用外部前段而支持长距离应用–高达0dBm的可编程输出功率

–出色的接收器灵敏度(1Mbps时为-94dBm),可选择性,和阻挡性能

–适合于针对符合世界范围内的无线电频率调节系统:ETSIEN300328和EN3004402类(欧洲),FCCCFR4715部分(美国),和ARIBSTD-T66(日本)

(2)布局

–极少的外部组件–提供参考设计支持

–6mm×6mm方形扁平无引脚(QFN)-40封装

–与CC2540引脚兼容(当不使用USB或者I2C时)(ADC)

(3)低功率

–工作模式RX低至:17.9mA

–工作模式TX(0dBm):18.2mA–功率模式1(4μs唤醒):270μs–功率模式2(睡眠定时器打开):1μs–功率模式3(外部中断):0.5μs

(4)工作模式下TPS62730兼容低功率

–RX低至:14.7mA(3V电源)–TX(0dBm):14.3mA(3V电源)

(5)微控制器

–具有代码预取功能的高性能和低功率8051微控制器内核

–系统内可编程闪存,128或者256KB

–在所有功率模式下具有保持功能的8KBRAM

–支持硬件调试

–扩展基带自动化,包括自动确认和地址解码

–所有功率模式中对所有相关寄存器的保持

(6)外设

–功能强大的5通道直接内存访问(DMA)

–通用定时器(1个16位,2个8位)

–红外(IR)生成电路

–具有捕捉功能的32kHz睡眠定时器

–精确数字接收到的数字信号强度指示器(RSSI)支持

–电池监视器和温度感应器

–含8通道和可配置分辨率的12位模数转换器(ADC)

–高级加密标准(AES)安全协处理器

–2个功能强大的支持几个串行协议的通用异步接收发器(UART)

–23个通用I/O引脚(21×4mA,2×20mA)

–I2C接口

–2个具有LED驱动功能的I/O引脚

–安全装置定时器

–集成的高性能比较器(7)开发工具

–CC2541评估模块工具包(CC2541EMK)

–CC2541小型开发工具包(CC2541DK-MINI)

–SmartRF™软件

–提供IAR嵌入式Workbench™

 

CC2540/41软件特性

(1)符合针对单模式蓝牙低能耗(BLE)解决方案的符合蓝牙4.0协议的堆栈器

–完全功率优化堆栈,包括控制器和主机

–GAP-中心设备,外设,或者广播器(包括组合角色)

–属性协议(ATT)/通用属性配置文件(GATT)

–客户端和服务器

–L2CAP说明

(2)示例应用和配置文件

–针对GAP中心和外围作用的一般应用

–距离临近,加速计,简单关键字,和电池GATT服务

–BLE软件栈内支持更多应用

(3)多重配置选项

–单芯片配置,允许应用运行在CC2541上

–用于运行在一个外部微处理器接口

–BTool-用于评估、开发和测试的视窗(Windows)PC应用

应用范围

•2.4GHz蓝牙低能耗系统

•私有的2.4GHz系统

•人机接口器件(键盘,鼠标,遥控)

•体育和休闲设备1个HWI2C接口。

•移动电话附件•消费类电子产品

 

CC2540/41经典应用电路

 

CC2540/41

射频部分: 支持BLE协议栈及私有2.4G RF片载系统;

传输速率:250kbps,500kbps,1Mbps,2Mbps;

输出功率:0dBm(支持可编程输出功率)

接收灵敏度:-94dBm@1Mbps;

适合针对符合世界范围内的无线电频率应用系统 出色的链路预算,支持超长距离应用;

低功耗: 工作模式RX低至17.9mA; 工作模式TX(0dBm):18.2mA; 功率模式1(4us唤醒):270uA; 功率模式2(睡眠定时器开):1uA; 功率模式3(外部中断):0.5uA;

宽电源电压范围(2V-3.6V);

MCU: 具有代码预取功能的高性能和低功耗8051内核;

可编程Flash:CC2541F128 128KB 和CC2541F256 256KB;

支持硬件调试;

扩展基带自动化,包括自动确认和低至解码;

各个功率模式下,相关寄存器数据保持;

外设: 功能强大的5通道直接内存访问(DMA);

通用定时器(1个16bit,2 个8bit);

红外生产电路;

32kHz 具有捕获功能的睡眠定时器;

支持RSSI(数字信号强度指示器);

电池监视器和温度传感器 8通道12位模数转化器(可配置分辨率);

高级加密标准安全协处理器;

2个功能强大的支持多个串口协议的异步串口通信接口(UART);

23个通用I/O接口(21*4mA;2*20mA);

IIC 接口;

2个大电流I/O(直接驱动LED);

安全装置定时器;

集成的高性能比较器;

开发工具: CC2541 评估模块工具包(CC2541EMK); CC2541 小型开发工具包(CC2541DK-MINI); SmartRF 软件; 提供IAR嵌入式Workbench。

 

 

AT09蓝牙4.0BLE模块亮点:

1.超低待机功耗 90uA~400uA

2.超远连接距离32.8英尺/10米

3.超快反应速度0.4秒

4.安卓、苹果、PC、MAC全通用.

5.收发无字节限制,最高可达3K Bytes/秒

6.不需要做MFI

7.IOS系统完美支持

8.Android4.3系统完美支持.

9.主从一体模块,具透传、远控、PIO采集三种功能,通过AT指令集进行切换和设置,

与您之前用过的蓝牙串口模块一样,在不改PCB和下位机程序的情况下轻松升级到蓝4.0!

模块电原理图

 

AT09蓝牙4.0BLE模块特点:

使用条件:苹果手机限定:4S及以上型号,系统版本iOS6及以上

安卓手机限定:系统为4.3版本及以上,手机蓝牙版本为4.0。

1、核心模块使用BT05从模块,引出接口包括VCC,GND,TXD,RXD,STATE。预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接,

2、LED指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口,STATE脚输出高电平为已连接,其他状态为低电平。

3、设置模块为主模式:模块已经为软件设置主从模块,通过串口发送AT+ROLE1(回车或者加\r\n),返回OK,则表示设置成功,此时模块LED灯进入快闪。主模块连接从模块需要通过AT指令进行连接(详情请参照BT05 AT指令集)。

4、底板3.3V LDO,输入电压3.6~6V,输入电压禁止超过7V!

5、接口电平3.3V,可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接,无需MAX232也不能经过MAX232!

6、空旷地有效距离7-10米,超过10米也是可能的,但不对此距离的连接质量做保证

7、配对以后当全双工串口使用,无需了解任何蓝牙协议,但仅支持8位数据位、1位停止位、无奇偶校验的通信格式,这也是最常用的通信格式,不支持其他格式。

8、在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式

9、体积小巧(3.57cm*1.52cm),工厂贴片生产,保证贴片质量。并套透明热缩管,防尘美观,且有一定的防静电能力。

10、该链接为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对。

 

模块接线

输入电压:3.3V/5V  只需要一组电源供电。

内置电平转换功能。

如果用5.0V MCU与蓝牙模块通讯,5.0V电源端口供电,RX TX 逻辑电平5V

如果用3.3V MCU与蓝牙模块通讯,3.3V电源端口供电,RX TX 逻辑电平3.3V

RX,蓝牙模块串口接收端与MCU的TXD连接。

TX,蓝牙模块串口发送端与MCU的RXD连接。

GND,地端电源负极

3.3V,电源端3.3V电源

5V,电源端5V电源

模块使用注意事项
MLT-BT09 4.0 蓝牙模块工作在 2.4G 无线频段,应尽量避免各种因素对无线收发
的影响,注意以下几点:
1、包围蓝牙模块的产品外壳避免使用金属,当使用部分金属外壳时,应尽量让模块天线部分远离金属部分。
2、产品内部金属连接线或者金属螺钉,应尽量远离模块天线部分。
3、模块天线部分应靠载板 PCB 四围放置,不允许放置于板中,且天线下方载板铣空,与天线平行的方向,不允许铺铜或走线。直接把天线部分直接露出载板,也是比较好的选择。
4、模块下方尽量铺大片 GND,走线尽量往外围延伸。
5、建议在基板上的模块贴装位置使用绝缘材料进行隔离,例如在该位置放一个
整块的丝印(TopOverLay)。

小常识(非常重要)
TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。
RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
正常通信时候本身的TXD永远接设备的RXD!
自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障,也称回环测试。

 

蓝牙4.0BLE
蓝牙发展至今经历了8个版本的更新,1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2。那么在1.x~3.0之间的我们称之为传统蓝牙,4.x开始的蓝牙我们称之为低功耗蓝牙也就是蓝牙ble,当然4.x版本的蓝牙也是向下兼容的。android手机必须系统版本4.3及以上才支持BLE API。低功耗蓝牙较传统蓝牙,传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电极低等等优点。(现在的穿戴设备都是使用BLE蓝牙技术的)
传统蓝牙与低功耗蓝牙通信方式也有所不同,传统的一般通过socket方式,而低功耗蓝牙是通过Gatt协议来实现。

主要优点
低功耗,使用标准有机电池,可运行一年乃至数年,成本低,可以完全实现兼容,速度支持1M的数据传输,可以最大程度的减少4G的串扰,更加智能,最大可以在3毫秒内完成数据的传输,安全性采用加密算法,会有数据包的加密和认证。所以蓝牙4.0的优点就是3种规格于一体,包括传统蓝牙的技术,与3.0的版本最大的区别就是功耗更低了,4.0的版本比老版本的功耗低了90%,随着蓝牙技术由手机,游戏,电脑,汽车等传统领域向物联网,医疗等新领域的发展,对用户的要求也就会越来越高,4.0的版本强化了数据传输的技术,又更注重了低功耗的性能。

 

 

 

 

  实验开源代码

 

 

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验九十六:AT-09蓝牙4.0BLE 模块 串口引出 CC2541兼容HM-10模块

1、实验项目:Arduino 调试源代码

2、实验接脚:

TXD = D0

RXD = D1

GND = GND

VCC = 3.3V

*/



void setup(){

Serial.begin(9600);

}



void loop(){

  while(Serial.available())

  {

    char c=Serial.read();

    if(c=='A')

      {

      Serial.println("Hello I am eagler8");

      }

  }

}

  

标签:动手做,AT09,4.0,蓝牙,CC2541,模块,串口,BLE
来源: https://www.cnblogs.com/eagler8/p/15861191.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有