718蓝牙助手使用说明


这篇文章主要介绍串口通信,用蓝牙实现串口通信,以及蓝牙助手的使用说明.

综述

蓝牙串口基于串口通信,普通串口使用有线传输,而蓝牙串口只是用蓝牙代替了有线,来传输信号而已.单片机发送的串口信号发送到蓝牙串口模块上,然后蓝牙串口模块经过一些处理,将串口信号转化为蓝牙的传输信号使用蓝牙传输协议发送到手机上,手机上面的蓝牙,再将信号解析出来.虽然中间传输不是使用的串口传输的,但是利用蓝牙串口模块我们发送和接收却是使用的串口通信,所以我们可以忽略中间具体的传输过程.也就是说掌握了串口通信也就基本能够掌握蓝牙串口的使用了.

串口通信

直接进入正题,什么是串口通信. 这一段是来自百度百科的说明: 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。
同时我们之前提供的STM32资料中也有关于串口通信的说明
参见说明文档中的stm32f10x系列usart模块

这里我们也再简单说明一下什么是串口通信.串口通信听名字就是串起来通信,就是将数据按照一定时间顺序,先后发送出去.与之相对应的当然还有并行通信,就是将一组(比如8bit)数据一次性发送出去.另外,通信当然包括发送和接收,所以串口通信有两条线,一条负责发送信息,我们称之为TXD(Transmit Data),另一条负责接收信息,我们称之为RXD(Receive Data).我们发送的信号无非就是高电平和低电平(1和0),提到电平,就必须知道是相对于谁的电平,所以串口通信中还需要一根线将传输的两个对象的参考电平保持一致,所以我们需要第三根地线GND(Ground).另外如果使用蓝牙串口,那么我们还需要为蓝牙模块提供电能,所以我们还需要电源VCC(Volt Current Condenser).

这样我们就清楚了,一共需要VCC,GND,TXD,RXD四根线连接单片机和蓝牙串口模块.

之后就是单片机串口使用的问题了,建议大家看看我们的例程和帮助文档,上面说明的比较详细.


HC-05/HC-06蓝牙串口模块的使用

首先给大家推荐一个非常详细的资料,https://www.arduino.cn/forum.php?mod=viewthread&tid=2961&highlight=%E8%93%9D%E7%89%99

好,我假设你已经看了上面的资料,那么我再补充总结几句:

  • 蓝牙串口模块分为两种模式: AT模式传输模式,AT模式用于设置蓝牙串口,传输模式用于传输数据.
  • 蓝牙设置和单片机上的串口设置类似,需要设置波特率,停止位,校验位等. 注意: 因为是用串口和单片机通信,所以波特率等要和单片机上面设置的参数一致.另外,还要设置蓝牙的名称,密码,工作模式等.注意: 因为是手机主动连接到蓝牙模块,蓝牙模块是被链接的对象,所以工作模式要设置成从机模式.
  • 蓝牙进入AT模式可以长按模块上的按键来进入,如果你购买的模块上没有按键,就只能使用资料里面说的用跳线的方式来进入了.
  • 蓝牙配置注意一定要使用38400的波特率才行,另外,资料里面提供的那个配置蓝牙的工具非常好用,虽然我们提供的718蓝牙助手Windows版也能够配置,但还是建议大家用资料里提供的工具配置,用那个工具配置成功的概率更高.

蓝牙串口控制原理

正如大家所熟知的,串口通信其实传输的就是字符串,但是我们需要传输给单片机的是控制命令.所以我们需要自己定义一些特殊的字符串,当单片机检测收到这些特定的字符串之后,就会执行相关的操作.就像定义C语言里面的关键字一样.比如在我们的718蓝牙助手当中,我们定义 X30 这个字符串的意思就是小车前进的速度为最大速度的30%,在比如 Y56 这个字符串的意思就是转向速度为56, FSTOP 这个字符串的意思就是紧急停车等等.当然我们蓝牙助手也只是会向单片机发送这么一个字符串而已,这些命令实现的功能也仅仅是我们建议的功能,最后到底怎么执行这些功能,也是需要在单片机上面自己定义的.

以下是718蓝牙助手能够发送的命令:

按钮 发送的命令 备注
功能一 F1
功能二 F2
功能三 F3
功能四 F4
紧急停车 X0Y0FSTOP 发送X0,Y0和FSTOP
控制杆 X[number1]Y[Number2] number就是代表直线速度和转向速度
重力控制 X[number1]Y[number2] number就是代表直线速度和转向速度

特别说明:X后面的number就是显示出来的前进速度,范围是-9999,Y后面的number就是显示出来的转向速度,范围是-9999.


软件界面简单介绍

操作界面

操作界面

  • 小方块是一个操作杆(略丑,一定会改进的,捂脸),操作小车前后左右移动
  • 重力控制(移动版):可以通过前后转动手机控制小车
  • 自动跟踪(桌面版):鼠标移动到操作杆上,不需要按下按键,就能移动操作杆
  • 桌面版本可以通过键盘上q w e r 这四个按键控制功能1,2,3,4

串口连接界面(桌面版)

连接桌面版

  • 扫描端口后设置好波特率和端口好连接就可以了
  • 支持USB转串口线或者蓝牙连接,使用USB连接时可以到设备管理器中查看具体的端口号,只用蓝牙连接,要首先在系统中配对蓝牙,并且查看蓝牙的端口号
  • 可以在下面的对话框中发送和接收串口的数据.

串口连接界面(移动版)

连接移动版

  • 扫描蓝牙名称后连接即可,不需要配置波特率等
  • 请确保蓝牙首先已经在系统中配对过了,未配对的蓝牙能搜索到,但是有可能连接不上.
  • 部分安卓手机可能不支持蓝牙2.0的模块,所以有可能搜索不到HC-05/HC-06蓝牙模块,所以可能需要蓝牙4.0的模块
  • 部分安卓手机权限审核可能比较严格,一定要给够蓝牙的权限,不然也有可能连接不上.
  • 可以在下面的对话框中发送和接收串口的数据.

结束

好吧其实也没有啥好说的了,有问题可以在我们的718科创交流群当中讨论,也可以在下面的评论框中评论.我们的App也会在后续不断的更新.