嵌入式多传感器灯控系统的设计与实现

时间:2023-06-07 19:48:03 教案设计 来源:网友投稿

设计与实现

2.1 总体设计

在整个系统的设计中,其基本网络拓扑图如图1所示。

如图1所示,整个系统分为三大块,传感器数据采集与控制端、服务数据中转端、显示端。其中数据中转服务器接入以太网络,用于数据的采集数据与数据显示的中转。采集端分布在外部环境,通过路由器介入以太网,其所属网络为家庭网络或企业网络。显示端通过路由器接入以太网,与数据中转服务器建立数据连接。在显示终端中,可以为手持移动设备或pc客户端。

系统显示端主要实现了温度、湿度、一氧化碳、灯控、继电器控制等5个主要功能。

在用户界面设计上充分运用QT提供的绘图方法,将数据抽象为图形,给用户更直观的印象。

在温度、湿度、一氧化碳功能模块中,主要是通过从网络中读取数据输出,在显示端不做任何输入操作。而在灯控和继电器模块中,不但要做数据的输出,而且还要做数据的输入,达到控制的目的。

如图2所示灯控功能模块中主要分为两个部分,接收端和发送端。在数据的发送之前需要将数据组装成8字节modbus协议格式的数据,然后发送给服务器,服务器最后中转到下位机控制端。在接收模块中,显示端将接收数据,并对modbus数据根据数据协议格式进行解析,显示当前灯光亮度值。

2.2 部分关键实现代码

如在系统串口操作中,初始化串口以后,接下来的就是对串口进行读写操作,串口的数据发送和读取同文件操作一样,通过系统的write( )和read( )函数进行数据的发送和接收。串口的数据操作程序关键代码如下。

如上函数中定义了一个data[][]的二维数组,并对其进行了初始化,初始化的数据中包含了4条预发送给采集端命令。其中data[0][1]中的0x03是功能码,其含义为write。data[0][2]中0x02代表了每一个采集传感器的编号。

3 系统及运行效果展示

图3是系统采集端的硬件部分展示图,外接了温湿度传感器,pwm灯,红外传感器。图4是用户登录界面,用户可通过手或笔在电阻屏幕撒屏幕上按下T9数字面板,完成输入功能。并按下login按钮执行登录。

图5是输入错误的IP和端口之后的错误提醒。图6是程序运行后采集到的传感器数据显示,以仪表盘和温度计的形式形象地显示出当前数据,在右下角同时还有数字显示仪表数据。

图7是对灯光亮度的控制的滑动条,其值为0~100,根据滑动条滑动的大小来改变灯光的亮度。如图8所示,滑动滑动条,灯光的明暗度发生改变。

4 结束语

目前,物联网技术在现实生活中得到广泛应用。计算机网络技术与电子产品的融合,给人们的生活带来了全新的感受。本文以Qt作为编程工具,以S3C6410作为硬件平台,采集温度和湿度传感器数据,通过TCP的socket通信机制,实现了嵌入式多传感器灯控系统,达到了能够通过嵌入式设备观测温湿度和调节灯光亮度的基本功能。未来多传感器控制系统将在智能生活中充当越来越重要的角色,全面融入大众的生活中,为人们生活提供便捷。

参考文献:

[1]韩超,魏治宇,廖文江,等.嵌入式linux上的C语言编程实践[M].北京:电子工业出版社,2011:39-41.

[2]史子旺,叶超群,蔡建宇.嵌入式linux内存使用与性能优化[M].北京:机械工业出版社,2012.

[3]蔡志明.精通Qt编程[M].北京:电子工业出版社,2010.

[4]罗克露.嵌入式软件调试技术[M].北京:电子工业出版社,2011.

[5]郑灵翔.嵌入式linux系统设计[M].北京:北京航空航天大学出版社,2010.

推荐访问:传感器 嵌入式 设计 系统