CN103116519A - 控制嵌入式设备的方法及web嵌入式*** - Google Patents
控制嵌入式设备的方法及web嵌入式*** Download PDFInfo
- Publication number
- CN103116519A CN103116519A CN2011103662734A CN201110366273A CN103116519A CN 103116519 A CN103116519 A CN 103116519A CN 2011103662734 A CN2011103662734 A CN 2011103662734A CN 201110366273 A CN201110366273 A CN 201110366273A CN 103116519 A CN103116519 A CN 103116519A
- Authority
- CN
- China
- Prior art keywords
- embedded device
- intermediate data
- control command
- execution result
- browser
- 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
- Stored Programmes (AREA)
Abstract
本发明公开一种控制嵌入式设备的方法,该嵌入式设备运行HTTPD进程,包括如下步骤:浏览器向所述嵌入式设备发送包含控制命令的请求报文;所述嵌入式设备调用所述HTTPD进程,由所述HTTPD进程建立子进程处理所述请求报文,获取中间数据;所述嵌入式设备继而对所述中间数据进行解释获得控制命令;执行所述控制命令得到执行结果;将所述执行结果返回给所述HTTPD进程,并由HTTPD进程将包含有执行结果的响应报文返回给浏览器;所述浏览器解析响应报文,呈现控制命令的执行结果。此外,还公开一种应用上述方法的WEB嵌入式***。上述方法和***,通过在嵌入式设备接入客户端,对嵌入式设备进行控制,从而不会受限于嵌入式***开发所处于的阶段。
Description
【技术领域】
本发明涉及嵌入式,尤其是涉及一种控制嵌入式设备的方法及WEB嵌入式***。
【背景技术】
随着WEB技术的不断发展与完善,与嵌入式技术领域结合日益密切。
嵌入式***是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用***对功能、可靠性、成本、体积、功耗严格要求的专用计算机***。随着信息技术的发展和数字化产品的普及,嵌入式***应用与WEB的结合愈加密切。
嵌入式***开发的程序代码运行在硬件开发板上,在开发阶段能够使用串口线实时的查看开发板的信息与***运行情况,或者直接执行一些***命令。但在其他很多使用环境(如测试环境)下,则无法提供串口线来控制嵌入式设备,使开发工作(如测试)不能很好的进行,无法为上一阶段(如开发阶段)的工作回馈更详细有用的信息。
【发明内容】
基于此,有必要提供一种在开发的各个阶段都能对嵌入式设备进行控制的方法。
一种控制嵌入式设备的方法,该嵌入式设备运行HTTPD进程,包括如下步骤:浏览器向所述嵌入式设备发送包含控制命令的请求报文;所述嵌入式设备调用所述HTTPD进程,由所述HTTPD进程建立子进程处理所述请求报文,获取中间数据;所述嵌入式设备继而对所述中间数据进行解释获得控制命令;执行所述控制命令得到执行结果;将所述执行结果返回给所述HTTPD进程,并由HTTPD进程将包含有执行结果的响应报文返回给浏览器;所述浏览器解析响应报文,呈现控制命令的执行结果。
优选地,所述控制命令是shell类型的命令。
优选地,所述获取中间数据的步骤具体包括:对接收到的请求报文一一分解并把分解出来的结果作为环境变量;判断所述环境变量是否是shell类型,若是则将所述环境变量作为中间数据。
优选地,所述得到控制命令的步骤具体包括:判断所述中间数据是否完整,若是则进一步判断所述中间数据的关键字是否匹配,若匹配则得到执行命令。
优选地,所述执行控制命令得到执行结果的步骤具体为:创建管道和fork()子进程,执行shell命令,判断执行时间是否超过5秒,若是,则结束执行命令,否则直接读取执行结果。
此外,还提供一种WEB嵌入式***。
一种WEB嵌入式***,包括运行浏览器的客户端、运行HTTPD进程和解释器的嵌入式设备,其中:所述客户端的浏览器用于向所述嵌入式设备发送包含控制命令的请求报文;所述嵌入式设备调用所述HTTPD进程,由所述HTTPD进程建立子进程处理所述请求报文,获取中间数据;所述解释器对获得的中间数据进行解释获得控制命令,并执行所述控制命令得到执行结果;嵌入式设备将执行结果返回给所述HTTPD进程,并由HTTPD进程将包含有执行结果的响应报文返回给浏览器。
优选地,所述浏览器用于发送包含shell类型的控制命令的请求报文。
优选地,所述HTTPD进程创建的子进程对接收到的请求报文一一分解并把分解出来的结果作为环境变量,将判断为shell类型的环境变量作为中间数据。
优选地,所述解释器获得执行命令具体是:判断所述中间数据是否完整,若是则进一步判断所述中间数据的关键字是否匹配,若匹配则得到执行命令。
优选地,所述解释器获取执行结果具体是:创建管道和fork( )子进程,执行shell命令,判断执行时间是否超过5秒,若是,则结束执行命令,否则直接读取执行结果。
上述方法和***,通过在嵌入式设备接入客户端,利用web互联的方式,使客户端上运行的浏览器向嵌入式设备发送控制命令,对嵌入式设备进行控制,从而不会受限于嵌入式***开发所处于的阶段。
【附图说明】
图1为一实施例的控制嵌入式设备的方法;
图2为一实施例的WEB嵌入式***。
【具体实施方式】
针对在嵌入式***在开发过程中除开发阶段外,不能用串口线对嵌入式设备进行控制的问题,提供一实施例的控制嵌入式设备的方法。需要说明的是,本实施例的控制方法主要是针对互联网应用的嵌入式设备,通常这种嵌入式设备上应当运行与web相关的进程,例如本实施例中,被控制的嵌入式设备上运行HTTPD进程。HTTPD是Apache超文本传输协议(HTTP)服务器的主程序,被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
如图1所示,本实施例的方法包括如下步骤:
S110:浏览器向所述嵌入式设备发送包含控制命令的请求报文。浏览器运行于某个客户端,用以发出控制命令。客户端与作为服务器的嵌入式设备之间建立WEB连接,并传递报文进行交互。当要对嵌入式设备进行控制时,浏览器向所述嵌入式设备发送包含控制命令的请求报文。本实施例中控制命令是shell命令。
S120:嵌入式设备调用所述HTTPD进程,由所述HTTPD进程建立子进程处理所述请求报文,获取中间数据。嵌入式设备运行的HTTPD进程被调用,监听嵌入式设备的HTTP/HTTPS端口,当监听到HTTP请求时,HTTPD进程建立子进程处理所述请求报文。
对所述请求报文的处理主要包括:将请求报文进行分解,获得报文数据,并判断报文数据的变量name的类型是否为预设类型。本实施例中预设类型相应为shell类型。
S130:所述嵌入式设备继而对所述中间数据进行解释获得控制命令。对于分解后的请求报文,其变量name类型为shell类型时,能否以此为依据得到控制命令仍然需要进行判断。即判断所述中间数据是否完整,若是则进一步判断所述中间数据的关键字是否匹配,若匹配则得到执行命令,否则将中间数据丢弃。关键字是事先约定的字符串,用以验证控制该嵌入式设备的客户端发出的控制命令的来源是否合法。
S140:执行所述控制命令得到执行结果。对于合法的控制命令,创建管道和fork( )子进程,执行shell命令,判断执行时间是否超过5秒,若是,则结束执行命令,否则直接读取执行结果。当然在其他实施例中,也可以不对执行的响应时间进行限制,或者设置其他的响应时间。
S150:将所述执行结果返回给所述HTTPD进程,并由HTTPD进程将包含有执行结果的响应报文返回给浏览器。此步骤为HTTP交互的常规方式,不再赘述。
S160:所述浏览器解析响应报文,呈现控制命令的执行结果。根据浏览器呈现的执行结果即可获知控制该嵌入式设备的效果。
如图2所示,为一实施例的WEB嵌入式***。该WEB嵌入式***包括运行浏览器110的客户端100、运行HTTPD进程210和解释器220的嵌入式设备200。客户端100与作为服务器的嵌入式设备200之间建立WEB连接,并传递报文进行交互。
浏览器110运行于客户端100,用以发出控制命令。当要对嵌入式设备200进行控制时,浏览器110向嵌入式设备200发送包含控制命令的请求报文。本实施例中浏览器110用于发送包含shell类型的控制命令的请求报文。
嵌入式设备200上运行HTTPD进程210。HTTPD进程210是Apache超文本传输协议(HTTP)服务器的主程序,被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
HTTPD进程210用于监听嵌入式设备200的HTTP/HTTPS端口,并当监听到HTTP请求时,HTTPD进程210建立子进程处理请求报文。HTTPD进程210将经过处理的请求报文,即中间数据发送给解释器220。HTTPD进程210创建的子进程对接收到的请求报文一一分解并把分解出来的结果作为环境变量,将判断为shell类型的环境变量作为中间数据。
解释器220对于接收到的中间数据,首先判断中间数据的变量name的类型是否为预设类型,本实施例中,预设类型为shell类型。对于变量name的类型符合预设类型的中间数据,解释器220还需要判断所述中间数据是否完整,若是则进一步判断所述中间数据的关键字是否匹配,若匹配则得到执行命令。关键字是事先约定的字符串,用以验证控制该嵌入式设备的客户端发出的控制命令的来源是否合法。
解释器220创建管道和fork( )子进程,执行shell命令,并判断执行时间是否超过5秒,若是,则结束执行命令,否则直接读取执行结果。当然在其他实施例中,也可以不对执行的响应时间进行限制,或者设置其他的响应时间。
解释器220将执行结果返回给所述HTTPD进程210,并由HTTPD进程210将包含有执行结果的响应报文返回给浏览器110。
HTTPD进程创建的子进程对接收到的请求报文一一分解并把分解出来的结果作为环境变量,将判断为shell类型的环境变量作为中间数据。
上述方法和***,通过在嵌入式设备接入客户端,利用web互联的方式,通过客户端上运行的浏览器向嵌入式设备发送控制命令,对嵌入式设备进行控制,从而不会受限于嵌入式***开发所处于的阶段。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种控制嵌入式设备的方法,该嵌入式设备运行HTTPD进程,其特征在于,包括如下步骤:
浏览器向所述嵌入式设备发送包含控制命令的请求报文;
所述嵌入式设备调用所述HTTPD进程,由所述HTTPD进程建立子进程处理所述请求报文,获取中间数据;
所述嵌入式设备继而对所述中间数据进行解释获得控制命令;
执行所述控制命令得到执行结果;
将所述执行结果返回给所述HTTPD进程,并由HTTPD进程将包含有执行结果的响应报文返回给浏览器;
所述浏览器解析响应报文,呈现控制命令的执行结果。
2.如权利要求1所述的控制嵌入式设备的方法,其特征在于,所述控制命令是shell类型的命令。
3.如权利要求2所述的控制嵌入式设备的方法,其特征在于,所述获取中间数据的步骤具体包括:
对接收到的请求报文一一分解并把分解出来的结果作为环境变量;
判断所述环境变量是否是shell类型,若是则将所述环境变量作为中间数据。
4.如权利要求2所述的控制嵌入式设备的方法,其特征在于,所述得到控制命令的步骤具体包括:
判断所述中间数据是否完整,若是则进一步判断所述中间数据的关键字是否匹配,若匹配则得到执行命令。
5.如权利要求2所述的控制嵌入式设备的方法,其特征在于,所述执行控制命令得到执行结果的步骤具体为:创建管道和fork( )子进程,执行shell命令,判断执行时间是否超过5秒,若是,则结束执行命令,否则直接读取执行结果。
6.一种WEB嵌入式***,其特征在于,包括运行浏览器的客户端、运行HTTPD进程和解释器的嵌入式设备,其中:
所述客户端的浏览器用于向所述嵌入式设备发送包含控制命令的请求报文;
所述嵌入式设备调用所述HTTPD进程,由所述HTTPD进程建立子进程处理所述请求报文,获取中间数据;所述解释器对获得的中间数据进行解释获得控制命令,并执行所述控制命令得到执行结果;
嵌入式设备将执行结果返回给所述HTTPD进程,并由HTTPD进程将包含有执行结果的响应报文返回给浏览器。
7.如权利要求6所述的嵌入式***,其特征在于,所述浏览器用于发送包含shell类型的控制命令的请求报文。
8.如权利要求7所述的嵌入式***,其特征在于,所述HTTPD进程创建的子进程对接收到的请求报文一一分解并把分解出来的结果作为环境变量,将判断为shell类型的环境变量作为中间数据。
9.如权利要求7所述的嵌入式***,其特征在于,所述解释器获得执行命令具体是:判断所述中间数据是否完整,若是则进一步判断所述中间数据的关键字是否匹配,若匹配则得到执行命令。
10.如权利要求7所述的嵌入式***,其特征在于,所述解释器获取执行结果具体是:创建管道和fork( )子进程,执行shell命令,判断执行时间是否超过5秒,若是,则结束执行命令,否则直接读取执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110366273.4A CN103116519B (zh) | 2011-11-17 | 控制嵌入式设备的方法及web嵌入式*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110366273.4A CN103116519B (zh) | 2011-11-17 | 控制嵌入式设备的方法及web嵌入式*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103116519A true CN103116519A (zh) | 2013-05-22 |
CN103116519B CN103116519B (zh) | 2016-12-14 |
Family
ID=
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202432A (zh) * | 2014-09-28 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 一种远程web管理***及管理方法 |
CN106453679A (zh) * | 2016-09-30 | 2017-02-22 | 上海斐讯数据通信技术有限公司 | 一种非阻塞获取域名ip地址的方法与*** |
CN109740342A (zh) * | 2018-12-20 | 2019-05-10 | 深圳市网心科技有限公司 | 获取shell执行权限的方法、***、计算机装置及存储介质 |
CN113391931A (zh) * | 2021-06-03 | 2021-09-14 | 深圳市有方科技股份有限公司 | 基于蓝牙的远程控制方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040136246A1 (en) * | 2003-01-10 | 2004-07-15 | Fujitsu Limited | Server apparatus having function of changing over from old to new module |
CN1929399A (zh) * | 2006-09-12 | 2007-03-14 | 成都迈普产业集团有限公司 | 嵌入式Web网管***及其交互方法 |
CN101778130A (zh) * | 2009-12-30 | 2010-07-14 | 四川长虹电器股份有限公司 | 机顶盒的远程管理方法 |
CN102130953A (zh) * | 2011-03-16 | 2011-07-20 | 迈普通信技术股份有限公司 | 一种嵌入式web***及交互方法 |
CN102164102A (zh) * | 2011-04-29 | 2011-08-24 | 中山大学 | 一种嵌入式家庭网关web服务器*** |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040136246A1 (en) * | 2003-01-10 | 2004-07-15 | Fujitsu Limited | Server apparatus having function of changing over from old to new module |
CN1929399A (zh) * | 2006-09-12 | 2007-03-14 | 成都迈普产业集团有限公司 | 嵌入式Web网管***及其交互方法 |
CN101778130A (zh) * | 2009-12-30 | 2010-07-14 | 四川长虹电器股份有限公司 | 机顶盒的远程管理方法 |
CN102130953A (zh) * | 2011-03-16 | 2011-07-20 | 迈普通信技术股份有限公司 | 一种嵌入式web***及交互方法 |
CN102164102A (zh) * | 2011-04-29 | 2011-08-24 | 中山大学 | 一种嵌入式家庭网关web服务器*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202432A (zh) * | 2014-09-28 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 一种远程web管理***及管理方法 |
CN104202432B (zh) * | 2014-09-28 | 2020-01-07 | 上海斐讯数据通信技术有限公司 | 一种远程web管理***及管理方法 |
CN106453679A (zh) * | 2016-09-30 | 2017-02-22 | 上海斐讯数据通信技术有限公司 | 一种非阻塞获取域名ip地址的方法与*** |
CN109740342A (zh) * | 2018-12-20 | 2019-05-10 | 深圳市网心科技有限公司 | 获取shell执行权限的方法、***、计算机装置及存储介质 |
CN113391931A (zh) * | 2021-06-03 | 2021-09-14 | 深圳市有方科技股份有限公司 | 基于蓝牙的远程控制方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239839B2 (en) | Asynchrony debugging using web services interface | |
Yuksekkaya et al. | A GSM, internet and speech controlled wireless interactive home automation system | |
US8769502B2 (en) | Template based asynchrony debugging configuration | |
US7721262B2 (en) | System, methods and apparatus for markup language debugging | |
PL2381649T3 (pl) | Sposób i system do rozszerzania możliwości urządzeń wbudowanych z wykorzystaniem klientów sieciowych | |
WO2001057823A3 (en) | Apparatus and method for web-based tool management | |
CN103336780A (zh) | 设备信息实时监控*** | |
WO2008126796A1 (ja) | サービス・プログラムを生成する技術 | |
JP2009053740A (ja) | 操作ログを記録するためのシステム、方法およびコンピュータ・プログラム | |
Xu et al. | Eaaas: Edge analytics as a service | |
TW200719182A (en) | Content recovery mode for portlets | |
WO2013056922A3 (de) | Verfahren zum aufruf eines client-programms | |
CN104394226A (zh) | 通过网页实现远程桌面控制的***及方法 | |
CN103701779A (zh) | 一种二次访问网站的方法、装置及防火墙设备 | |
TW200511088A (en) | Method and system for input an output of data with non-standard I/O devices for web applications | |
CN103324567B (zh) | 一种应用引擎的调试方法和调试*** | |
WO2020155765A1 (zh) | 移动终端爬取数据的方法、装置、移动终端和存储介质 | |
WO2001057651A3 (en) | System and method for user interface translation | |
WO2004059480A3 (en) | Accessing computational grids | |
CN105407150A (zh) | 应用程序远程控制方法 | |
CN103116519A (zh) | 控制嵌入式设备的方法及web嵌入式*** | |
CN105072198B (zh) | 基于b/s模式的pc监控***及方法 | |
CN103116519B (zh) | 控制嵌入式设备的方法及web嵌入式*** | |
KR20110098055A (ko) | 제어 시스템간 통신 장치 | |
US8166174B2 (en) | Methods and systems for providing proprietary access to a server |
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 |