郑洪霞
摘 要:随着社会经济水平的发展,物联网技术在现实生活中的智能家居电子产品中得到广泛应用。为了适应信息化时代和方便人民生活,本文使用Qt作为编程工具,以S3C6410作为硬件平台,采集温度和湿度传感器数据,通过TCP的socket通信机制,实现了嵌入式多传感器灯控系统。达到了能够通过嵌入式设备观测温湿度和调节灯光亮度的基本功能。
关键词:嵌入式;灯控;传感器;移动设备
随着科技的发展,目前物联网行业正在兴起,特别是北京、上海、广州等大城市的物联网行业发展速度更快。一些知名家电产品也快速融入了物联网技术。例如海尔智能云电视、云空调、云洗衣机等,实现了用户对家庭家电产品的实时操控。当前,我国已发展了较为完备的敏感元件与传感器产业,产业规模正稳步增长。在物联网网络通信服务业领域,我国物联网行业正保持快速发展势头,应用领域也深入到社会公共安全、能源环保、城市管理等多个领域,未来几年仍将保持快速发展。目前在灯控领域,我国灯控系统功能还比较单一,一般仅具备开关功能,缺少日常维护功能。控制方式也比较落后,还停留在手动、光控、时控等方式上,容易受人为、季节和天气等因素影响,无法及时修改开关灯时间,容易造成能源浪费。而多传感器灯控系统的应用迎合了社会的发展,将为建设資源节约型社会发挥极大的作用。
1 系统需求分析
嵌入式多传感器灯控系统和正常的照明等区别在于,嵌入式多传感器灯控参与到了网络的环境。不仅能够满足正常的照明需要,还能在硬件端集成一些传感器,利用软件通过网络实现对灯光的亮度正常控制,还能将当前环境温湿度、一氧化碳浓度等信息显示给用户。
系统所需数据需要传感器采集数据,采用modbus数据协议,传输给采集的上位机。上位机通过crc对数据进行校验,错误数据信息,将自动丢弃,而正确的数据通过采用tcp网络传输协议发送给中转服务器。显示客户端与中转服务器建立连接,接受服务器发来的数据,解析并显示。同时客户端用户可以在正常的网络连接下随时随地对灯光进行控制。
2 系统设计与实现
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.