专利名称:一种客户端ip配置方法
技术领域:
本发明涉及一种客户端IP配置方法,尤其涉及一种基于嵌入式设备的客户端IP 配置方法,用于通过串口或网络对多个客户端进行IP配置。
背景技术:
随着嵌入式技术的发展,嵌入式系统越来越广泛地用于工业控制、视频监控、智能 家电以及消费电子等领域。尤其是Iinux操作系统的发展使得嵌入式系统得以更普遍的应 用。专用性强是嵌入式系统一个很突出的特点。不仅表现在其软件系统和硬件的结合非常 紧密,而且在不同的环境下其运行参数也会有很大的不同。因此,对每个系统运行参数的配
置显得极其重要。在某些领域内,往往有一个服务器端及多个基于嵌入式系统的客户端。由于嵌入 式系统的专用性,这些客户端的参数配置不尽相同。例如,在目前的视频监控系统中,尤其 是无线视频监控系统中,每个监控节点需要将本地的数据传输到远端的服务器。但是对于 不同的运用场合,嵌入式平台的本地IP地址、远端服务器的IP地址有所不同以及所要求的 视频质量也不同,这就需要对每个监控节点的嵌入式系统进行单独的配置。若不事先在每 个客户端内烧录程序,使其自动更新配置,将会带来很大的麻烦,但是目前为止还没有这样 一种方法。
发明内容
本发明的目的是提供一种能够使得客户端设备自动配置IP的方法。为了达到上述目的,本发明的技术方案是提供了 一种客户端IP配置方法,其特征 在于,步骤为步骤1、客户端启动后,运行操作系统,随后检测服务器端是否通过串口向本设备 发送数据,或通过网络判断服务器端是否开启并发送连接请求,若是则进入下一步,若否则 运行主程序;步骤2、客户端通过串口或网络向服务器端发送IP配置请求,随后接受从服务器 端发回的命令并进行判断是否是配置应答信号、IP配置命令或配置完成信息这三个信号中 的一种,若是则进入下一步,否则继续接受命令;步骤3、若客户端接受到的是配置应答信号,则首先向服务器端发送IP信息发送 请求,随后发送本客户端的本地IP信息;若客户端接受到的是IP配置命令,则先向服务器端发送准备好命令,再获取新的 IP配置信息并将其存储起来,随后向服务器端发送IP信息发送请求,最后将存储的新的IP 配置信息读出发送给服务器端;若客户端接受到的是配置完成信息,则执行IP配置,若配置成功则发送IP配置成 功命令并执行主程序,若失败则重新发送配置请求信息。本发明的优点是能够使得客户端设备自动配置IP ;通过串口或者网络的方法在应用层进行配置,目前一般的嵌入式系统均支持网络和串口通信方式,这样简化了开发流程;另外在应用层开发可以省去对flash驱动的进一步开发;基于MSComm控件的串口通信 方式开发简单,易实现,而基于网络的通信方法具有更好的鲁棒性和通用性。
图1为本发明提供的一种客户端IP配置方法的流程图;图2为服务器端的流程图。
具体实施例方式以下结合实施例来具体说明本发明。实施例如图1所示,为本发明提供的一种客户端IP配置方法的流程图,其步骤为步骤1、客户端启动后,运行操作系统,随后检测服务器端是否通过串口向本设备 发送数据,或通过网络判断服务器端是否开启并发送连接请求,若是则进入下一步,若否则 运行主程序;步骤2、客户端通过串口或网络向服务器端发送IP配置请求,随后接受从服务器 端发回的命令并进行判断是否是配置应答信号、IP配置命令或配置完成信息这三个信号中 的一种,若是则进入下一步,否则继续接受命令;步骤3、若客户端接受到的是配置应答信号,则首先向服务器端发送IP信息发送 请求,随后发送本客户端的本地IP信息;若客户端接受到的是IP配置命令,则先向服务器端发送准备好命令,再获取新的 IP配置信息并将其存储起来,随后向服务器端发送IP信息发送请求,最后将存储的新的IP 配置信息读出发送给服务器端;若客户端接受到的是配置完成信息,则执行IP配置,若配置成功则发送IP配置成 功命令并执行主程序,若失败则重新发送配置请求信息。本发明将嵌入式通信服务程序放在应用程序的开始,即直到应用程序工作后才检 测串口或者网络状态来判断是否需要更新系统参数。若需要则将更新参数存入指定的文件 中,供应用程序读取。同时调用shell脚本完成本地IP等参数的配置。具体的文件读写存 储工作可由操作系统完成,并且Iinux的文件系统也具有掉电非易失的特点,这种方法省 去了对flash驱动的要求,开发比较简单。同时也能满足实际要求。如图2所示,若采用本发明提供的一种客户端IP配置方法,则服务器端的IP配置 方法为步骤1、与作为客户端的嵌入式设备建立连接,若采用串口通信时,服务器打开后 不停地向串口发送串口打开信息,若采用网络通信时,当服务器打开后打开相应的端口侦 听客户端是否有连接请求;步骤2、若服务器接受到客户端发来的IP配置请求,则发送配置应答信号;步骤3、若接收到IP信息发送请求,则准备好接收,收到客户端的IP信息后经过处 理显示到相应的界面上;若用户选择对客户端重新配置IP,则在设置好新的IP信息后,服务器向客户端发送IP配置命令,然后等待客户端返回准备好信息后,发送新的IP信息,最后接收客户端返回的更新的IP信息并将其显示;若用户完成配置,服务器将发送配置完成命令到客户端,等收到客户端的IP配置 结束命令后,关闭串口或者网络,退出程序。可以采用MFC中的MSComm串口操作控件来实现串口通信,直接调用接口函数对串 口进行操作。MSComm(Microsoft Communication Control)是微软公司提供的简化windows 下串行通信编程的ActiveX控件,可为应用程序提供串行通信功能。使用该控件为程序员 串口通信编程节省了很多的时间。在串口通讯过程中,当发送数据、接收到数据或者产生传 输错误时,会触发MSComm控件的OnComm事件,可以通过判断CommEvent属性值获得事件类 型,再根据事件类型进行相应数据处理。具体的来说,它提供了两种通信问题的方法一种 是事件驱动方法,另一种是查询法。事件驱动法是当串口的接收缓冲器中字符数大于一定 值时(可以通过Tthreshold设置),产生OnComm事件,用户从缓冲区中读取数据。查询方 式可以在MFC中增加一个定时器,按照一定的频率去检测是否有CommEvent事件发生,然后 读取接收缓冲区的数据。MFC是Windows API与C++的结合,它为界面设计提供了便捷,大大简化了设计工 作,但是在实际的运用中需要注意以下问题。1.在系统上电后,作为客户端的嵌入式设备上的程序开始需要检测串口端是否有 数据发送,此时串口检测函数需要等待数秒,在这期间串口若无数据则不进行参数更新。这 时串口的超时参数应该设置的比较短(通过options. c_cc[VTIME]参数进行设置),以免程 序一直处于等待串口数据的死锁状态。当检测到串口有数据发送后,进入配置状态,则应该 将串口的超时参数设置比较长,以便当用户输入比较慢时会丢失数据。2.在作为服务器端的PC机与作为客户端的嵌入式系统进行通信时,嵌入式设备 相对PC来说,其对串口缓冲区发送和接收数据的速度会慢很多,而PC机发送和接收数据比 较快,其时间可以忽略不计。因此,在实际通信中,嵌入式设备发送和接收数据并不能和PC 机同步,嵌入式系统的串口一次接收到的数据可能并不是我们想象的那样,能得到和PC端 发送的完全相同的信息(相同长度,相同的起始端的数据序列)。为了得到完整的信息,PC 端软件和嵌入式设备的串口都需要等待一段时间后进行指令的识别。由于指令和数据的长 度不同,所以等待的时间也不一样长,为了解决等待时间问题和提高指令的可识别性和健 壮性,可以在每个指令加入起始和结束标志,在串口接收到的数据中查找指令的起始位,当 找到起始位后,一直接收串口数据直到得到结束位为至,将接收到的指令作为待识别指令, 然后进行指令的识别,采用这种方法,便可以解决串口传输中的同步问题,提高了系统的鲁 棒性。3.服务器端的软件设计时,在OnComm中断函数中应该尽量少得做数据的处理工 作,因为作为中断函数运行时间过长将影响系统的稳定性,导致软件崩溃。建议的做法是, 在OnComm函数中仅仅进行串口缓冲区数据的读取,将数据放入一个全局变量当中,当串口 打开时,新建一个线程,该线程的主要工作处理接收到的数据,并做出相应的显示工作等。4. MFC的MSComm控件不支持USB转串口。在试验中发现运用MSComm控件实现的 服务器软件在标准串口下工作正常,但是若使用笔记本采用USB转串口进行通信时发送函 数出错,无法正常地发送数据。这样就限制了其应用,因为一般嵌入式设备的工作现场无法提供台式计算机。 由于基于MFC的设计无法满足在各种情况下的运用,可以选择网络通信方式进行参数的配置。作为客户端的嵌入式系统通常支持网络功能,采用TCP/IP通信协议可保障信 息传输的可靠性,不需要对要发送的数据做任何封装。服务器软件设计为sever端,并将其 设置为多线程方式,可同时响应多个客户的请求。嵌入式设备作为client端,当其上电运 行后向固定端口发送socket请求,若服务器开启,则建立连接,嵌入式设备进入设置状态。 当配置结束后,嵌入式设备向服务器发送结束信息,服务器关闭相应的socket线程。可以 采用Java语言进行服务器软件的设计。Java系统可以运行在不同的操作系统和硬件上, 移植性好,并且Java有非常丰富的类和库函数,节省开发周期。另外Java还可以添加数据 库,将所有的设备结点进行管理,为服务器软件功能的拓展提供空间。
权利要求
一种客户端IP配置方法,其特征在于,步骤为步骤1、客户端启动后,运行操作系统,随后检测服务器端是否通过串口向本设备发送数据,或通过网络判断服务器端是否开启并发送连接请求,若是则进入下一步,若否则运行主程序;步骤2、客户端通过串口或网络向服务器端发送IP配置请求,随后接受从服务器端发回的命令并进行判断是否是配置应答信号、IP配置命令或配置完成信息这三个信号中的一种,若是则进入下一步,否则继续接受命令;步骤3、若客户端接受到的是配置应答信号,则首先向服务器端发送IP信息发送请求,随后发送本客户端的本地IP信息;若客户端接受到的是IP配置命令,则先向服务器端发送准备好命令,再获取新的IP配置信息并将其存储起来,随后向服务器端发送IP信息发送请求,最后将存储的新的IP配置信息读出发送给服务器端;若客户端接受到的是配置完成信息,则执行IP配置,若配置成功则发送IP配置成功命令并执行主程序,若失败则重新发送配置请求信息。
全文摘要
本发明提供了一种客户端IP配置方法,其特征在于,步骤为先通过串口或网络接收数据,随后向服务器端发送IP配置请求,若客户端接受到的是配置应答信号,则首先向服务器端发送IP信息发送请求,随后发送本客户端的本地IP信息;若客户端接受到的是IP配置命令,则先向服务器端发送准备好命令,再获取新的IP配置信息并将其存储起来,随后向服务器端发送IP信息发送请求,最后将存储的新的IP配置信息读出发送给服务器端;若客户端接受到的是配置完成信息,则执行IP配置,若配置成功则发送IP配置成功命令并执行主程序,若失败则重新发送配置请求信息。本发明的优点是能够使得客户端设备自动配置IP。
文档编号H04L29/06GK101808144SQ20101015329
公开日2010年8月18日 申请日期2010年4月22日 优先权日2010年4月22日
发明者张重阳, 申景双 申请人:上海惠豫电气成套设备有限公司