基于C++/Qt的仓储环境监控客户端应用设计

2017-11-20 21:39张志成钱慧芳程诚
电脑知识与技术 2017年26期
关键词:多线程嵌入式数据库

张志成+钱慧芳+程诚

摘要:基于C++/Qt的仓储环境监控系统近年来在仓储环境监测领域发挥着越来越重要的作用。该文使用Qt的多线程编程实现了监控系统的图形用户界面的设计,多线程设计在任务并发执行的操作系统中是不可或缺的,它通过宏观并行,微观串行来实现多任务并发。嵌入式系统中图形用户界面使操作人员在不必理解嵌入式底层实现的条件下更好去操作一些嵌入式设备。该文还移植了MySQL数据库,通过检测登录的信息大大提升了嵌入式系统设计的安全性。

关键词:嵌入式;Qt;多线程;数据库

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)26-0056-03

Abstract: The storage environment surveillance system Based on C++/Qt has played an increasingly important role in the storage environment in recent years.This article uses Qt multithreaded programming to realize the monitoring and control system for the design of the graphical user interface, multi-threaded design in task concurrently operating system is indispensable, it through macro parallel, microscopic serial to implement multitasking concurrency.The graphical user interface in embedded system enables operators to manipulate embedded devices better without having to understand the embedded underlying implementation.This paper also ported MySQL database, which greatly enhanced the security of embedded system design by detecting the login information.

Key words:the embedded system;Qt;multithreading;database

随着我国储运行业的不断发展和人们对于储运环节的关注度不断提高,安全可靠的监控系统对现代化仓储管理系统十分必要。随着多种各样的监控设备及其安防预警系统这些硬件逐步发展地越来越智能化,意味着软件上的设计要同步跟上硬件的发展需求。同时我国的自动化、智能化的检测水平也在不断提高,在这种良好的社会环境下,基于C++/Qt的仓储环境监控系统将逐步被广泛采用,并将实现普及,从而将我国的储运行业的环境监管提高到更安全的标准。

Qt由奇趣科技在90年代研制的集编辑、编译、调试与一起的集成开发环境。简单点说Qt就是设计图形界面的软件,当然它自己本身也是一个图形界面。由于Qt底层是C++代码实现,它不同于C语言,C++是面向对象编程,相对于C语言面试过程编程,Qt更具有贴近用户的思想。Qt的优势在于具有优秀的跨平台特性、继承了C++面向对象的程序设计思想、丰富的API接口供应用层调用。跨平台特性是指Qt支持包括Windows、Linux在内的大部分操作系统;由于Qt底层实质是C++编程,所以C++具有的面向对象编程思想在Qt编程里能够得到更好的体现;Qt包含了多达250个以上的C++类库,可以这样说Qt其实就是一個大型的C++函数库,这样丰富的API几乎可以实现操作人员对界面设计的大部分想法。最重要的一点是Qt是开源的,这一点对于界面开发者来说是最吸引的,开源意味着你可以随时看到底层源码,可以更改源码设计出自己的界面。

1 仓储监控系统框架

1.1 嵌入式的概念

仓储监控系统是嵌入式具体应用的方向之一,嵌入式系统最广泛的定义为:主要把中心放在贴近用户的需求,同时要求以通用PC技术为基础,在软件和硬件的设计上要尽可能的模块化,需要更多的应用设计的时候可以扩大其软硬件的功能;在不需要一些功能的时候可以剪裁部分功能以满足嵌入式系统的功耗小、体积小的要求。本设计主要在嵌入式硬件基础上的软件开发设计。嵌入式发展空间相对较大,嵌入式系统是当前社会发展必不可少的技术要求,主要应用在现代化发展地方方面面,小到我们平常使用的mp3、手机等电子设备,大到一些汽车电子、工厂设备、航天航空设备。总之,嵌入式系统与我们平常使用的通用PC系统不一样,嵌入式设备更像一个专用计算机系统,在总的性能方面可能没有PC机那么强大,但是在个别功能方面却比通用PC的性能强大很多。

1.2 Qt网络编程机制

Qt的网络编程和Windows下的网络编程机制很相似,都是基于C/S网络编程模型。网络编程套接字是通信端点的一种抽象,它有两种形式:流式套接字和数据报文套接字。本实验采用的是面向连接的流式套接字,它采用的是传输控制协议TCP。如图1所示,采用TCP协议的服务器端程序框架图;如图2所示是客户端程序框架图。

在概述里我们说到Qt包含了多达250个C++类库,在Qt客户端设计程序里建立和服务器的连接我们需要使用QTcpSocket类。这里我们用到Qt里的信号与槽机制,信号与槽机制和Windows下的消息机制十分类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序安全简洁。信号与槽机制是Qt的核心机制,可以让编程人员将互不关心的对象绑定在一起,实现对象之间的通信。客户端在创建和服务器连接之前首先我们需要创建QTcpSocket类的对象socket,然后通过信号与槽机制的connect函数连接服务器。endprint

猜你喜欢
多线程嵌入式数据库
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
Java并发工具包对并发编程的优化
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器