找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1159|回复: 0
打印 上一主题 下一主题
收起左侧

基于LoRa技术的实验室门窗报警系统的软件设计

[复制链接]
跳转到指定楼层
楼主
ID:722559 发表于 2020-4-4 22:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

2.4.1系统功能模块设计
根据本文中基于LoRa技术的实验室门窗报警系统的设计要求,对该系统进行功能模块设计,
其功能如图所示:

基于LoRa技术的实验室门窗报警系统的功能模块主要包括硬件传感器模块,网关模块,云服务器和检测系统。硬件传感器模块包含窗磁传感器模块和人体红外传感器模块,它们对门口窗户进行人员出入实时检测,是系统的感知部分,LoRa网关模块对传感器传回的数据进行整理传送给服务器,是系统的通信部分。电脑通过internet或者Wi-Fi对云服务器中的数据进行调用。
2.4.2系统拓扑结构设计
基于LoRa技术的实验室门窗报警系统的拓扑结构如图,通过在实验室门窗现场进行传感器布置来对环境进行实时监测收集信息。然后通过lora无限网络将感知节点的数据信息传送给lora网关然后通过网关内在的转换协议进行转换在发送到云服务器,PC端通过网络在对服务器中的数据进行调用,存储。


2.5系统工作原理
前段采集模块首先判断PC端有无获取命令发过来,若检测到获取命令,则执行获取命令一次,采集前端传感器的相应状态及数值,并通过LoRa模块将检测到的传感器状态及数值发送给网关,网关在将数据信息发送到云服务器,PC端通过网络连接云服务器获取数据并显示;若没有检测到获取命令,前端测量器件将进行循环测量并采集传感器的状态及数值,将前端状态及数据发送给网关模块,网关根据传输协议,将数据传送到云服务器进行存储。PC端在获取数据后进行数据对比,若安全则直接存入数据库,若不安全则发出警报在存入数据库

3基于LoRa技术的实验室门窗报警系统的硬件设计3.1硬件3.1.1LoRa终端
以下图是LoRa终端的功能图和实物图
  
LoRa节点的核心部分是STM8L052R8芯片。STM8L052R8芯片是单片机STM8系列的一种,是使用最广泛的单片机处理器。STM8L052R8芯片的特点是:
1)处理速度快,功耗低,成本低,
2)有专门的IAR开发工具,方便开发使用
3)具有丰富的     接口电路,能满足大部分功能开发
3.1.2LoRa网关
本设计采用的是锐米网关,型号为RGWC490LA-GST,外观如图所示。LoRaWAN网关是连接传感器节点和互联网网络的纽带,可以实现LoRa协议与不同类型的网络协议(以太网或WiFi)的转换。LoRaWAN网关将数据TCP/IP协议与服务器进行通信。TCP/IP协议是目前世界上应用最为广泛的协议,它不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准,而且也不依赖于特定的网络传输硬件,所以TCP/IP协议能够集成各种各样的网络,是连接硬件和软件的实用工具。
其主要的参数特点是:
1)多通道:基于SX1301芯片,8通道,最大支持10,000LoRa终端。长距离:空旷环境可覆盖半径5km的区域。
2)全网通:支持LTE (4G/3G/2G),网关“免接线”即可连接server (选配)
3)自适应:支持ADR,更高的速率,更低的能耗,轻松扩容。
4)兼容性:完全兼容LoRaWAN, 内含的协议可将数据转换为wifiTCP/IP传输至服务器端。
3.1.3USB调试工具
LoRa终端的调试需要调试工具,不同的单片机所用的调试工具也不同,本文采用的USB调试工具,如图所示


3.2传感器介绍3.2.1人体红外传感器
本实验使用的是商业人体红外探测器传感器,通信方式为IO电平通信,型号为PA-465。在实际的使用过程中,人体红外探测器传感器通信接口默认为电平位高,当人体红外探测器传感器监测到红外光信号发生变化时,人体红外探测器传感器会发出报警同时通讯接口电平被拉低,报告节点发现有人经过。




以下是人体红外传感器的单路原理图。

人体红外探测器传感器的通信协议定义如下表所示:
  
传感器
  
属性
参数
权限
说明

  
  
人体红外探测器
红外信号变化
A0
R
数值0或者1变化,0表示未监测到红外信号变化,1表示检测到红外信号变化
上报状态
D0(ODO/CD0)
R/W
D0的Bit0表示红外信号变化信息上传状态,1表示主动上报,0表示询问上报
上报间隔
V0
R/W
修改主动上报的时间间隔
表1 人体红外传感器通信协议定义

3.2.2窗磁传感器
本实验使用商业窗磁探测器传感器,通信方式电平触发,型号为 ZY-CC001xIO。在实际的使用工程中,窗磁探测器传感器通信接口默认电平位低,当窗磁探测器传感器监测到窗体被打开时,窗磁探测器传感器会发出报警同时通讯接口电平被拉高,通知ZXBee Lite 节点发现
窗户被打开。

窗磁探测器传感器的通信协议定义如下表所示:
  
传感器
  
属性
参数
权限
说明

  
  
窗磁探测器
红外信号变化
A0
R
数值0或者1变化,0表示未监测磁场,1表示检测到磁场
上报状态
D0(ODO/CD0)
R/W
D0的Bit0表示红外信号变化信息上传状态,1表示主动上报,0表示询问上报
上报间隔
V0
R/W
修改主动上报的时间间隔



3.2.3LoRaWAN网关
LoRaWAN网关是连接传感器节点和互联网网络的纽带,可以实现LoRa协议与不同类型的网络协议(以太网或WiFi)的转换。LoRaWAN网关将数据
TCP/IP协议与服务器进行通信。TCP/IP协议是目前世界上应用最为广泛的协议,它不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准,而且也不依赖于特定的网络传输硬件,所以TCP/IP协议能够集成各种各样的网络,是连接硬件和软件的实用工具。


4基于LoRa技术的实验室门窗报警系统的软件设计4.1开发环境
基于LoRa技术的实验室门窗报警系统的软件部分采用C#作为开发语言,使用VisualStudio 2012作为开发工具,数据库采用SqlSever 2012作为开发工具,SQL作为查询语言。
C#编程语言是2010年由微软公司的Anders Hejlsberg和 ScottWillamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C++和Java发展而来,它采用了这三种语言最优秀的特点,具有面向对象计算机语言所具有的包装、继承和多态的特性,是一个彻底的面向对象的计算机语言。C#语言可以创建Windows应用程序、Windows控制台应用程序、Web应用程序和Web服务。另外C#语言运行的开发环境是微软的.NETFramework, .NET Framework是万软面向对象的程序开发和运行平台。Visual Studio 2012是美国微软公司推出基于.NET Framework4.5的开发工具包,是市场上目前用于开发Windows应用程序比较流行的开发环境。
SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2 版本。随着不断完善依次推出了2005版本,2008版本,2012版本2015版本。真正达到客户机/服务器体系结构,图形化用户界面,是系统管理和数据库管理更直观和简单。C#语言对数据库访问的通信桥梁是.NETFramework中用于数据库访问组建(ActiveX Data Objects.ADO)。SQL是与数据库管理系统进行通信的标准数据库语言,具有数据定义、数据控制和数据操纵功能,可以实现对数据库的查询、修改、更新和删除。
4.2软件设计4.2.1数据库设计及程序入口定义
数据库是上位机的核心部分,数据库建立的不合理会增加数据冗余,增加上位机开发的难度,所以要建立适合自己的数据库,才能更好的使用上位机。上位机的数据库名字为FDXT.mdb,
上位机软件使用SQL Server2005数据库,在进行软件设计的时候需要对数据库进行设计。
1)  用户信息表(tb_user)
用户信息表负责存储用户名字,用户ID账号和密码信息,其数据结构如表所示。
  
列名
  
数据类型
长度
不为空
说明
备注
UserId
char
10
登录用户名
例如李四
uesrname
nvarchar
20
用户姓名

uesrpwd
nvarchar
10
登录密码


2)  窗磁信息表(tb_date1)

  
列名
  
数据类型
长度
不为空
说明
备注
Result
nvarcha
20
屋内是否正常
例如正常
date
nvarcha
20
时间
3)人体红外信息表(tb_date2)
  
列名
  
数据类型
长度
不为空
说明
备注
Result
nvarcha
20
屋内是否正常
例如正常
date
nvarcha
20
时间
3)  程序入口定义
在C#软件中连接该数据源需要写一些连接代码,关键代码如下:


4.2.2登陆界面
登陆界面用来对软件使用者的身份进行验证,判断软件使用者是否是合法用户,登陆界面如图所示:

用户的身份验证是通过用户输入的账号和密码与数据库中的账号密码进行比较,若正确则登陆成功,否则登陆失败。完成登陆后将显示主界面。登陆流程图如下:


4.2.3主界面
主界面包括窗磁报警和人体红外检测两部分,如图所示,窗磁报警这一栏内有显示室内安全情况,监测是否开启;查询和开启报警按钮。


5系统测试
1)  测试内容
本文硬件方面主要是进行理论性研究,因此主要测试的内容就是对软件方面的测试,主要测试软件是否正确,软件功能是否满足要求。
2)测试目的
明确实验室门窗报警系统是否具有安全性,合法性以及对数据信息是否具有保密性。除此之外还要验证是否满足需求,并根据测试出的问题来完善需求,不断优化原系统,以确保软件的安全和质量。
3)测试方法
测试方法是指对软件的测试方法。对于不同类型的软件需要用不同的测试方法,只有针对性测试,才能得出更好的结论。目前网上常用的测试方法有白盒测试和黑盒测试。黑盒测试指的是把被测软件看成一个黑盒子,不关心它的内在结构,只在意软件的输入数据和输出结果,所以黑盒测试就是软件功能测试。白盒测试则和黑盒测试相反,是结构逻辑上的测试。根据本系统的功能以及需求等,测试方法选择了黑盒测试,在知道软件系统的功能及需求的条件下,从用户的角度,通过对数据的输入与输出来检测程序接口功能是否正常,将程序看做一个整体,不需要考虑系统内部代码逻辑结构,主要对界面以及功能测试。黑盒测试的结果相对来说比较直观,对后期系统的维护与完善具有很大的帮助。






4)测试步骤
  
基于LoRa技术的实验室门窗报警系统测试表
  
测试部分
测试实例
期望结果
实际结果
窗磁
  
模式设置
点击
  
开启报警
,当窗磁探测器检查到窗户被打开的信号后,显示非法入侵
界面显示非法入侵
人体红外
  
模式设置
点击
  
开启报警
当人体红外探测器检测到人体信号后,显示非法入侵
界面显示非法入侵

5)测试总结
对于本次的黑盒测试结果,实例测试的实际结果与期望结果完全相同。从测试结果来看,基于LoRa技术的实验室门窗报警系统的模块链接没有问题。可以实现最初的设计想法,并且在一定程度上可以满足用户的功能需求。后期将学习和了解更多的专业知识,不定期的进行测试和维护,记录测试结果,不断优化系统。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表