247浏览
查看: 247|回复: 0

[入门教程] LabVIEW实现蓝牙通信【物联网实战】

[复制链接]
本帖最后由 不脱发的程序猿 于 2025-1-2 11:39 编辑

本节围绕家居环境下多路灯光的蓝牙遥控开关控制程序设计,简要介绍蓝牙通信技术的基础知识。
通过介绍典型的蓝牙通信模块及其使用方法,结合USB-TTL模块和UART接口的蓝牙通信模块,扩展出计算机蓝牙通信端口,建立计算机与蓝牙开关模块之间的通信链路。
在此基础上,基于LabVIEW平台设计遥控程序,详细说明蓝牙开关遥控程序的实现步骤,并对程序的运行结果进行测试分析。通过本实例,可为蓝牙通信技术在程序设计中的应用提供实用的参考和借鉴。

1、蓝牙通信原理
蓝牙(Bluetooth)是一种短距离无线通信技术,用于在设备之间传输数据。其通信原理基于无线射频(Radio Frequency,RF)技术,主要采用 2.4 GHz ISM频段(工业、科学和医学频段)。
蓝牙设备的通信过程一般包括以下步骤:
  • 设备发现(Discovery):蓝牙设备广播自身信息(如设备名称、MAC地址),周围的蓝牙设备通过扫描发现并识别这些信息。
  • 配对(Pairing):双方通过认证完成安全连接。通常使用PIN码、加密算法(如AES)进行身份验证,避免未经授权的连接。
  • 连接(Connection):成功配对后,主设备与从设备建立逻辑链路。连接建立后可进行数据传输。

2、 硬件环境部署
由于计算机通常不具备蓝牙通信接口,无法直接与蓝牙开关模块YS-BLK通信。然而,通过计算机常见的USB接口,结合USB-TTL模块和经典蓝牙通信模块HC05,可以轻松实现基于串口操作的蓝牙通信。具体方法是:计算机通过串口控制HC05蓝牙通信模块,与YS-BLK蓝牙开关模块建立连接,发送控制指令,从而实现无线遥控功能。
为了验证蓝牙开关模块YS-BLK的功能,其I/O端口P1、P2、P3、P4分别接入LED灯,并串联200~1000Ω的限流电阻。当P1、P2、P3、P4输出高电平时,LED灯点亮;当输出低电平时,LED灯熄灭。计算机端按照YS-BLK模块的通信协议发送指令,YS-BLK接收后进行解析,并控制相应端口的电平变化,从而完成无线控制。
为了简化说明,这里以单个LED灯的连接为例演示实际电路,如下图所示。
LabVIEW实现蓝牙通信【物联网实战】图4

3、 程序架构
由于程序运行过程中需要根据操作人员的指令向蓝牙开关模块发送不同的控制信号,这属于典型的离散事件处理模式。因此,程序总体结构采用事件驱动模式,具体需要处理的事件如下:
“打开串口”按钮事件:单击按钮后,尝试打开串口。如果打开失败,弹出错误提示信息;若打开成功,则进入下一步操作。
“开关1”按钮事件:单击按钮时,根据按钮显示的文本执行操作:若文本为“打开”,向蓝牙开关模块发送指令,使P1端口输出高电平。若文本为“关闭”,发送指令使P1端口输出低电平。
“开关2”、“开关3”、“开关4”按钮事件:与“开关1”按钮事件的逻辑相同,分别发送指令控制P2、P3、P4端口的电平输出。
“开关1打开”至“开关4打开”按钮事件:单击对应按钮,向蓝牙开关模块发送指令,使P1~P4端口同时输出高电平。
“开关1关闭”至“开关4关闭”按钮事件:单击对应按钮,向蓝牙开关模块发送指令,使P1~P4端口同时输出低电平。
“停止”按钮事件:单击按钮时,退出程序。
为了提高程序的人机交互体验,程序的结构设计在循环事件处理模式的基础上,添加了顺序控制结构,并分为两个顺序帧:
第1帧:初始化帧完成程序运行前的各类控件初始化,例如窗口布局、控件状态设置等。
第2帧:主程序帧采用循环事件处理模式,负责各类事件的动态处理。

4、 前面板设计
根据前述程序设计思路,按照以下步骤完成前面板控件的设置:
步骤1:添加串口选择控件
为了选择和设置蓝牙通信对应的串行端口:
  • 添加I/O控件 “VISA资源名称” (路径:控件 → 新式 → I/O → VISA资源名称)。
  • 选择默认串口号,并根据需要调整控件的大小和字体。

步骤2:添加串口打开按钮
为了确定用户执行打开串口的操作:
  • 添加布尔类控件 “确定按钮” (路径:控件 → 新式 → 布尔 → 确定按钮)。
  • 调整控件尺寸至合适大小。

步骤3:添加程序停止按钮
为了确定用户退出程序的操作:
  • 添加布尔类控件 “停止按钮” (路径:控件 → 新式 → 布尔 → 停止按钮)。
  • 调整控件尺寸至合适大小。

步骤4:添加串口信息显示控件
为了显示串口接收的信息:
  • 添加字符串类控件 “字符串显示控件” (路径:控件 → 新式 → 字符串与路径 → 字符串显示控件)。
  • 设置控件标签为 “串口返回结果”,并调整控件尺寸至合适大小。

步骤5:添加单个端口控制按钮
为了向蓝牙开关模块发送单个端口的输出控制指令:
  • 添加4个布尔类控件 “确定按钮” (路径:控件 → 新式 → 布尔 → 确定按钮)。
  • 分别设置控件标签为 “开关1”“开关2”“开关3”“开关4”
  • 默认按钮文本设置为 “打开”,并调整控件尺寸至合适大小。

步骤6:添加批量端口控制按钮
为了向蓝牙开关模块发送批量端口的输出控制指令:
  • 添加2个布尔类控件 “确定按钮”
  • 分别设置标签为 “开关1-4打开” “开关1-4关闭”
  • 调整控件尺寸至合适大小。

步骤7:添加输出结果指示灯
为了显示各类端口的控制执行结果:
  • 添加布尔类控件 “圆形指示灯” (路径:控件 → 新式 → 布尔 → 圆形指示灯)。
  • 分别设置标签为 “灯1”“灯2”“灯3”“灯4”
  • 调整控件尺寸至合适大小。

步骤8:添加程序标题
为了美化界面并标明程序功能:
  • 双击前面板,添加标题字符串 “基于LabVIEW的蓝牙开关遥控程序”
  • 调整字体、字号和显示位置等参数。

进一步调整控件的大小和位置,确保操作界面布局和谐、美观,用户操作直观友好。最终完成的前面板设计结果如下图所示。
LabVIEW实现蓝牙通信【物联网实战】图3

5、 程序框图设计
LabVIEW实现蓝牙通信【物联网实战】图2

6、 测试验证
在本项目中,首先需要建立蓝牙开关模块与计算机连接的蓝牙通信模块HC05之间的配对关系,具体步骤如下:
1. 蓝牙模块状态检查
  • 蓝牙开关模块:上电后,观察指示灯状态:闪烁:模块运行正常。
  • HC05模块:通过USB-TTL模块连接至计算机,并按照预先配置的参数运行。上电初期,指示灯快速闪烁,表示正在搜索可连接的蓝牙设备。

2. 建立配对连接
当HC05成功与蓝牙开关模块配对后,指示灯状态变为每秒闪烁两次,表示配对成功。此时,HC05可作为串口设备使用,通过串口命令控制蓝牙开关模块的操作。

3. 程序运行及操作步骤
单击工具栏中的 “运行”按钮(见插图),启动测试程序。
单击 “开关2”按钮,测试运行结果如图6-19所示:按钮显示文本由 “打开” 变为 “关闭”。对应控件 “灯2” 点亮。串口返回数据为 “0100000000”,表示P2端口输出高电平。
LabVIEW实现蓝牙通信【物联网实战】图1


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail