浅谈Arduino进入蓝牙模块的AT指令模式
春天适合努力和拥抱,也适合创客和造物图片图片今天小编得空,继续跟大家分享蓝牙模块的AT指令的相关用法。
AT指令
1.什么是AT指令
在使用蓝牙模块的时候,我们经常想修改蓝牙模块的名字、密码,甚至蓝牙模块的波特率、工作模式等属性,这些操作都要通过蓝牙模块的AT指令来实现。
AT指令是用于终端设备与PC应用之间的连接与通信的指令。AT 即Attention。每个AT命令行中只能包含一条AT指令;对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)-------摘自某度。
实际上,用我们自己的话说就是可以利用PC端的软件将一条AT指令发给蓝牙模块,从而改变蓝牙模块的名字、密码等属性。
2.HC05蓝牙模块的AT指令
我们先了解一下HC05蓝牙模块常见的几个AT指令:
注意:由于蓝牙模块的版本和型号不同,它们的AT指令集也不一样,所以不同蓝牙模块的AT指令集需要查询对应的手册,这里小编只跟大家分享HC05蓝牙模块的几个常用的AT指令,至于其他型号的蓝牙模块,各位童鞋自行上网查询吧。
AT指令的应用
1.进入AT指令的方法
小编使用的传统蓝牙模块的型号是HC05,进入AT指令的方法是先按住蓝牙模块上的小按钮,然后上电(接+5V电压),当蓝牙模块的指示灯慢速闪烁时(亮灭间隔大约1秒)再松开小按钮,此时蓝牙模块进入AT指令模式。
2.发送AT指令的方法
很多开发者都喜欢用上位机给蓝牙模块发送AT指令,这需要使用USB转TTL模块将蓝牙模块连接到电脑上,然后打开上位机软件,直接给蓝牙模块发送AT指令即可修改蓝牙的相关属性,这种方法虽然简单,但是对于初学者来说,还要拥有一个USB转TTL模块才可以。
今天小编就特立独行一次,给没有USB转TTL模块的童鞋送个“福利”,我们直接用Arduino作为媒介,通过ArduinoIDE的串口监视器给蓝牙模块发送AT指令,这种方法需要编写程序,使用软串口才能实现。
3.程序设计
在设计程序之前我们先把蓝牙模块连接到Arduino上面,接线方式如下:
Arduino UNO 蓝牙模块
VCC ---------------- +5V (暂时不连接)
GND ---------------- GND
10 ---------------- TXD
11 ---------------- RXD
示例程序:
#include<SoftwareSerial.h>
SoftwareSerial softSerial = SoftwareSerial(10, 11);
String s="";
void setup() {Serial.begin(9600); //串口监视器的波特率softSerial.begin(38400); //蓝牙模块的波特率
}
void loop() {if (Serial.available() > 0) {//判断串口监视器是否有指令发送softSerial.write(Serial.read());//从串口监视器读取指令并发送给蓝牙模块}while (softSerial.available() > 0) {//判断蓝牙模块是否有指令发送过来s = softSerial.readString();//读取蓝牙模块返回的信息Serial.println(s);//把信息输出到串口监视器}
}
注意:HC05蓝牙模块在AT指令模式下的波特率是38400,在正常通讯下默认波特率是9600,所以程序中要把软串口的波特率设置为38400,用来和蓝牙模块通信。
我们使用ArduinoIDE的串口监视器时可以使用9600波特率,所以程序中把串口监视器的波特率设置成了9600。
然后把程序下载到Arduino板以后就可以打开串口监视器发送AT指令了!
修改蓝牙属性
我们按照上面说的方法,先按住蓝牙模块的小按钮,然后再把VCC引脚连接到Arduino的+5V引脚上,当蓝牙模块的指示灯慢速闪烁时(亮灭间隔大约1秒)再松开小按钮,这时蓝牙模块就进入AT指令模式了。
然后打开ArduinoIDE的串口监视器,设置好结束符和波特率就可以发送AT指令了
我们先发送一个AT指令,串口监视器中返回OK就表示蓝牙模块已经成功进入AT指令模式了。
然后我们再按照HC05的AT指令表发送相关的指令即可查询或修改蓝牙模块的属性了。
注意:使用AT指令修改/查询HC05蓝牙模块的名称时,需要将模块的EN引脚接入3.3v电压,使蓝牙模块进入完全AT模式。只有HC-05的蓝牙模块是这样的,其他蓝牙模块要查数据手册。
本期分享就到这里咯,撰文不易,欢迎各位小伙伴持续关注我的公众号:初芯未来,更多内容分享等着你哦~!
浅谈Arduino进入蓝牙模块的AT指令模式相关推荐
- ant man 什么意思_浅谈为什么很多蓝牙模块厂家选择nRF52832?
浅谈为什么很多蓝牙模块厂家选择nRF52832? 现在蓝牙低功耗(BLE)SOC作为新一代蓝牙,以其低功耗的优势,正凸显出强大的市场竞争力,而其中Nordic公司的nRF52832这一款低功耗蓝牙芯片 ...
- python sys模块作用_浅谈Python中的模块
模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...
- 浅谈STM32的DMA模块的使用
浅谈STM32的DMA模块的使用 转自:http://blog.ednchina.com/jack_chang/123085/message.aspx http://article.ednchina. ...
- python如何导入requests模块_浅谈python中requests模块导入的问题
浅谈python中requests模块导入的问题 今天使用Pycharm来抓取网页图片时候,要导入requests模块,但是在pycharm中import requests 时候报错. 原因: pyt ...
- 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...
浅谈三层架构 收藏 自己理解的原理 http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044665.html 浅谈三层架构 通过这个,+Jav ...
- android分屏模式_浅谈 Android 7.0 多窗口分屏模式的实现
从 Android 7.0 开始,Google 推出了一个名为"多窗口模式"的新功能,也就是我们常说的"分屏模式".那么,这个功能有什么用呢?作为开发者,我们又 ...
- vue 给checkbox 赋值_浅谈vue中关于checkbox数据绑定v-model指令的个人理解
vue.js为开发者提供了很多便利的指令,其中v-model用于表单的数据绑定很常见, 下面是最常见的例子: {{msg}} js里data初始化数据 new Vue({ el: "#myA ...
- 嵌入式单片机基础篇(二十七)之Stm32F103单片机给蓝牙模块发送AT指令程序
Stm32F103单片机给蓝牙模块发送AT指令程序 #include "stm32f10x.h" #include "string.h" #include &q ...
- 超低功耗蓝牙模块的常用工作模式
转贴 超低功耗蓝牙模块的常用工作模式 http://www.openedv.com/thread-86300-1-1.html (出处: OpenEdv-开源电子网) 超低功耗蓝牙4.0模块,用于点对 ...
最新文章
- Could not load file or assembly 'System.Web.Extensions, Version=3.5.0.0
- android普通权限说明,Android权限说明.doc
- springboot 与shiro整合
- 每日一题(50)—— 各类型与零值的比较
- ResNet详解(转)
- mysql 1000万数据读取_插入1000万条数据到mysql数据库表
- 手机基带芯片激荡 30 年!
- Windows编程-基本图元(1)
- C3P0连接池配置和实现详解
- eNSP配置VLAN间路由
- 如何在文件夹中打开cmd命令窗
- python股票量化交易(10)---使用机器学习算法预测股票涨跌
- 新版Burp Suite全模块详细使用篇<宝藏文> -- 小黑渗透工程栈(工具篇2)
- php 瀑布流布局,瀑布流布局与无限加载图片相册效果
- 重装系统以后找不到机械硬盘
- Java的笔记开源软件_jnote
- 力扣每日一题2022-05-04中等题:找出游戏的获胜者
- 输入手机号格式344展示形式(只允许数字)
- 信雅达银行外包怎么样_杭州信雅达公司怎么样?有没有人了解的说下,为什么面试时问我可以出差吗?难道做开发的还要经常出差?...
- Who Wants to Be a Millionaire?