CN101808144A - 一种客户端ip配置方法 - Google Patents
一种客户端ip配置方法 Download PDFInfo
- Publication number
- CN101808144A CN101808144A CN 201010153295 CN201010153295A CN101808144A CN 101808144 A CN101808144 A CN 101808144A CN 201010153295 CN201010153295 CN 201010153295 CN 201010153295 A CN201010153295 A CN 201010153295A CN 101808144 A CN101808144 A CN 101808144A
- Authority
- CN
- China
- Prior art keywords
- configuration
- client
- information
- server end
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种客户端IP配置方法,其特征在于,步骤为:先通过串口或网络接收数据,随后向服务器端发送IP配置请求,若客户端接受到的是配置应答信号,则首先向服务器端发送IP信息发送请求,随后发送本客户端的本地IP信息;若客户端接受到的是IP配置命令,则先向服务器端发送准备好命令,再获取新的IP配置信息并将其存储起来,随后向服务器端发送IP信息发送请求,最后将存储的新的IP配置信息读出发送给服务器端;若客户端接受到的是配置完成信息,则执行IP配置,若配置成功则发送IP配置成功命令并执行主程序,若失败则重新发送配置请求信息。本发明的优点是:能够使得客户端设备自动配置IP。
Description
技术领域
本发明涉及一种客户端IP配置方法,尤其涉及一种基于嵌入式设备的客户端IP配置方法,用于通过串口或网络对多个客户端进行IP配置。
背景技术
随着嵌入式技术的发展,嵌入式***越来越广泛地用于工业控制、视频监控、智能家电以及消费电子等领域。尤其是linux操作***的发展使得嵌入式***得以更普遍的应用。专用性强是嵌入式***一个很突出的特点。不仅表现在其软件***和硬件的结合非常紧密,而且在不同的环境下其运行参数也会有很大的不同。因此,对每个***运行参数的配置显得极其重要。
在某些领域内,往往有一个服务器端及多个基于嵌入式***的客户端。由于嵌入式***的专用性,这些客户端的参数配置不尽相同。例如,在目前的视频监控***中,尤其是无线视频监控***中,每个监控节点需要将本地的数据传输到远端的服务器。但是对于不同的运用场合,嵌入式平台的本地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等参数的配置。具体的文件读写存储工作可由操作***完成,并且linux的文件***也具有掉电非易失的特点,这种方法省去了对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还可以添加数据库,将所有的设备结点进行管理,为服务器软件功能的拓展提供空间。
Claims (1)
1.一种客户端IP配置方法,其特征在于,步骤为:
步骤1、客户端启动后,运行操作***,随后检测服务器端是否通过串口向本设备发送数据,或通过网络判断服务器端是否开启并发送连接请求,若是则进入下一步,若否则运行主程序;
步骤2、客户端通过串口或网络向服务器端发送IP配置请求,随后接受从服务器端发回的命令并进行判断是否是配置应答信号、IP配置命令或配置完成信息这三个信号中的一种,若是则进入下一步,否则继续接受命令;
步骤3、若客户端接受到的是配置应答信号,则首先向服务器端发送IP信息发送请求,随后发送本客户端的本地IP信息;
若客户端接受到的是IP配置命令,则先向服务器端发送准备好命令,再获取新的IP配置信息并将其存储起来,随后向服务器端发送IP信息发送请求,最后将存储的新的IP配置信息读出发送给服务器端;
若客户端接受到的是配置完成信息,则执行IP配置,若配置成功则发送IP配置成功命令并执行主程序,若失败则重新发送配置请求信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010153295 CN101808144B (zh) | 2010-04-22 | 2010-04-22 | 一种客户端ip配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010153295 CN101808144B (zh) | 2010-04-22 | 2010-04-22 | 一种客户端ip配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101808144A true CN101808144A (zh) | 2010-08-18 |
CN101808144B CN101808144B (zh) | 2013-02-13 |
Family
ID=42609763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010153295 Expired - Fee Related CN101808144B (zh) | 2010-04-22 | 2010-04-22 | 一种客户端ip配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101808144B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391173A (zh) * | 2001-06-08 | 2003-01-15 | 提阿克股份有限公司 | 网络装置、伺服装置、客户装置、网络ip地址赋予方法与程序 |
CN1845554A (zh) * | 2005-12-06 | 2006-10-11 | 华为技术有限公司 | 一种在3g网络中动态分配ip地址的控制方法 |
US20090287847A1 (en) * | 2008-05-16 | 2009-11-19 | Hon Hai Precision Industry Co., Ltd. | System and method for offering a fixed internet protocol address to a client device |
CN101656763A (zh) * | 2009-09-11 | 2010-02-24 | 华为技术有限公司 | 一种ip地址自动分配方法、客户端及服务器 |
-
2010
- 2010-04-22 CN CN 201010153295 patent/CN101808144B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391173A (zh) * | 2001-06-08 | 2003-01-15 | 提阿克股份有限公司 | 网络装置、伺服装置、客户装置、网络ip地址赋予方法与程序 |
CN1845554A (zh) * | 2005-12-06 | 2006-10-11 | 华为技术有限公司 | 一种在3g网络中动态分配ip地址的控制方法 |
US20090287847A1 (en) * | 2008-05-16 | 2009-11-19 | Hon Hai Precision Industry Co., Ltd. | System and method for offering a fixed internet protocol address to a client device |
CN101656763A (zh) * | 2009-09-11 | 2010-02-24 | 华为技术有限公司 | 一种ip地址自动分配方法、客户端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN101808144B (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834586B2 (en) | System and method for controlling heterogeneous internet of things (IoT) devices using single application | |
CN100399305C (zh) | 计算机网络内的数据块存储 | |
US20180202680A1 (en) | Asynchronous reporting system | |
US7433982B2 (en) | Transferable component that effectuates plug-and-play | |
CN102577318A (zh) | 用于应用范围管理的方法和装置 | |
US20100169629A1 (en) | Method for configuring computer by bios, server, computer, system startup method and computer system | |
US10929621B2 (en) | Gateway device and method for managing multiple electronic tags | |
CN105117293A (zh) | Windows***环境自动化部署方法及自动部署*** | |
CN106020875A (zh) | 嵌入式终端的固件更新管理方法和装置 | |
TW201319941A (zh) | 基本輸入輸出系統網路接取技術 | |
KR101986695B1 (ko) | 네트워크 서비스 지속성 관리 | |
WO2022194301A1 (zh) | 一种具有通信单元的电动床的***程序升级方法、***和存储介质 | |
JP5629012B2 (ja) | 入力ツール呼出システム、方法およびプロキシ装置 | |
KR20180075073A (ko) | 사물인터넷 프레임워크 및 이의 운영 방법 | |
CN111726367B (zh) | 一种用户设备cpe接入绑定方法、装置、***及设备 | |
CN101808144B (zh) | 一种客户端ip配置方法 | |
CN109495298B (zh) | 在OpenStack***中管理节点的方法和装置 | |
WO2020245686A1 (en) | Configuring devices in control systems | |
CN101820427A (zh) | 一种服务器端ip配置方法 | |
CN115801852A (zh) | 用于控制下位机的方法、客户端、服务器和*** | |
US11561533B2 (en) | Streamlining the commission of network identifiers | |
US20190108077A1 (en) | System and method for mpi implementation in an embedded operating system | |
CN101876942A (zh) | 一种终端软件的测试方法及装置 | |
KR20130024857A (ko) | 디바이스 제어용 앱 처리 장치 및 방법 | |
CN103873514A (zh) | 一种应用的安装文件获取方法、***及用户设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130213 Termination date: 20140422 |