CN103064667A - 一种基于JavaScript扩展控制硬件设备的方法 - Google Patents
一种基于JavaScript扩展控制硬件设备的方法 Download PDFInfo
- Publication number
- CN103064667A CN103064667A CN2012105182149A CN201210518214A CN103064667A CN 103064667 A CN103064667 A CN 103064667A CN 2012105182149 A CN2012105182149 A CN 2012105182149A CN 201210518214 A CN201210518214 A CN 201210518214A CN 103064667 A CN103064667 A CN 103064667A
- Authority
- CN
- China
- Prior art keywords
- javascript
- layer
- browser
- hardware equipment
- control
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种JavaScript功能扩展的应用,基于JavaScript实现用户通过网页操控硬件设备。一种基于JavaScript实现对硬件设备控制的方法,包括下述步骤:1)在应用层,分析硬件设备在中间件层封装的对象的方法和属性,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象;2)通过中间件层,定义硬件设备提供给应用层的方法和属性;3)在Porting层,把硬件设备的功能接口,抽象为C函数接口,并连接为动态库,供中间件层调用;4)通过浏览器在页面上控制JavaScript对象的方法和属性,实现对硬件设备的控制。本发明基于JavaScript扩展控制硬件设备的方法,能够通过浏览器嵌入的JavaScript对象,方便、快捷地对单个嵌入式设备进行控制管理。
Description
技术领域
本发明涉及一种JavaScript功能扩展的应用,特别是涉及一种基于JavaScript实现用户通过网页操控硬件设备的方法。它能够通过浏览器嵌入的JavaScript对象,方便、快捷地对单个嵌入式设备进行控制管理。该发明属于嵌入式应用开发技术领域。
背景技术
随着互联网技术的发展和CPU处理能力的不断提高,浏览器上网页应用运行效率的瓶颈也逐渐消失。鉴于网页应用开发的成本低、周期短、易维护性等特点,基于浏览器+网页的开发模式得到了越来越广泛的应用。针对丰富多变的嵌入式设备,如何把这些设备的功能在这种应用模式下实现,并且还要考虑到移植性、跨平台等特性,已经成了很多开发者关注的热点。
发明内容
本发明针对现有技术不足,提出一种基于JavaScript扩展控制硬件设备的方法,实现HTML页面对硬件设备的控制。
本发明所采用的技术方案:
本发明是一种基于JavaScript实现对硬件设备控制的方法,其核心内容在于把硬件设备的功能接口映射为扩展的JavaScript对象,通过在页面上控制JavaScript对象的方法和属性,实现对硬件设备的控制。
所述基于JavaScript实现对硬件设备控制的方法,包括下述步骤:
1)在应用层,分析硬件设备在中间件层封装的对象的方法和属性,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象;
2)通过中间件层,定义硬件设备提供给应用层的方法和属性;
3)在Porting层,把硬件设备的功能接口,抽象为C函数接口,并连接为动态库,供中间件层调用;
4)通过浏览器在页面上控制JavaScript对象的方法和属性,实现对硬件设备的控制。
所述的基于JavaScript实现对硬件设备控制的方法,在应用层,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象的步骤如下:按照扩展JavaScript的命名规范,定义映射硬件设备功能接口的函数方法,并把解析和运行JavaScript对象所依赖的代码环境连接成库,供浏览器启动时加载。
所述的基于JavaScript实现对硬件设备控制的方法,在中间件层,根据C++面向对象设计方法的原则,依据应用层的业务需求,定义硬件设备提供给应用层的方法和属性。
本发明由浏览器和Web页面实现前端的业务逻辑,通过动态库的函数调用和事件的方式实现页面和硬件设备间的控制和消息传递。
如图1所示,该JavaScript扩展控制硬件设备的方法的详细流程如下:
用户通过遥控器等输入设备,发送控制事件,传递给浏览器;
浏览器启动时,加载并解析JavaScript插件,等待用户控制事件;
浏览器接受控制事件,在页面上创建JavaScript对象,并调用JavaScript对象与控制事件对应的方法;
在JavaScript对象的方法中调用中间件库中相应的C++对象的方法;
在中间件C++对象的方法中调用Porting层相应的接口;
Porting层通过设置硬件相应的寄存器控制设备进行工作。
硬件设备的响应状态通过Porting层设置的回调函数反馈到中间件层,浏览器通过调用JavaScript对象的方法,查询该响应状态,并在页面上显示给用户。
本发明的有益效果:
1、本发明基于JavaScript扩展控制硬件设备的方法,能够通过浏览器嵌入的JavaScript对象,方便、快捷地对单个嵌入式设备进行控制管理。解决了嵌入式平台不断更新换代,各种平台接口又不统一的情况下,屏蔽底层平台之间的差异,减少程序设计的复杂性,缩短软件在各个平台之间的开发时间。
2、本发明基于JavaScript扩展控制硬件设备的方法,用户可以根据自己需求,在网页上实例化JavaScript对象,调用它的方法实现对硬件设备的控制。与传统的使用浏览器B/S或C/S架构通信方式实现对嵌入式设备控制相比,该方法具有更高的实时性,可以满足对响应速度要求较高的用户需求。
3、本发明基于JavaScript扩展控制硬件设备的方法,借以实现的Porting层、中间件层和应用层代码在同一个进程空间运行,具有较高的实时性。
附图说明
图1是JavaScript控制硬件设备的流程图;
图2是JavaScript控制音视频设备流程图。
具体实施方式
实施例一:参见图1,本发明基于JavaScript实现对硬件设备控制的方法,包括下述步骤:
1)在应用层,分析硬件设备在中间件层封装的对象的方法和属性,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象;
2)通过中间件层,定义硬件设备提供给应用层的方法和属性;
3)在Porting层,把硬件设备的功能接口,抽象为C函数接口,并连接为动态库,供中间件层调用;
4)通过浏览器在页面上控制JavaScript对象的方法和属性,实现对硬件设备的控制。
实施例二:参见图1,本发明基于JavaScript实现对硬件设备控制的方法,与实施例一不同的是,进一步的,在应用层,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象的步骤如下:按照扩展JavaScript的命名规范,定义映射硬件设备功能接口的函数方法,并把解析和运行JavaScript对象所依赖的代码环境连接成库,供浏览器启动时加载。
所述的基于JavaScript实现对硬件设备控制的方法,在中间件层,根据C++面向对象设计方法的原则,依据应用层的业务需求,定义硬件设备提供给应用层的方法和属性。
实施例三:本发明基于JavaScript实现对硬件设备控制的方法,与实施例一不同的是,通过JavaScript扩展控制硬件设备的流程如下,如图1所示:
1)用户通过遥控器等输入设备,发送控制事件,传递给浏览器;
2)浏览器启动时,加载并解析JavaScript插件,等待用户控制事件;
3)浏览器接受控制事件,在页面上创建JavaScript对象,并调用JavaScript对象与控制事件对应的方法;
4)在JavaScript对象的方法中调用中间件库中相应的C++对象的方法;
5)在中间件C++对象的方法中调用Porting层相应的接口;
6)Porting层通过设置硬件相应的寄存器控制硬件设备进行工作;硬件设备的响应状态通过Porting层设置的回调函数反馈到中间件层,浏览器通过调用JavaScript对象的方法,查询该响应状态,并在页面上显示给用户。
实施例四:参见图2,本实施例以在浏览器页面通过扩展JavaScript对象控制音视频设备为例,具体说明了本发明通过JavaScript扩展控制硬件设备的工作流程。如图2所示,为页面通过扩展JavaScript对象控制音视频设备进行工作的流程:
用户通过遥控器等输入设备,发送控制事件,传递给浏览器;
浏览器启动时,加载并解析JavaScript插件,等待用户控制事件;
浏览器接受播放器控制事件,例如播放/暂停/停止等,在页面上创建播放器的JavaScript对象MediaPlayer,并调用MediaPlayer对象与控制事件对应的方法;
在MediaPlayer对象的方法中调用中间件库中Media对象的相应方法;
在中间件Media对象的方法中调用Porting层相应的接口;
Porting层通过设置音视频硬件相应的寄存器进行音视频的播放/暂停等操作。
音视频设备的响应状态通过Porting层设置的回调函数反馈到中间件层,并保存;浏览器通过调用MediaPlayer对象的方法,查询该响应状态,并在页面上显示给用户。
Claims (4)
1.一种基于JavaScript扩展控制硬件设备的方法,其特征在于,包括下述步骤:
1)在应用层,分析硬件设备在中间件层封装的对象的方法和属性,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象;
2)通过中间件层,定义硬件设备提供给应用层的方法和属性;
3)在Porting层,把硬件设备的功能接口,抽象为C函数接口,并连接为动态库,供中间件层调用;
4)通过浏览器在页面上控制JavaScript对象的方法和属性,实现对硬件设备的控制。
2.根据权利要求1所述的基于JavaScript扩展控制硬件设备的方法,其特征是:在应用层,按照浏览器扩展JavaScript对象的构造规则,编写代表该硬件设备的JavaScript对象的步骤如下:按照扩展JavaScript的命名规范,定义映射硬件设备功能接口的函数方法,并把解析和运行JavaScript对象所依赖的代码环境连接成库,供浏览器启动时加载。
3.根据权利要求1或2所述的基于JavaScript扩展控制硬件设备的方法,其特征是:在中间件层,根据C++面向对象设计方法的原则,依据应用层的业务需求,定义硬件设备提供给应用层的方法和属性。
4.根据权利要求3所述的基于JavaScript扩展控制硬件设备的方法,其特征是:
1)用户通过遥控器等输入设备,发送控制事件,传递给浏览器;
2)浏览器启动时,加载并解析JavaScript插件,等待用户控制事件;
3)浏览器接受控制事件,在页面上创建JavaScript对象,并调用JavaScript对象与控制事件对应的方法;
4)在JavaScript对象的方法中调用中间件库中相应的C++对象的方法;
5)在中间件C++对象的方法中调用Porting层相应的接口;
6)Porting层通过设置硬件相应的寄存器控制硬件设备进行工作;硬件设备的响应状态通过Porting层设置的回调函数反馈到中间件层,浏览器通过调用JavaScript对象的方法,查询该响应状态,并在页面上显示给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105182149A CN103064667A (zh) | 2012-12-06 | 2012-12-06 | 一种基于JavaScript扩展控制硬件设备的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105182149A CN103064667A (zh) | 2012-12-06 | 2012-12-06 | 一种基于JavaScript扩展控制硬件设备的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103064667A true CN103064667A (zh) | 2013-04-24 |
Family
ID=48107305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105182149A Pending CN103064667A (zh) | 2012-12-06 | 2012-12-06 | 一种基于JavaScript扩展控制硬件设备的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064667A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068854A (zh) * | 2015-08-07 | 2015-11-18 | 杭州古北电子科技有限公司 | 一种使用相同规则实现对不同产品的控制的方法 |
CN105447153A (zh) * | 2015-11-28 | 2016-03-30 | 讯美电子科技有限公司 | 本地硬件设备与Web应用实时通讯系统 |
CN105743955A (zh) * | 2014-12-11 | 2016-07-06 | 中国科学院声学研究所 | 一种扩展JavaScript对象方法 |
CN106325224A (zh) * | 2015-06-17 | 2017-01-11 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种生产线设备的控制方法和装置 |
CN107580253A (zh) * | 2017-09-08 | 2018-01-12 | 青岛海信宽带多媒体技术有限公司 | 一种报错页面处理方法和装置 |
CN107862810A (zh) * | 2017-09-28 | 2018-03-30 | 中国民生银行股份有限公司 | 一种基于浏览器的自助终端控制系统 |
CN107992291A (zh) * | 2017-11-16 | 2018-05-04 | 上海南潮信息科技有限公司 | 应用于嵌入式应用程序的Ruff OS物联网操作系统 |
CN108197024A (zh) * | 2017-12-28 | 2018-06-22 | 深圳Tcl数字技术有限公司 | 嵌入式浏览器调试方法、调试终端及计算机可读存储介质 |
WO2018153061A1 (zh) * | 2017-02-24 | 2018-08-30 | 百富计算机技术(深圳)有限公司 | 基于pos支付终端的网络应用运行方法、终端及非易失性可读存储介质 |
CN108513161A (zh) * | 2018-04-02 | 2018-09-07 | 深圳Tcl新技术有限公司 | 一种电视设备操作界面的展示方法、电视设备及存储介质 |
CN109634751A (zh) * | 2018-10-19 | 2019-04-16 | 深圳市网旭科技有限公司 | 一种利用electron框架实现应用层和底层通信的方法 |
CN109831701A (zh) * | 2019-01-28 | 2019-05-31 | 四川长虹电器股份有限公司 | 数字电视设备浏览器以及跨页面系统事件的扩展方法 |
CN110457145A (zh) * | 2019-08-19 | 2019-11-15 | 四川久远银海软件股份有限公司 | 一种跨平台的浏览器外设调用方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196460A1 (en) * | 2001-06-22 | 2002-12-26 | Parry Travis J. | Remote access to print job retention |
CN101399828A (zh) * | 2007-09-29 | 2009-04-01 | 中国电信股份有限公司 | 基于web流媒体实现视频彩铃和彩话的系统及方法 |
CN101789964A (zh) * | 2010-01-19 | 2010-07-28 | 山东高效能服务器和存储研究院 | 一种对嵌入式设备的远程控制与数据监测方法 |
-
2012
- 2012-12-06 CN CN2012105182149A patent/CN103064667A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196460A1 (en) * | 2001-06-22 | 2002-12-26 | Parry Travis J. | Remote access to print job retention |
CN101399828A (zh) * | 2007-09-29 | 2009-04-01 | 中国电信股份有限公司 | 基于web流媒体实现视频彩铃和彩话的系统及方法 |
CN101789964A (zh) * | 2010-01-19 | 2010-07-28 | 山东高效能服务器和存储研究院 | 一种对嵌入式设备的远程控制与数据监测方法 |
Non-Patent Citations (1)
Title |
---|
李增辉: "Android浏览器应用开发平台的研究", 《中国优秀硕士学位论文全文数据库》, no. 09, 15 September 2011 (2011-09-15) * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743955B (zh) * | 2014-12-11 | 2018-11-13 | 中国科学院声学研究所 | 一种扩展JavaScript对象方法 |
CN105743955A (zh) * | 2014-12-11 | 2016-07-06 | 中国科学院声学研究所 | 一种扩展JavaScript对象方法 |
CN106325224B (zh) * | 2015-06-17 | 2019-10-08 | 北京北方华创微电子装备有限公司 | 一种生产线设备的控制方法和装置 |
CN106325224A (zh) * | 2015-06-17 | 2017-01-11 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 一种生产线设备的控制方法和装置 |
CN105068854B (zh) * | 2015-08-07 | 2018-04-06 | 杭州古北电子科技有限公司 | 一种使用相同规则实现对不同产品的控制的方法 |
CN105068854A (zh) * | 2015-08-07 | 2015-11-18 | 杭州古北电子科技有限公司 | 一种使用相同规则实现对不同产品的控制的方法 |
CN105447153A (zh) * | 2015-11-28 | 2016-03-30 | 讯美电子科技有限公司 | 本地硬件设备与Web应用实时通讯系统 |
WO2018153061A1 (zh) * | 2017-02-24 | 2018-08-30 | 百富计算机技术(深圳)有限公司 | 基于pos支付终端的网络应用运行方法、终端及非易失性可读存储介质 |
US10929212B2 (en) | 2017-02-24 | 2021-02-23 | Pax Computer Technology (Shenzhen) Co., Ltd | Method of running network application based on pos payment terminal, terminal, and non volatile readable storage medium |
CN107580253B (zh) * | 2017-09-08 | 2020-10-23 | 青岛海信宽带多媒体技术有限公司 | 一种报错页面处理方法、装置、机顶盒及存储介质 |
CN107580253A (zh) * | 2017-09-08 | 2018-01-12 | 青岛海信宽带多媒体技术有限公司 | 一种报错页面处理方法和装置 |
CN107862810A (zh) * | 2017-09-28 | 2018-03-30 | 中国民生银行股份有限公司 | 一种基于浏览器的自助终端控制系统 |
CN107992291A (zh) * | 2017-11-16 | 2018-05-04 | 上海南潮信息科技有限公司 | 应用于嵌入式应用程序的Ruff OS物联网操作系统 |
CN108197024A (zh) * | 2017-12-28 | 2018-06-22 | 深圳Tcl数字技术有限公司 | 嵌入式浏览器调试方法、调试终端及计算机可读存储介质 |
CN108197024B (zh) * | 2017-12-28 | 2022-01-04 | 深圳Tcl数字技术有限公司 | 嵌入式浏览器调试方法、调试终端及计算机可读存储介质 |
CN108513161A (zh) * | 2018-04-02 | 2018-09-07 | 深圳Tcl新技术有限公司 | 一种电视设备操作界面的展示方法、电视设备及存储介质 |
CN109634751A (zh) * | 2018-10-19 | 2019-04-16 | 深圳市网旭科技有限公司 | 一种利用electron框架实现应用层和底层通信的方法 |
CN109634751B (zh) * | 2018-10-19 | 2022-11-29 | 深圳市网旭科技有限公司 | 一种利用electron框架实现应用层和底层通信的方法 |
CN109831701A (zh) * | 2019-01-28 | 2019-05-31 | 四川长虹电器股份有限公司 | 数字电视设备浏览器以及跨页面系统事件的扩展方法 |
CN109831701B (zh) * | 2019-01-28 | 2021-12-21 | 四川长虹电器股份有限公司 | 数字电视设备浏览器以及跨页面系统事件的扩展方法 |
CN110457145A (zh) * | 2019-08-19 | 2019-11-15 | 四川久远银海软件股份有限公司 | 一种跨平台的浏览器外设调用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064667A (zh) | 一种基于JavaScript扩展控制硬件设备的方法 | |
Ma et al. | When mobile terminals meet the cloud: computation offloading as the bridge | |
CN102915375B (zh) | 一种基于布局分区的网页加载方法 | |
CN104866327B (zh) | 一种php开发方法及框架 | |
CN102938776A (zh) | 基于ajax技术的动态页面处理系统 | |
CN103617066A (zh) | 一种工作流引擎及其实现方法 | |
CN104182234A (zh) | 一种业务处理方法和业务系统 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN105681841A (zh) | 一种基于浏览器的视频播放控制方法及系统 | |
CN104281456B (zh) | 一种基于云计算的油气田开发工程应用软件系统 | |
CN104391868A (zh) | 动态页面静态化的装置和方法 | |
CN104050212A (zh) | 调用网络应用以利用本地设备性能的方法及系统 | |
CN103853621A (zh) | 一种跨进程交互方法及相关终端设备 | |
CN104243620A (zh) | 一种高性能的web生产环境架构 | |
CN103685564A (zh) | 引入插件化应用能力层的行业应用在线运营云平台架构 | |
CN103268230A (zh) | 用于构建可拓展服务的云计算信息管理平台的方法 | |
CN105867944A (zh) | Web前端数据操作层及其实现方法 | |
CN107483412B (zh) | 一种HTML5 web worker迁移方法及系统 | |
CN102117294A (zh) | 一种基于ajax技术的信息系统 | |
CN102137162B (zh) | 基于软件即服务模式的cad集成系统 | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及系统 | |
CN205103599U (zh) | 一种跨境贸易bpo应用云终端装置 | |
CN104679489A (zh) | 一种在网络游戏客户端中内置网络浏览器的系统及方法 | |
CN105407150A (zh) | 应用程序远程控制方法 | |
CN103164409A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130424 |