基于物联网的智能厨房安全监测系统-上位机程序

71 篇文章 8 订阅
20 篇文章 2 订阅

CSDN话题挑战赛第2期
参赛话题:学习笔记

博客写作背景----项目中解决的问题

最近遇到一个基于TCP/IP网络的远程智能物联网系统,采用Arduino Uno控制器作为下位机,采用LabVIEW作为远程监控软件,两者通过网络实现通信。初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。

- 项目中解决的问题

于TCP/IP网络的远程智能物联网系统,采用Arduino Uno控制器作为下位机,采用LabVIEW作为远程监控软件,两者通过网络实现通信。

- 做题思路

提示:LabVIEW上位机部分需要完成以下功能:1)当家用电器的开关触发时,向下位机Arduino控制器发送指定厨房电器的状态切换命令,Arduino控制器通过W5100模块读取上位机的命令,进而控制固态继电器模组的闭合和断开,实现指定家用电器的打开/关闭;2)当前面板无操作而超时1秒时,依次向下位机Arduino控制器发送温度、煤气浓度、热释电传感器的读取命令,Arduino控制器通过W5100模块读取上位机的命令,读取所需的数据并通过W5100模块上传至LabVIEW上位机软件显示。
LabVIEW前面板分为仪表盘显示、波形图显示和电器开关等部分,仪表盘部分用于显示当前的煤气浓度;波形图显示部分用于显示温度的变化趋势;电器开关部分用于控制各路电器的工作状态。同时,右下角的防盗指示灯显示热释电传感器的状态。
远程家庭监控系统的LabVIEW上位机前面板如图所示。在这里插入图片描述

2.LabVIEW程序框图设计
采用事件结构+超时结构来实现测量和控制两部分,在测量中使用条件结构+枚举的状态机来实现温度、气体浓度和热释电传感器数据的读取,将测量程序划分为3个状态:温度测量、气体检测和防盗指示。
为了更好地实现通信,制定如下的通信协议:帧头+操作码。0x55AA为帧头,操作码0x80为热释电传感器数据的采集,0x81为气体浓度的采集,0x82为温度采集,0x11为第一路继电器闭合,0x10为第一路继电器断开,0x21为第二路继电器闭合,0x20为第二路继电器断开,0x31为第三路继电器闭合,0x30为第三路继电器断开,0x41为第四路继电器闭合,0x40为第四路继电器断开。
LabVIEW上位机超时部分的程序框图如图在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在将程序烧写到Arduino Uno控制器之后,用网线将W5100网络模块与计算机连接在同一个路由器的不同的LAN接口,在LabVIEW程序中使用“高亮执行代码”,观察TCP初始化能否成功。如不能,则重启Arduino Uno控制器。另外,在Arduino Uno控制器一端的路由器需要直接与公网相连接,而不是作为二级路由,同时需要设置路由器,使得Arduino Uno控制器的网络IP地址能够被远程的LabVIEW软件所侦听到。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr Robot

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

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

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

打赏作者

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

抵扣说明:

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

余额充值