1、蓝牙介绍

grbl上位机如何通过蓝牙连接PYTHON编程控制_串口

蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。

蓝牙作为一种小范围无线连接技术,能在设备间实现方便快捷、灵活安全、低成本、低功耗的数据通信和语音通信,因此它是实现无线个域网
通信的主流技术之一。与其他网络相连接可以带来更广泛的应用。是一种尖端的开放式无线通信,能够让各种数码设备无线沟通,是无线网络传输技术的一种,原本用来取代红外
线通信。

2、蓝牙在项目中应用

最近一个项目中要求采集设备和Windows平板之间需要通过无线,低功耗的设备进行传输,由于蓝牙的特点完全适合与本项目,因此选用蓝牙进行Windows计算机与下位机单片机进行通讯,在Windows下对于蓝牙的编程很小众,基本无资料,本人对蓝牙通讯做了以下的了解和使用。

a、蓝牙设备连接和配置

在Windows系统中,使用蓝牙设备其实作为串口设备进行通讯的,其实就是无线版的串口设备,对蓝牙操作就需要在系统中连接好蓝牙并设置蓝牙的串口,步骤见下图,①单击通知->②右击蓝牙图标,进入配置界面

grbl上位机如何通过蓝牙连接PYTHON编程控制_串口_02

在系统中进行下位机蓝牙模块进行配对连接,配对之后需要点击右侧的“更多蓝牙选项”标签,对蓝牙设备的串口进行配置。

grbl上位机如何通过蓝牙连接PYTHON编程控制_串口_03

单击添加按钮选择传入,配置蓝牙的串口号,注:不要与主板上其他的串口号冲突,可以到设备管理器中查看空闲的串口号

grbl上位机如何通过蓝牙连接PYTHON编程控制_串口_04

b、蓝牙串口通讯

前面的博文介绍了C#的SerialPort控件,在此不在赘述,此控件就是针对与串口通讯的,对于蓝牙的通讯其实就是串口的通讯了,这里要注意一下,由于蓝牙的串口是通过无线接入的,和主板自带的串口存在差别,蓝牙的串口在未连接到下位机设备时会存在Write()方法出现写超时卡顿的现象,因此需要根据发送数据的时间进行WriteTimeout写超时数据配置,这个值默认为60秒,在作者的项目中,这个值设定为5秒,防止蓝牙断开后发送数据长时间阻塞的问题,影响通讯效率,蓝牙在断开后Windows系统会自动进行重连,串口访问时无需再次调用打开串口。