




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘要1Abstract2第一章 GPRS及无线通信简介31.1 GPRS概述31.2 GPRS传输平台41.3 TCP/IP协议简介51.4 Visual C+网络编程6第二章 系统设计方案102.1 系统功能要求102.1.1 系统总体构成102.1.2 软件设计要求112.2 软件结构设计112.3 设计方案的选择12第三章 软件程序设计133.1 上位机软件设计133.1.1 登陆界面程序设计143.1.2 上位机界面程序设计163.1.3 对话框显示程序设计21第四章 软件测试224.1 软件调试224.1.1 网络连接调试224.1.2 程序调试234.1.3 登陆界面调试24
2、4.1.4 上位机界面调试25第五章 总结与展望294.1 本次设计总结294.2 展望29参考文献30无线数据终端上位机软件设计摘要现代社会的数据传输正在逐渐摈弃有线传输的模式,无线数据传输相对于有线有建设成本低廉,适应性好,扩展方便,设备维护方便等优点,同时数据的传输也较为可靠。在无线数据传输中必然要用到不同的无线数据终端,要实现与人的交互,则必须依靠上位机软件,本设计从GPRS无线数据终端入手,设计了一个上位机软件,带有登陆界面,可以显示当前登陆的设备,并可以记录并显示历史登陆信息和聊天记录,初步实现通过下位机对LED灯的控制,该可以为日后的进一步设计应用提供参考。通过这次设计,我进一步
3、掌握Visual C+应用程序和网络编程,系统地学习面向对象编程思想,了解MFC架构,进一步熟悉可视化编程环境Visual C+。关键词:Visual C+,GPRS,上位机AbstractData transmission in modern society is gradually away from the cable transmission mode, wireless data transmission relative to the construction of cable with low cost, good adaptability, convenient extensi
4、on, convenient maintenance, at the same time, the transmission of data is more reliable. In the wireless data transmission must use different wireless data terminals, in order to realize interaction with people, you must rely on the PC software, the design, from the perspective of the GPRS wireless
5、data terminal, designed a PC software, with landing interface, can display the current landing equipment, and can record and display the login information and chat records, preliminary implementation by a machine under control of the LED lights, which can provide reference for the further design of
6、application in the future.Through this design, I further master the Visual c+ applications and network programming, systematic learning object-oriented programming ideas, understand the MFC framework, further familiar with Visual c + Visual programming environment.Keywords: Visual C+, GPRS, Upper Co
7、mputer第一章 GPRS及无线通信简介1.1 GPRS概述 GPRS(GeneralPacketRadioService,通用分组无线业务)是一种采用分组交换和传输技术传输高速、低速数据及信令的高效率数据传输方式,它是介于第二代和第三代之间的一种技术,通常称为2.5G,通过升级GSM网络实现,它是一个混合体,采用TDMA方式传输语音,采用分组的方式传输数据。GPRS克服了电路交换速率低、资源利用率差等特点,与原有GSM的数据业务相比,具有以下优点:1、利用GPRS数据业务,可以实现资源共享,频率资源利用率高;2、数据传输速率高,最高可达171.2kbps;3、用户永远在线,接入速度快;4、
8、能向用户提供4种QOS(Quality of Service,服务质量)类别的服务,并且用户可以对QOS的配置进行协商;5、支持X.25协议和IP协议,可与外部数据网进行互联;6、计费合理,采用流量计费。GPRS提供了端端分组传输和交换方式的一组新的GSM承载业务,包括点对点(P口)和点对多点(PTM)承载业务。以GPRS承载业务支持的标准网络协议为基础,GPRS网络运营者可以支持或提供给用户各种应用业务。对于点对点承载业务,GPRS可提供远程操作业务主要是小数据量的数据处理业务,如信用卡确认、电子银行商务业务、遥测、远程监测、定位业务、调度业务等。GPRS网络建于现有的GSM网络基础上,在现
9、有的GSM网络中,增加了两个服务节点:GGSN(Gateway GPRS Supporting Node,网关GPRS节点)和SGSN(Service GPRS Supporting Node,服务GPRS支持节点)SGSN的主要功能是对用户进行鉴权和移动性管理,进行路由选择,建立移动终端和GGSN的传输通道,接收用户数据,进行协议转换后通过GPRS骨干网传送给GGSN或返乡传输和计费和业务统计。而GGSN用于接入外部数据网络的网关节点,对于外部数据网,它就是一个子网路由器。GGSN接收用户发送的数据,选路到相应的外部网络,或接收外部网络的数据,根据其地址选址GPRS网内的传输通道,传给相应的
10、SGSN。另外,GGSN还有地址分配和计费功能。11.2 GPRS传输平台GPRS传输平台由一个分层协议构成,如图1.1所示。其中,TE为终端设备。图1.1 GPRS传输平台示意图MT为终端设备,GPS接收机实时采集定位信息,通过串口传送给中央控制器。中央控制器将信息数据(含位置、状态等信息)按照UDP(User Datagram Protocol,用户数据报协议)的格式封装成UDP数据报,然后加上IP报头和报尾封装成IP数据报。由于中央控制器和无线通信模块之间的通信遵循PPP(Point to Point点对点协议),因而又需要将数据报IP按PPP帧的帧格式封装成PPP帧,然后再通过串口传给
11、无线通信模块,无线通信模块将数据报转换成SM消息,通过无线链路传送到SGSN。SGSN进行相应的协议转换,按照GPRS特有的GTP(GPRS Tunnel Protocol,GPRS隧道协议)将其封装成GTP包,然后通过GPRS骨干网传送到相应的GGSN。GGSN也进行相应的协议转换,再根据外部数据网的协议格式进行新的封装,并且根据其目的IP地址选择路由进行传送,从而最终传送到上位机,上位机收到上传的信息数据后,根据移动终端带确认的数据报协议,从而提高了数据传输的可靠性。数据由含有GPRS模块的终端到因特网要经过四个设备:MS(Mobile Station,移动终端设备)、BSS(Base S
12、tation System,基站系统)、SGSN(Service GPRS Supporting Node,服务GPRS节点)和GGSN(Gateway GPRS Supporting Node,网关GPRS节点)。其中,SGSN和GGSN是新增设备,而MS和BSS是需要进行设备的软硬件升级。它们在网络通信传输中的工作主要为:MS:处理空中接口的上下行传输和将数据信息发给与之连接的计算机。BSS:基站系统,它通常包含一系列的设备,主要负责分配空中的信道资源,并在手机和SGSN之间转发信息。SGSN:是无线部分和数据网部分的分界线,负责管理手机的移动,并与GGSN协作完成用户数据在Gn网络上的传
13、输。GGSN:是GPRS网络与外网的分界线,对内负责Gn网络的传输,对外是因特网路由器。其中的BGGSN(Border GGSN)负责连接不同运营商之间的Gn网络,实现网间漫游。上述四个设备将终端设备和因特网连接起来,完成了无线上网的数据传输工作。因此,我们在终端设备具备了GPRS模块通信功能的条件下,就可以开发出能和终端设备进行双向交互的数据通信功能模块。在网络编程实现中,GPRS和GSM网络组成对我们而言是透明的,我们只需要定义好上位机和终端交换的字符串,上位机软件在Visual C+环境下,采用MFC的套接字来实现。11.3 TCP/IP协议简介Transmission Control
14、Protocol/Internet Protocol简写为TCP/IP,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。TCP/IP协议不是TCP和IP这两个协议的合称,而是指
15、因特网整个TCP/IP协议族。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层。TCP/IP协议并不完全符合OSI的七层参考模型,OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层(网络接口层)、网络层(网络层)、传输层(传输层)、会话层、表示层和应用层(应用层)。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。由于ARPANET的
16、设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网。2TCP/IP协议模块关系如图1.2所示。图1.2 TCP/IP协议模块关系1.4 Visual C+网络编程Winsock是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。规范定义并记录了如何使用API与Internet协议族CIPS,常指的是TCP/IP连接,尤其要指出的是,所有Winsock实现都支持流式套接字和数据报套接字。应用程序调用Winsock的
17、API实现信息传输,本质上是利用下层的通信协议功能和操作系统调用实现实际的通信工作。Winsock定义了三类型的套接字:流式套接字(the stream socket)、数据报套接字(the datagram socket)和原始套接字(the raw socket)。它们分别支持TCP/IP及UDP协议 。流式套接字采用的是TCP/IP协议它提供了双向、有序、无重复且无记录边界的数据流服务,特点是通信可靠,数据有校验和重发的机制,适合大量数据传输。数据报套接字采用的是UDP协议,提供无连接数据报传输,支持双向的数据流,但并不保证可靠有序,这一点是它与流式套接重要的不同之处。原始套接字接口允许
18、对较低层协议,如IP、ICMP直接访问,常用于检验新的协议,实现或访问现有服务器中配置的新设备。3Winsock的编程原理是基于套接字的系统调用。各主要调用函数及其功能如图1.3所示。图1.3 流式套接字调用流程上位机软件是以MicrosoftVisualC+6.0为工具开发的。VisualC+是一种可视化、面向对象和采用事件驱动方式的程序开发工具,是程序开发人员的首选利器,在众多可视化程序开发工具中,其功能强大首屈一指,由VisualC+编制出的代码执行速度快、效率高。网络进程通信要解决的一个问题是进程间的相互作用模式,即应用程序问的相互作用模式。在TCP网络中,最主要的进程间相互作用的模型
19、是客户服务器模型(client-server model)。客户和服务器分别是两个应用程序(进程),客户向服务器发出服务请求,服务器作出响应,这就是客户服务器模型相互作用的简单进程,如图1.4所示:图1.4 客户机服务器相互作用模型在MFC中,为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库(Microsoft Foundation Class Libary,简称MFC),提供了两个套接字类:CAsyncSocket类和CSocket类。CAsyncSocket类,在很低的层次上对Windows Sockets API进行了封装。它的成员函数和WinSock AP
20、I的函数调用直接对应。一个CAsyncSocket对象代表了一个Windows套接字。它是网络通信的端点。该类将根据不同的Windows套接字消息调用CAsyncSocket类的回调函数。如果熟悉网络通信细节,仍希望充分利用WinSock API编程的灵活性,并能安全地控制程序,同时还希望利用Windows对网络事件通知的回调函数的便利,就应该使用CAsyncSocket类进行编程。但是必须自己处理阻塞问题、字节顺序问题和字符串转换问题。4CSocket类从CAsyncSocket类派生,是对Windows Sockets API的高级封装。CSocket类继承了CAsyncSocket类的许
21、多成员函数,用法一致。CSocket类的高级表现在三个方面:(1)CSocket结合archive类来使用套接字。(2)CSocket类更容易使用。CSocket管理了通信的许多方面,如字节顺序问题和字符串转换问题。这些在使用原始API或CAsyncSocket类时,都必须用户自己做。(3)CSocket类为Windows消息的后台处理提供了阻塞的工作模式,这是CArchive同步操作所必须的。使用CAsyncSocket类的一般步骤:服务器客户1创建一个套接字CAsyncSocket sockSrv;创建一个套接字CAsyncSocket sockClient;2创建底层套接字,获取其句柄,
22、绑定到指定端口sockSrv.Create(nPort);创建底层套接字,获取其句柄,使用默认参数sockClient.Create();3启动监听,时刻准备接受连接请求sockSrv.Listen();4请求连接到服务器sockClient.Connect(strAddr,nPort);5构造一个新的空套接口CAsyncSocket sockRecv接受连接sockSrv.Accept(sockRecv);6接受数据,发送数据sockRecv.Receive(Buff,nLen);sockRecv.Send(Buff,nLen);发送数据,接收数据sockClient.Send(Buff,n
23、Len);sockClient.Receive(Buff,nLen);7关闭套接口对象sockRecv.Close();关闭套接口对象sockClient.Close();第二章 系统设计方案2.1 系统功能要求本设计的上位机软件主要完成在通过固定域名指向电脑的公网IP后,使上位机对选定端口的连接请求进行监听,在下位机通过手机SIM卡连接上GPRS网络后,向固定域名和端口发送连接请求,上位机收到请求后与下位机建立连接,通过网络进行数据传输和控制指令的发送,从而控制下位机。2.1.1 系统总体构成无线数据传输整个系统有以下几个部分构成:1.数据传输终端(DTU)数据传输终端(DTU)主要是一个内
24、置TCP/IP协议的单片机系统。单片机系统通过对无线模块SIM900发送指令后,与远程服务器建立连接TCP后,通过GPRS网络与远程服务器进行数据通信。2.GPRS无线模块SIM900 采用内嵌TCP/IP协议处理功能的GPRS无线模块SIM900,既支持短消息收发模式,又支持GPRS无线数据传输模式,是系统的主要通信模块。3监控中心(或数据处理主机)一台与Interent网络相连的计算机,通过编写的TCP服务器,实现Scoket网络接口与数据传输终端(DTU)进行GPRS数据传输。4.GPRS无线移动网络信道GPRS通信网络是监控中心与数据传输终端(DTU)之间数据传输的桥梁,监控中心必须借
25、助GPRS无线模块SIM900。拨号联入GPRS网络,方可与数据传输终端进行远程通信。45.SIM卡GPRS无线模块SIM900中必须插有开通带有被叫数据服务业务的SIM卡,才能完成数据传输的任务。SIM卡也叫用户识别卡,其中存储着用户的数据、鉴权方法及密钥,供GSM系统对用户身份进行鉴别。同时,用户通过SIM卡完成与系统的连接和信息的交换。要想连入GPRS网络,SIM卡必须开通GPRS业务。由于不同的GPRS运营商对GPRS参数的要求不尽相同,本系统中所涉及的参数设置只适用于中国移动的GPRS网络。用户在具体应用中使用的具体参数可咨询当地网络运营商。2.1.2 软件设计要求1.具有登录界面,
26、可以设定用户名和密码。2.通过域名和端口号进行监听并建立连接。3.显示连接的设备名称和显示连接的时间。4.与下位机进行通信。控制下位机的LED灯的亮灭。5.历史连接信息和消息收发的记录。2.2 软件结构设计软件采用Visual C+6.0进行编程,其功能强大,且我对其比较熟悉。创建的是基于对话框的工程。本设计建立了两对话框,主对话框完成上位机的功能,子对话框完成登录界面的功能。具体结构如下:(1)登录对话框可以进行用户名密码的输入,输入的用户名与密码与初始记录的用户名和密码进行比较,相同则进入上位机软件,有一个不同则提示错误。用户名和密码修改部分需要输入原用户名和密码,以及新的用户名和密码,修
27、改后新的用户名和密码本保存,登陆时即可采用新的。(2)上位机软件界面分为多个模块,具体有Socket套接字的部分,完成监听和连接的建立和断开,并保存和显示连接信息;信息发送和接收部分,对数据进行收发,并保存信息。控制部分,对LED灯进行控制。此外还有对记录信息的清除等小的部分。(3)由于是基于对话框的工程,且建立的两个对话框,就涉及到对话框的显示问题,还有一个部分即是对对话框显示的处理,使子对话框先于主对话框显示,即先显示登陆对话框,在用户名和密码正确的情况下显示主对话框。软件结构图如图2.1所示。图2.1 软件结构图2.3 设计方案的选择 上位机软件开发有许多成熟的软件,包括专门的上位机组态
28、软件,在开发语言上也有很多的选择,比如一般的C#,VB,VF,C+等等,在数据库方面也有很多可供选择,包括Access,SQL等。 在本设计中,我选用的是VC+6.0这个软件,C+面向对象语言直观易懂,执行效率高,且使用较多,比较熟悉和方便移植。VC+6.0这个软件是微软公司开发的,具有很好的易用性,具备各种控件,在网络编程上也有封装好的Socket套接字可以直接使用,不用开发人员涉及底层协议的编写和数据收发的打包和解包。在数据库上,由于我使用的是基于对话框的工程,不方便连接数据库,又因为我要保存的数据形式并不复杂,因此,我采取的是C+语言中对文件的操作方法,通过对文本文件的读写来完成数据库的
29、工作,使软件更精简,执行效率更高。第三章 软件程序设计3.1 上位机软件设计上位机软件采用模块化设计,采用VC+语言进行开发,并配合Socket网络编程技术实现了通信操作,上位机软件设计要充分考虑系统功能的完整性和扩展性,同时应有良好的可靠性和兼容性。软件运行总体运行流程图如图3.1所示:图3.1 程序流程图3.1.1 登陆界面程序设计登陆界面的程序主要由两部分组成,用户名和密码的判断部分及修改用户名和密码并保存的部分。判断的部分,其功能是判断用户名和密码是否都输入正确,正确进入上位机对话框,不正确则给予提示。修改时,则首先判断输入的原用户名和密码是否正确,不正确给予提示,正确则将新的用户名和
30、密码进行保存。流程图如图3.2所示。图3.2 登陆对话框程序流程1. 用户名及密码判断:程序首先打开保存用户名和密码的文档,读取其中保存的数据,而后将从相应编辑框得到的数据与读取的数据比较,若都相同则登录对话框返回1,否则提示错误。UpdateData(TRUE);CStdioFile file;file.Open("F:name.txt",CFile:modeReadWrite);/打开文件file.ReadString(a);/读取文件file.Close();/关闭文件file.Open("F:numb.txt",CFile:modeReadWri
31、te);file.ReadString(b);file.Close();if(m_UsrName=a&&m_UsrNumb=b)/用户名,密码比较CDialog:OnOK();/对话框返回elseMessageBox("用户名或密码错误!");2.修改用户名及密码程序:同样,程序打开并读取文档中保存的用户名和密码,与用户输入的原用户名和密码进行比较,若相同,则更新相应的文档,将新的数据保存,若错误则弹出提示。UpdateData(TRUE);CStdioFile file;file.Open("F:name.txt",CFile:mode
32、ReadWrite);file.ReadString(ID);file.Close();file.Open("F:numb.txt",CFile:modeReadWrite);file.ReadString(NUMB);file.Close();if(m_Fusrname=ID&&m_Fnumb=NUMB) /判断原用户名和密码是否正确ID=m_Newusrname;NUMB=m_Newnumb;file.Open("F:name.txt",CFile:modeCreate|CFile:modeReadWrite); /将文件变为空白fi
33、le.WriteString(ID);file.Close();file.Open("F:numb.txt",CFile:modeCreate|CFile:modeReadWrite);file.WriteString(NUMB);file.Close();elseMessageBox("原用户名或密码错误!");登陆界面如图3.3所示:图3.3 登陆界面3.1.2 上位机界面程序设计上位机程序部分要完成TCP/IP连接的建立,显示当前连接的端口和时间,消息的发送,接收和相应的显示,还有控制命令的发出,以及保存设备连接的历史信息和消息记录,因此分为多个部
34、分。上位机程序流程图如图3.4所示。图3.4 上位机程序流程图1. 监听部分: 要使用Socket套接字首先需要创建一个Socket类,在类中添加相应的事件处理函数,以便对话框中的函数对其进行调用,按下监听后,套接字对设置的端口进行连接创建,调用相应的函数进行监听。m_sListenSocket.Create(m_nServPort);/连接端口并创建m_sListenSocket.Listen();/监听2.发送并保存消息: 发送消息时,套接字需要获取消息的长度,在Socket连接正常的情况下,将消息通过Send函数发送出去,发送的消息给予TCP/IP传输协议。在发送的同时打开相应的文档,将
35、发送的消息及发送的时间保存到文档中。UpdateData(TRUE);if(!m_strMsg.IsEmpty()nLen=m_strMsg.GetLength();/获取消息长度nSent=m_sConnectSocket.Send(LPCTSTR(m_strMsg),nLen);/发送消息if(nSent!=SOCKET_ERROR)m_listSent.AddString(m_strMsg);File.Open("F:2.txt",CFile:modeReadWrite);File.Seek(0,CFile:end);/跳到文件尾a=time.Format("
36、;%Y-%m-%d %H:%Mrn");File.WriteString(a);File.Seek(0,CFile:end);b.Format("SEND:%srn",m_strMsg);File.WriteString(b);File.Close();UpdateData(FALSE);elseAfxMessageBox("信息发送错误",MB_OK|MB_ICONSTOP);m_strMsg.Empty();/清除UpdateData(FALSE);3.接收并保存消息: 接收消息时,通过Receive函数将收到的消息保存到缓冲区中,而后从缓
37、冲区中提取显示在列表中,同时打开相应的文档将接收的消息及接收的时间保存到文档中。char *pBuf=new char1025;int nBufSize=1024;int nReceived;CString a,b;CString strReceived;nReceived=m_sConnectSocket.Receive(pBuf,nBufSize);/接收消息if(nReceived!=SOCKET_ERROR)pBufnReceived=NULL;/目的是实现类型转换strReceived=pBuf;m_listReceived.AddString(strReceived);File.O
38、pen("F:2.txt",CFile:modeReadWrite);File.Seek(0,CFile:end);a=time.Format("%Y-%m-%d %H:%Mrn");/得到系统时间File.WriteString(a);File.Seek(0,CFile:end);b.Format("GET:%srn",strReceived);File.WriteString(b);File.Close();UpdateData(FALSE);elseAfxMessageBox("信息接收错误",MB_OK|M
39、B_ICONSTOP);4.LED灯控制程序部分: LED灯控制的实现是利用套接字的Send函数向下位机发送协商好的特定的字符串数据,下位机收到后进行解析,转化成为控制指令,控制LED灯的点亮和熄灭。打开LED灯:int nLen;int nSent;UpdateData(TRUE);CString str="+IPD5:LEDONOK" /发送命令nLen=str.GetLength();nSent=m_sConnectSocket.Send(LPCTSTR(str),nLen);if(nSent!=SOCKET_ERROR)m_listSent.AddString(&q
40、uot;打开LED灯。");UpdateData(FALSE);elseAfxMessageBox("发送错误",MB_OK|MB_ICONSTOP);UpdateData(FALSE);关闭LED灯:int nLen;int nSent;UpdateData(TRUE);CString str="+IPD6:LEDOFFOK"/关闭nLen=str.GetLength();nSent=m_sConnectSocket.Send(LPCTSTR(str),nLen);if(nSent!=SOCKET_ERROR)m_listSent.AddSt
41、ring("关闭LED灯。");UpdateData(FALSE);elseAfxMessageBox("发送错误",MB_OK|MB_ICONSTOP);UpdateData(FALSE);上位机界面如图3.5所示。图3.5 上位机界面3.1.3 对话框显示程序设计本设计有两个对话框,运行软件时,需要先显示登陆对话框,成功登陆后再显示上位机软件对话框。在工程文件的类试图下,到初始化函数中添加相应函数。程序设计如下:CDlg_Login CDlg_Login;/对登陆对话框的声明if(CDlg_Login.DoModal()=IDCANCEL)/登陆对话
42、框登陆成功return true;CSocketServerDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();第四章 软件测试4.1 软件调试上位机的调试通过与下位机连接进行,下位机使用的是通过单片机控制的SIM900A开发板,SIM900A开发板如图4.1所示:图4.1 SIM900A开发板4.1.1 网络连接调试由于学校实验室是局域网,实验室的每台电脑都被分配了固定的内网静态IP,而开发板通过电话卡连接上GPRS网络后,被随机分配的动态IP为公网IP地址,显然不能由上位机向开发板发起连接,所以必须由下位机向上位机发起TC
43、P/IP连接,公网IP要与内网IP进行连接,必须要由路由器进行端口映射,然而学校实验室包括寝室的情况决定我无法进行端口映射这一操作,所以改用无线上网卡的方式进行上位机的网络连接,这样,上位机所在的电脑将具有一个公网IP,方便我进行调试。在调试过程中有一个小问题,即无线上网卡每次连接到网络时,得到的公网IP都是随机分配的,这给调试带来了不便,使得每次调试都要修改下位机发起连接时需要的IP地址,为了解决这个问题,我在上位机软件运行的电脑使用了花生壳动态域名软件。花生壳是一套完全免费的动态域名解析服务客户端软件。当您安装并注册该项服务,无论您在任何地点、任何时间、使用任何线路,均可利用这一服务建立拥
44、有固定域名的互联网主机。“花生壳”支持的线路包括普通电话线、isdn、adsl、有线电视网络、双绞线到户的宽带网和其它任何能够提供互联网真实ip的接入服务线路,而无论连接获得的ip属于动态还是静态。7如图4.2所示:图4.2 花生壳软件界面当无线网卡连接后,启动花生壳软件,它会自动指向电脑的IP地址,下位机只需访问固定的域名就可以与上位机进行连接。4.1.2 程序调试由于本工程有两个对话框,在实际操作中,要求是登陆对话框先显示,在用户输入用户名和密码并正确后,上位机软件界面才出现。但在界面进行设计时,我的主对话框设计的是上位机软件界面,子对话框为登陆界面,因此执行时总是直接出现上位机界面,而登
45、陆界面不显示。通过查找资料,得知需要采用子对话框调用主对话框的方法。在工程的App类中找到初始化函数InitInstance(),在主对话框执行前添加domodal()函数即可。在数据保存方面,由于基于对话框的工程不便于调用Access等数据库软件,因此我想到用读写文本文件的方式,采取日志的形式。在保存文本文件时,遇到保存文件总是覆盖的问题,于是采用了一种笨方法,即每次写文档之前先将文档的内容读出并保存,再将要写入的内容添加在原来内容的末尾,再写入文档中,但发现尽管在保存的字符串末尾加了回车换行符,但文档内保存时不能换行。查找资料后换了一种保存内容的方法,即使用跳到文件内容末尾的语句。改变后发
46、现保存时不能换行保存的问题也解决,分析是原来的保存方式是字符串相加的方式,使回车换行符添加方式不对,调整后得以解决。4.1.3 登陆界面调试在登陆界面输入用户名及密码后点击确定按钮,正确即进入上位机界面,错误则提示,初始用户名为gprs,密码123456,登陆界面如图4.3所示。图4.3 登陆界面错误提示如图4.4所示。图4.4 登陆界面错误提示4.1.4 上位机界面调试登陆界面正确输入用户名和密码后,即进入上位机界面,在上位机软件的服务器名称处输入固定域名,端口号,点击监听,上位机即开始监听连接,如图4.5所示:图4.5 上位机设置界面当下位机发起连接后,上位机收到请求,建立连接并显示连接成功,在主界面显示连接设备名称和连接时间,下位机发送“Please send
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作中的团队协作与创新思维培养
- 工业风住宅的设计美学
- 工业风空间设计与装修元素
- 工作流程自动化及智能办公应用
- 工作效率提升的方法论
- 工作场所安全管理与改进措施
- 工程施工人员安全教育培训
- 工程机械的节能减排结构设计
- 工程设计与创新的案例研究
- 工程项目管理与数据决策支持
- 2025中考英语阅读考点专项突破训练:旅游(学生版+解析)
- 专利培训试题及答案
- 国际工程投标管理制度
- 2025河南濮阳市南乐县纪委监委招聘编外看护队员笔试易考易错模拟试题(共500题)试卷后附参考答案
- 广东省珠海市香洲区2023-2024学年七年级下学期语文期末试卷(含答案)
- 健康体检教学课件
- 纳米技术在靶向药物delivery中的创新应用-洞察阐释
- 口译人员保密协议书
- 2025浙江中考:政治必背知识点
- 2025江西中考:历史高频考点
- 品控考试题及答案
评论
0/150
提交评论