甲醛浓度检测系统软件的设计

2017-06-14 17:25姜旭东徐钰頔吴书贤孙耀明
中国科技博览 2017年17期
关键词:网络连接

姜旭东 徐钰頔 吴书贤 孙耀明

[摘 要]此次设计的界面都是用JAVA语言编写的客户端界面,用来显示监测系统所检测到的各项数据。通过JAVA socket实现对网络数据的接收。用户登录的界面需要用户输入用户名及密码进行登录,登录过后,通过该客户端联网后便可读取服务器中的数据,并显示出来。

[关键词]JAVA socket 网络连接 用户登录界面 数据显示界面

中图分类号:U283.1 文献标识码:A 文章编号:1009-914X(2017)17-0387-01

0.引言

Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。 1991年,Sun公司的James Gosling,Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(橡树)软件,他是Java的前身。当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,得以研发和发展。由于Oak商标已经被Oak Technology注册,1995年Oak短暂更名为Green,最后更名为Java。Java的得名还有段小插曲。一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。

1.系统结构

本系统分为三大部分,用户登录界面,数据接收和数据显示界面。其中显示界面分别显示甲醛浓度,温度,湿度和光照度。

单片机运行WiFi驱动,将有关甲醛的数据发送到服务器。通过JAVA语言编写的登录界面输入用户名和密码登录,PC上的JAVA程序的socket类接收经WiFi发送到服务器端的甲醛有关数据经过处理后在显示界面进行显示,达到通过网络远程监视的目的。通信部分的实现实质上是客户端>>>>>服务器端>>>>>客户端的通信,单片机运行WiFi驱动给服务器发送数据,实际上就是一个客户端,PC从服务器端接收数据并处理,最终显示在界面上,实质上也是客户端。通信的双方需协商好TCP协议,需共同使用一个端口(一般而言,一台计算机只有单一的连到网络的“物理连接”(physical connection),所有的数据都通过此连接,对内,对外送达特定的计算机。这就是端口),这样才能保证数据被正确的接收。

网络程序设计中的端口并非真实的物理存在,而是一个假想的连接装置。端口被规定为一个在0~65535之间的整数。

网络程序中的套接字(socket)用于将应用程序与端口连接起来(程序设计者只需创建socket类对象,即可使用套接字)。

2.软件设计

JAVA语言编写的程序是跨平台的而且拥有较高的安全性,所以选择用它来进行程序设计。用JAVA语言中的 swing类来编写界面,首先创建容器,创建一个单选按钮目的是增加一个“记住密码“”的单选按钮控件。使用文本框接收用户输入(一个应用程序所有输入功能的界面几乎都是文本控件接收用户输入的)。通过javax.swing.JPasswordField类创建密码框。密码框与文本框的定义与用法基本相同,唯一不同的是密码框控件将用户输入的字符串以某种字符显示,如“*”字符,用来隐藏用户的密码。之后通过add方法将自定义的按钮和标签添加到创建的容器中,通过setSize方法来设置窗体大小,使用setBounds方法可以设置添加的按钮与标签的位置和大小,通过调节位置和大小使界面看起来美观。关键的一步是用setVisible(true)使JFrame窗体可见。为了使界面看起来更美观,也可以通过使用setBackgound方法给界面添加背景颜色。这样客户端的登录界面和显示界面就完成了。

3.双方协议

Socket类接收数据时,需要检测数据才可以开始接收,以保证接收到的数据的准确性。收发双方要事先确定一个协议,例如接收方只在发送方发送的数据的包头为0x00 0x00时接收这一数据,包尾为0x08 0x09则结束接收。这样就可以保证接收到完整的正确的数据。另外socket类还需使用相同的端口进行通信。

4.总结

JAVA是一种安全简洁的编程语言,方便对界面的编写设计和网络的接收。代码较为简洁明了,不容易出现错误,较为稳定。JAVA编写的界面较为整齐,可以使人一目了然,网络接收通过socket类关于read的各种方法可以有效的解决。整个设计程序思想相对简单,代码不冗余,可读性高。客户端界面采用的是流式布局,用到了JFrame类中的setLayout方法,增强了界面的可编程性,能按照自己的想法进行布局,達到想要的完美效果。密码框中的密码用“*”字符代替本来的密码显示,很好地保护了用户的账号安全和隐私,同时提高了系统的安全性。

猜你喜欢
网络连接
小型单板计算机加速物联网应用落地
个性化设置 Win10 的网络连接信息
运动想象的大尺度动态功能网络连接
试论软交换技术在通信工程中的应用和发展前景
浅谈互联网技术在医院中的应用