CN110535949A - 一种兼容多种嵌入式产品的web功能实现方法 - Google Patents
一种兼容多种嵌入式产品的web功能实现方法 Download PDFInfo
- Publication number
- CN110535949A CN110535949A CN201910817817.0A CN201910817817A CN110535949A CN 110535949 A CN110535949 A CN 110535949A CN 201910817817 A CN201910817817 A CN 201910817817A CN 110535949 A CN110535949 A CN 110535949A
- Authority
- CN
- China
- Prior art keywords
- function
- control interface
- web
- equipment control
- json
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种兼容多种嵌入式产品的web功能实现方法,包括如下步骤:定义统一的设备控制接口;实现设备端的功能以及所述设备控制接口;实现web服务器功能以及JSON‑RPC调用机制,动态绑定所述设备控制接口;实现并封装JSON‑RPC对所述设备控制接口的功能调用,将获取的JSON返回数据作为结果呈现。本发明一方面能够为多种嵌入式产品实现统一的web架构,不但在开发的嵌入式产品种类较多时可以更方便地进行管理,同时还可以有效降低开发的工作量;另一方面还能让产品功能开发和web功能开发实现隔离,可以有效提高软件复用度和开发效率。
Description
技术领域
本发明属于通信技术领域,具体涉及一种兼容多种嵌入式产品的web功能实现方法。
背景技术
目前嵌入式产品涉及到我们生活的方方面面,产品门类众多,大部分产品都具备web 方式管理产品的功能,由于嵌入式产品众多,每个嵌入式产品都是独立设计实现该web功能,没有统一的标准和架构来实现各个产品和各个厂家web管理功能的开发,每个产品的web server和web页面都需要重新开发,无法复用和统一。现有产品基本上都是针对一个特定类型产品开发的实现方案,没有考虑多个产品实现的通用性。而且大部分基于开源项目boa、lighttpd等基础上实现的,动态交互主要采用cgi机制,前后端开发没有很好的实现隔离。
发明内容
针对现有技术中所存在的不足,本发明提供了一种让多种嵌入式产品的web实现统一架构、产品功能开发和web功能开发实现分离的兼容多种嵌入产品的web功能实现方法。
一种兼容多种嵌入式产品的web功能实现方法,包括如下步骤:
S1:定义统一的设备控制接口;
S2:实现设备端的功能以及所述设备控制接口;
S3:实现web服务器功能以及JSON-RPC调用机制,动态绑定所述设备控制接口;
S4:实现并封装JSON-RPC对所述设备控制接口的功能调用,将获取的JSON返回数据作为结果呈现。
进一步地,所述步骤S2中实现所述设备控制接口的方法,包括如下步骤:
S21:定义输入功能码、输入JSON参数以及返回JSON参数;
S22:实现统一的设备控制接口方法,根据输入功能码定义调用到具体功能;
S23:编译输出设备动态链接库文件。
相比于现有技术,本发明具有如下有益效果:
本发明一方面能够为多种嵌入式产品实现统一的web架构,不但在开发的嵌入式产品种类较多时可以更方便地进行管理,同时还可以有效降低开发的工作量;另一方面还能让产品功能开发和web功能开发实现隔离,可以有效提高软件复用度和开发效率。
附图说明
图1为本发明中兼容多种嵌入式产品的web功能实现方法的流程示意图。
具体实施方式
为了使发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
一种兼容多种嵌入式产品的web功能实现方法,如图1所示,包括如下步骤:
S1:定义统一的设备控制接口;
S2:实现设备端的功能以及所述设备控制接口;
S3:实现web服务器功能以及JSON-RPC调用机制,动态绑定所述设备控制接口;
S4:实现并封装JSON-RPC对所述设备控制接口的功能调用,将获取的JSON返回数据作为结果呈现。
在步骤S1中,所述统一的设备控制接口,其接口函数的函数形式可以是:cJSON*device_ctrl(cJSON*params)。在步骤S3中,所述动态绑定可以采用dlopen函数来实现。所述JSON-RPC调用机制、实现并封装JSON-RPC对所述设备控制接口的功能调用等属于现有技术,在此不予赘述。所述设备端以及web服务器根据需求不同可以有不同的功能设计,实现其功能属于现有技术,不是本发明的重点。所述JSON返回数据可由设备开发者定义,其返回到html页面调用。本方案在进行web功能实现方法之前需先设计兼容多种嵌入产品的web软件架构,具体列举一种实施例如下:所述web软件架构包括前端和后端,前端实现UI呈现和用户交互,包括Device view(可采用html+css)、Device Control、 Device Model以及Device API(包括统一的设备控制接口和JS接口等);后端实现web 服务器以及设备核心功能,包括Device Driver(设备端驱动软件)、Device App(设备端应用功能软件)、Webserver(设备端web服务器功能模块)。所述前端通过http协议与浏览器客户端交互,所述后端通过JSON-RPC协议与浏览器客户端交互。所述web软件架构具有模块独立、设备控制功能接口标准化的特点。
本发明之所以实现前后端隔离,是基于如下考虑:现有技术中的一般采用boa等一些开源软件来实现嵌入式产品的web功能,这些web软件架构的特点就是前后端开发没有隔离,开发维护不方便。而本发明的方案可以使前后端开发隔离,开发维护更加方便。
本发明之所以实现统一的web架构,是基于如下考虑:①由于嵌入式产品的特殊性,其能用于实现web功能的资源很少,开发普通(非嵌入式)产品的web功能所采用的技术框架通常不适用于嵌入式产品。②由于每种嵌入式产品都属于特定领域开发,而特定领域产品开发人员通常不会考虑和其他产品的通用接口实现的问题,因此在传统的嵌入式开发中本领域技术人员没有动机去将统一的web架构应用于嵌入式产品的web功能实现。③申请人发现当开发的嵌入式产品越来越多时,一方面由于不同的产品都是各自单独实现web 功能,管理起来会很不方便,维护成本高;另一方面每次新的嵌入式产品开发都要重新实现web功能,这样会增加很多开发工作量。本发明为嵌入式产品实现了统一的web架构,不但方便管理和维护,还能有效减少开发工作量,降低了开发成本。
本方案颠覆了传统的开发方式,巧妙地采用JSON RPC机制,通过定义标准的设备控制和访问接口,只要设备端按照定义好的接口实现功能,就能基于该方案实现web功能对接开发,达到能够兼容和应用于多种嵌入式产品的效果。本发明一方面能够为多种嵌入式产品实现统一的web架构,不但在开发的嵌入式产品种类较多时可以更方便地进行管理,同时还可以有效降低开发的工作量;另一方面还能让产品功能开发和web功能开发实现隔离,可以有效提高软件复用度和开发效率。
作为优化的方案,所述步骤S2中实现所述设备控制接口的方法,包括如下步骤:
S21:定义输入功能码、输入JSON参数以及返回JSON参数;
S22:实现统一的设备控制接口方法,根据输入功能码定义调用到具体功能;
S23:编译输出设备动态链接库文件(如libdevice.so)。
所述S22中实现统一的设备控制接口方法,包括如下步骤:先实现上文定义的设备控制接口函数(即cJSON*device_ctrl(cJSON*params))统一接口方法,再解析参数params,进而可通过不同参数调用不同的功能。所述输入功能码的定义值与具体要实现的功能相对应,每个功能对应一个单独的定义值。比如可定义Opcode:1,然后所述输入JSON参数的定义可如下表1所示:
表1:输入JSON参数
具体来说,输入JSON参数包括来源类型、连接类型、MTU(最大传输单元)、MAC地址等参数,其中来源类型分为web、app和其它,连接类型可分为static、dhcp以及pppoe。若连接类型为static,则还包括IP地址、子网掩码、网关、主dns和备用dns等参数;若连接类型为pppoe,则还包括pppoe用户名、pppoe密码、服务器名称、拨号类型等参数,其中拨号类型可分为自动、按需和手动。
作为示例的具体定义可如下所示:
所述返回JSON参数的定义可如下表2所示:
表2:返回JSON参数
具体来说,返回JSON参数包括错误码以及返回参数。
作为示例的具体定义可如下所示:
以上所述仅为本发明的优选实施方式,本发明的保护范围并不仅限于上述实施方式,凡是属于本发明原理的技术方案均属于本发明的保护范围。对于本领域的技术人员而言,在不脱离本发明的原理的前提下进行的若干改进,这些改进也应视为本发明的保护范围。
Claims (2)
1.一种兼容多种嵌入式产品的web功能实现方法,其特征在于,包括如下步骤:
S1:定义统一的设备控制接口;
S2:实现设备端的功能以及所述设备控制接口;
S3:实现web服务器功能以及JSON-RPC调用机制,动态绑定所述设备控制接口;
S4:实现并封装JSON-RPC对所述设备控制接口的功能调用,将获取的JSON返回数据作为结果呈现。
2.根据权利要求1所述的一种兼容多种嵌入式产品的web功能实现方法,其特征在于:
所述步骤S2中实现所述设备控制接口的方法,包括如下步骤:
S21:定义输入功能码、输入JSON参数以及返回JSON参数;
S22:实现统一的设备控制接口方法,根据功能码定义调用到具体功能;
S23:编译输出设备动态链接库文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817817.0A CN110535949A (zh) | 2019-08-30 | 2019-08-30 | 一种兼容多种嵌入式产品的web功能实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817817.0A CN110535949A (zh) | 2019-08-30 | 2019-08-30 | 一种兼容多种嵌入式产品的web功能实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110535949A true CN110535949A (zh) | 2019-12-03 |
Family
ID=68665677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910817817.0A Pending CN110535949A (zh) | 2019-08-30 | 2019-08-30 | 一种兼容多种嵌入式产品的web功能实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535949A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295263A (zh) * | 2008-06-23 | 2008-10-29 | 北京中星微电子有限公司 | 多媒体工程及对第三方库文件进行编译的系统和方法 |
US20170374155A1 (en) * | 2016-06-27 | 2017-12-28 | Miaobo Chen | Common device interface framework for iot/smart device application |
-
2019
- 2019-08-30 CN CN201910817817.0A patent/CN110535949A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295263A (zh) * | 2008-06-23 | 2008-10-29 | 北京中星微电子有限公司 | 多媒体工程及对第三方库文件进行编译的系统和方法 |
US20170374155A1 (en) * | 2016-06-27 | 2017-12-28 | Miaobo Chen | Common device interface framework for iot/smart device application |
Non-Patent Citations (1)
Title |
---|
赵彩云等: "嵌入式数据库JDBC接口技术研究", 《贵州大学学报(自然科学版)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201862B (zh) | web服务压力测试方法及装置 | |
US9578088B2 (en) | Globally distributed utility computing cloud | |
CN104866327B (zh) | 一种php开发方法及框架 | |
CN102902537B (zh) | 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架 | |
CN102591724B (zh) | 消息交互方法及装置 | |
CN100426750C (zh) | 一种生成两套网管系统的方法 | |
US9747353B2 (en) | Database content publisher | |
US20070260702A1 (en) | Web browser architecture for virtual machine access | |
CN102495735A (zh) | web 端UI组件应用框架系统 | |
CN109561078A (zh) | 一种外链url资源调用方法及装置 | |
WO2009111799A2 (en) | Globally distributed utility computing cloud | |
CN203086514U (zh) | 移动开放交互系统 | |
US20110320286A1 (en) | System And Method For Integrating An Ad Banner With A Calling Application | |
US7281236B1 (en) | System and methods for developing and deploying a remote domain system | |
CN104301401A (zh) | 一种基于快速服务封装的移动应用平台 | |
CN103530338A (zh) | 在计算设备上进行页面渲染的框架及生成页面的方法 | |
Song et al. | Customizing multi-tenant SaaS by microservices: a reference architecture | |
CN102137162B (zh) | 基于软件即服务模式的cad集成系统 | |
CN106506210B (zh) | 一种集合多种协议实现接口界面化的方法及其系统 | |
CN101409731A (zh) | 通过ie远程对家庭电器设备控制的方法 | |
CN103067511A (zh) | 一种http请求处理的控制方法 | |
CN110535949A (zh) | 一种兼容多种嵌入式产品的web功能实现方法 | |
CN105260179A (zh) | 一种实现flex与servlet交互的方法 | |
CN106371848A (zh) | 一种web开发框架支持Odata的实现方法 | |
Sefid‐Dashti et al. | A reference architecture for mobile SOA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191203 |
|
RJ01 | Rejection of invention patent application after publication |