试用蓝牙模块的一点经验整理(Part 2, 蓝牙模块AT指令 )

最近因为创客项目需要,所以自己研究了一些蓝牙模块。因为我自己是软件开发出身,对硬件了解得不多,对于蓝牙模块的了解可能更为接近于一个程序员的角度,当然也就不太全面了。但是过程中觉得还是有一些有价值的东西可以分享给大家的,特别是更适合程序员同学们。不专业之处,大家包涵。本文会随着我的知识积累不断成长更新,请给我时间。

Part 1里我讲了一下我拿到的CC41和克隆的HM-10,最后我将克隆的MH-10刷成了“真”HM-10。这一部分我想说一下我理解的蓝牙模块的2种模式。

 系列文章列表

一、试用蓝牙模块的一点经验整理(Part 1, 刷HM-10固件)

二、试用蓝牙模块的一点经验整理(Part 2, 蓝牙模块AT指令 )

三、试用蓝牙模块的一点经验整理(Part 3, 关于Beacon功能 )

下载资源

 🚀 关于HM-10的其它相关资料,比如产品手册等,可以在这里😆下载。

 🚀 CC41的相关资料,可以在这里😆下载。

二、蓝牙模块的AT指令和透传

关于工作模式

我在使用蓝牙模块的过程中,知道蓝牙模块会有两种工作模式。

  • 一种是AT模式,这时我们可以给模块发AT指令,从而可以查询模块的参数或者对模块进行设置。
  • 另一种状态是透传模式,就是当蓝牙模块连接上之后,我们可以直接发送数据给蓝牙模块,而蓝牙模块不管我们发的是什么,都直接传给对方。(这时发AT命令是无效的。)

在买蓝牙模块之前呢,我以为所有的模块的AT指令都一样的。但其实是我太天真的,最终我看到的是有几种格式,不同型号似乎AT命令不一样。具体原因是什么,哪位大佬可以科普一下?

比如:

  • CC41的AT指令是这样的:
    • 指令不分大小写;
    • 指令最后要跟上换行也就是“\r\n”(忘记加上会没有反应);
    • 设置参数直接跟在指令后面,如at+role1,就是将模块设置为主机。
  • HM-10的AT指令是这样的:
    • 指令全都要大写;
    • 指令最后不要跟上换行“\r\n”(有换行的话模块会没有反应);
    • 查询类语句后面要加上“?”,如AT+ROLE?是查询当前模块是主机(Master)还是从机(Slave);
    • 设置参数直接跟在指令后面,如AT+ROLE1,就是将模块设置为主机。
  • HC-08的AT指令是这样的:
    • 指令全都要大写;
    • 指令最后不要跟上换行“\r\n”(有换行的话模块会没有反应);
    • 查询类语句后面要加上“=?”,如AT+ROLE=?是查询当前模块是主机(Master)还是从机(Slave);
    • 设置参数在指令后面要加上“=”,如AT+ROLE=M,就是将模块设置为主机。
  • HC-05的AT指令则是基本跟HM-10一样,问题是要求跟上换行“\r\n”。

 为什么这样设计?目前我也不太清楚。但大家用的时候如果不是熟悉的模块的话,记得向卖家要文档以查看AT指令说明。

❗切记,不要想当然,相同的指令在不同模块的功能是不一样的。比如在HM-10的AT+DISC表示扫描,而在HC-05则是表示断开连接。🤣

一些经验记录

对于刚接触的同学,我自己有几个关于AT指令的总结,也许你也用得上:

  • "AT"(就这两个字符)这个指令是通用的,接上模块后想确认是否正常工作,就发这个指令过去,如果会返回OK,就表示通了。工作模式、接线、波特率、有无换行等都是正确的。
  • 扫描,HM-10、CC41、HC-05都有搜索功能,这是比较重要的功能。我们可以根据扫描结果,然后匹配模块名称(我们可以为模块定义字称的)来决定连接哪一个。
  • 连接,连接的方式有两种,
    ✔ 一种是扫描之后,通过连接指令告诉模块连接刚才扫描结果中的第几个设备。
    ✔ 一种就是我们已知对方模块的MAC地址,直接指令带上地址来连接。
  • 断开连接的指令,目前我只发现HM-10模块和HC-05是可以通过发指令断开已经建立的连接
    ✔ HM-10就是在连接之后再发“AT”指令,连接就会自动断开。
    ✔ HC-05则是用“AT+DISC”。
    这个功能我自己觉得很重要,毕竟有机会是需要给不同设备发信息的。这也是为什么我买了CC41后要再买HM-10的原因。
  • HM-10模块的3种工作模式,HM-10模块功能非常强大,它的几个管脚是PIO,可以用于输出或采集。所以为了设置它的PIO的工作状态,有一个指令是AT+MODE。
    • AT+MODE0: 透传模式(这是默认值,还记得上一部分中刷完模块要发AT+MODE1吗?因为默认值下它对AT指令没有反应。)
      ✔ 就是不会接收AT指令,直接将收到的内容转发。
    • AT+MODE1: PIO 采集+远控+透传
      ✔ PIO2~3这两个管脚为输出
      ✔ PIO4~11这8个管脚为输入;(采集数据,具体采集什么数据,请自行查看HM-10的说明书)
      ✔ 接收AT指令;
      ✔ 非“AT”开头的字符串直接转发。
    • AT+MODE2:透传+远控模式
      ✔ PIO2~11这两个管脚为输出
      ✔ 接收AT指令;
      ✔ 非“AT”开头的字符串直接转发。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风Eric(fengcan)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值