CN106325876B - 一种在线图形化编程及控制嵌入式设备的方法、系统 - Google Patents
一种在线图形化编程及控制嵌入式设备的方法、系统 Download PDFInfo
- Publication number
- CN106325876B CN106325876B CN201610748856.6A CN201610748856A CN106325876B CN 106325876 B CN106325876 B CN 106325876B CN 201610748856 A CN201610748856 A CN 201610748856A CN 106325876 B CN106325876 B CN 106325876B
- Authority
- CN
- China
- Prior art keywords
- embedded device
- browser
- programming
- inline
- server
- 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.)
- Active
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/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种在线图形化编程及控制嵌入式设备的方法,包括浏览器加载在线图形化编程资源的步骤,具体包括浏览器向服务器发起起始页请求,服务器响应并反馈超始页数据;浏览器向服务器发起资源数据请求,服务器响应并反馈资源数据,以完成在线图形化编程资源的加载,所述在线图形化编程资源中具有指向连接嵌入式设备的服务协议;浏览器与嵌入式设备建立网络链接的步骤,具体包括浏览器通过嵌入式设备的联网地址与其建立链接,并进行数据交互;所述数据交互包括将图形化编程所生成的控制指令发送至嵌入式设备;嵌入式设备接收并解析所述控制指令,执行对应的动作。本发明还提出对应上述方法的系统,解决跨平台跨设备的控制问题。
Description
技术领域
本发明涉及一种在线图形化编程及控制嵌入式设备的方法、系统。
背景技术
图形化编程,是指在图形界面上通过拖放和组合多个程序块,快速构建功能模块,点击即可运行的编程方式。这种方式无需学习编程语言的语法,也不用手工输入代码,完全省却传统编程的繁琐(安装->编辑->编译->运行…)。图形化编程,以其简单易用的界面、可视化的积木堆叠方式,让人们可以轻易地创造自己作品,如互动故事、动画、游戏、音乐和艺术等等。
在线图形化编程属于网页应用,用户无需安装应用程序,打开浏览器即可使用图形化编程,而且具有极好的跨平台跨设备运行优势,只需一个符合HTML5标准的浏览器用户便可在任何一种操作系统(Windows,Linux或Mac)或设备(PC、iPad、安卓平板)上均可运行。
在嵌入式设计领域,应用程序一般通过串口对设备进行控制,这种控制方式的缺点很明显:1)应用程序在跨平台和跨设备方面表现比较差,需要花费大量人力物力财力去为各种平台和设备去移植应用程序和测试,PC机尚可以通过USB转串口适配器去连接和控制串口,但对许多平板电脑(如iPad)来说,基本不可能使用串口,更不用说去操作。2)使用串口需要连接线,连接线的长度固定限制,使用和安装均不方便。
为克服以上缺陷,现有技术当中也提供有解决方案,例如:
对于第1点,有些新的软件技术,例如NW.js(原名node-webkit),将网页应用和浏览器打包起来成为应用程序,以达成跨平台的目的,但这种技术,安装包的体积巨大(因为内含一个浏览器),还必须为各种平台和设备提供安装包,升级应用的成本较高。
对于第2点,可以使用蓝牙或2.4G无线设备,在嵌入式板子和PC两端加装发射接收设备,达到无线使用的目的,但安装和使用上有所不便。而要在平板上控制嵌入式设备,一般只有使用蓝牙去实现。
在前述提及的在线图形化编程,正正为我们解决嵌入式设备的控制问题提供了有力的技术支撑,然而还有几点技术问题亟待解决:i)由于浏览器的安全限制,网页应用使用系统资源方面有许多限制,一来要在网页应用里使用串口,需要在PC上的Chrome浏览器上安装扩展方可使用,其它浏览器或平台均无法使用;二来平板等移动设备一般也不支持串口。ii)网页应用一般都是浏览器加载服务器上的网页等资源而生成的,网页应用一般仅和服务器进行交互(通过超文本协议HTTP进行通讯),因此要跟嵌入式设备进行实时交互,还得使用另外浏览器支持的通讯协议。
发明内容
基于背景技术,本发明提出一种在线图形化编程及控制嵌入式设备的方法、系统,将在线图形化编程的网页应用与WebSocket网络服务协助的结合实现对嵌入式设备的控制,从而完美地解决跨平台跨设备的问题,并且无需对现有系统作深度修改,从而缩短开发时间与成本;其具体技术内容如下:
本发明的在线图形化编程及控制嵌入式设备的方法,包括如下步骤:
浏览器加载在线图形化编程资源的步骤S01,具体包括
S011、浏览器向服务器发起起始页请求,服务器响应并反馈起始页数据;
S012、浏览器向服务器发起资源数据请求,服务器响应并反馈资源数据,以完成在线图形化编程资源的加载,所述在线图形化编程资源中具有指向连接嵌入式设备的服务协议;
浏览器与嵌入式设备建立网络链接的步骤S02,具体包括
S021、浏览器通过嵌入式设备的联网地址与其建立链接,并进行数据交互;所述数据交互包括将图形化编程所生成的控制指令发送至嵌入式设备;
S022、嵌入式设备接收并解析所述控制指令,执行对应的动作。
于本发明的一个或多个实施例当中,所述指向连接嵌入式设备的服务协议为WebSocket网络协议。
于本发明的一个或多个实施例当中,所述数据交互包括根据浏览器的问询,由所述嵌入式设备向浏览器反馈其硬件信息、固件版本信息或系统配置参数。
本发明的在线图形化编程及控制嵌入式设备的系统,包括
浏览器,运行于计算机或智能平台上,支持HTML5标准;
服务器,装载有在线图形化编程资源,其根据浏览器发起的请求向浏览器发送在线图形化编程资源;
嵌入式设备,接入网络与浏览器进行数据交互;
所述在线图形化编程资源中包含指向连接嵌入式设备的服务协议,所述服务器、嵌入式设备和浏览器基于所述的在线图形化编程及控制嵌入式设备的方法运作。
于本发明的一个或多个实施例当中,所述指向连接嵌入式设备的服务协议为WebSocket网络协议,所述浏览器的协议栈包括Firmata库和WebSocket客户端,所述嵌入式设备的协议栈包括Firmata固件和WebSocket服务端,并且该嵌入式设备保留原有通过串口控制的通讯协议。
于本发明的一个或多个实施例当中,所述嵌入式设备具有用于联网的WIFI或2.4G无线模块。
本发明的有益效果是:采用浏览器、服务器与嵌入式设备网络连接架构,基于WebSocket通讯方式解决了图形化编程及对嵌入式设备的跨平台互联控制问题,实现嵌入式设备的快速升级布署;其保留原来通过串口控制嵌入式设备的通讯协议,也就是说,网络相当于是个透明的传输层,应用和嵌入式两端看到的是原来的串口数据。这意味着,无需为访问串口资源而移植成普通的应用,两端的应用软件可重用原来的控制代码,无需重写新的通讯协议代码,大大缩减了开发和测试时间。
附图说明
图1为本发明的在线图形化编程及控制嵌入式设备的系统组成及数据交互示意图。
图2为本发明的浏览器和嵌入式设备的协议栈示意图。
具体实施方式
如下结合附图,对本申请方案作进一步描述:
首先,对本发明中提及的术语作简单说明,具体如下表
参见附图1,一种在线图形化编程及控制嵌入式设备的方法,包括如下步骤:
浏览器加载在线图形化编程资源的步骤S01,具体包括
S011、浏览器向服务器发起起始页请求,服务器响应并反馈起始页数据;
S012、浏览器向服务器发起资源数据请求,服务器响应并反馈资源数据,以完成在线图形化编程资源的加载,所述在线图形化编程资源中具有指向连接嵌入式设备的服务协议;
浏览器与嵌入式设备建立网络链接的步骤S02,具体包括
S021、浏览器通过嵌入式设备的联网地址与其建立链接,并进行数据交互;所述数据交互包括将图形化编程所生成的控制指令发送至嵌入式设备;
S022、嵌入式设备接收并解析所述控制指令,执行对应的动作。
所述指向连接嵌入式设备的服务协议为WebSocket网络协议。
所述数据交互包括根据浏览器的问询,由所述嵌入式设备向浏览器反馈其硬件信息、固件版本信息或系统配置参数。
参见附图1和2,一种在线图形化编程及控制嵌入式设备的系统,包括
浏览器,运行于计算机或智能平台上,支持HTML5标准;
服务器,装载有在线图形化编程资源,其根据浏览器发起的请求向浏览器发送在线图形化编程资源;
嵌入式设备,接入网络与浏览器进行数据交互;
所述在线图形化编程资源中包含指向连接嵌入式设备的服务协议,所述服务器、嵌入式设备和浏览器基于所述的在线图形化编程及控制嵌入式设备的方法运作。
所述指向连接嵌入式设备的服务协议为WebSocket网络协议,所述浏览器的协议栈包括Firmata库和WebSocket客户端,所述嵌入式设备的协议栈包括Firmata固件和WebSocket服务端,并且该嵌入式设备保留原有通过串口控制的通讯协议。
上述优选实施方式应视为本申请方案实施方式的举例说明,凡与本申请方案雷同、近似或以此为基础作出的技术推演、替换、改进等,均应视为本专利的保护范围。
Claims (6)
1.一种在线图形化编程及控制嵌入式设备的方法,其特征在于包括如下步骤:
浏览器加载在线图形化编程资源的步骤S01,具体包括
S011、浏览器向服务器发起起始页请求,服务器响应并反馈起始页数据;
S012、浏览器向服务器发起资源数据请求,服务器响应并反馈资源数据,以完成在线图形化编程资源的加载,所述在线图形化编程资源中具有指向连接嵌入式设备的服务协议;
浏览器与嵌入式设备建立网络链接的步骤S02,具体包括
S021、浏览器通过嵌入式设备的联网地址与其建立链接,并进行数据交互;所述数据交互包括将图形化编程所生成的控制指令发送至嵌入式设备;
S022、嵌入式设备接收并解析所述控制指令,执行对应的动作。
2.根据权利要求1所述的在线图形化编程及控制嵌入式设备的方法,其特征在于,所述指向连接嵌入式设备的服务协议为WebSocket网络协议。
3.根据权利要求1所述的在线图形化编程及控制嵌入式设备的方法,其特征在于,所述数据交互包括根据浏览器的问询,由所述嵌入式设备向浏览器反馈其硬件信息、固件版本信息或系统配置参数。
4.一种在线图形化编程及控制嵌入式设备的系统,其特征在于,包括
浏览器,运行于计算机或智能平台上,支持HTML5标准;
服务器,装载有在线图形化编程资源,其根据浏览器发起的请求向浏览器发送在线图形化编程资源;
嵌入式设备,接入网络与浏览器进行数据交互;
所述在线图形化编程资源中包含指向连接嵌入式设备的服务协议,所述服务器、嵌入式设备和浏览器基于权利要求1至3任意一项所述的在线图形化编程及控制嵌入式设备的方法运作。
5.根据权利要求4所述的在线图形化编程及控制嵌入式设备的系统,其特征在于,所述指向连接嵌入式设备的服务协议为WebSocket网络协议,所述浏览器的协议栈包括Firmata库和WebSocket客户端,所述嵌入式设备的协议栈包括Firmata固件和WebSocket服务端,并且该嵌入式设备保留原有通过串口控制的通讯协议。
6.根据权利要求5所述的在线图形化编程及控制嵌入式设备的系统,其特征在于,所述嵌入式设备具有用于联网的WIFI或2.4G无线模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610748856.6A CN106325876B (zh) | 2016-08-29 | 2016-08-29 | 一种在线图形化编程及控制嵌入式设备的方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610748856.6A CN106325876B (zh) | 2016-08-29 | 2016-08-29 | 一种在线图形化编程及控制嵌入式设备的方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106325876A CN106325876A (zh) | 2017-01-11 |
CN106325876B true CN106325876B (zh) | 2019-07-26 |
Family
ID=57788194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610748856.6A Active CN106325876B (zh) | 2016-08-29 | 2016-08-29 | 一种在线图形化编程及控制嵌入式设备的方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106325876B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423049A (zh) * | 2017-04-18 | 2017-12-01 | 南京凯蒙教育科技有限公司 | 实现在线编程的方法、浏览器和终端设备 |
CN109240675A (zh) * | 2017-05-10 | 2019-01-18 | 兰州大学 | 基于wifi的便携式可视化硬件编程系统及方法 |
CN107402770A (zh) * | 2017-08-10 | 2017-11-28 | 杨晓 | 一种新型的智能控制编程方法 |
CN107703818A (zh) * | 2017-10-31 | 2018-02-16 | 北方工业大学 | 基于WiFi的无线编程创客教育智能控制器系统 |
CN108334036A (zh) * | 2018-01-31 | 2018-07-27 | 广州奇芯机器人技术有限公司 | 一种图形化编程加工方法及设计方法 |
CN111667044A (zh) * | 2019-03-08 | 2020-09-15 | 北京火星人视野科技有限公司 | 一种基于图形编程的人工智能教学系统 |
CN110266701B (zh) * | 2019-06-24 | 2021-11-09 | 博普乐科技(北京)有限公司 | 智能设备数据传输方法、装置、介质及电子设备 |
CN110275787B (zh) * | 2019-06-24 | 2021-10-22 | 博普乐科技(北京)有限公司 | 在线平台数据传输方法、装置、介质及电子设备 |
CN110795086B (zh) * | 2019-11-12 | 2021-08-17 | 联想(北京)有限公司 | 控制方法、装置及电子设备 |
CN112416332B (zh) * | 2020-12-09 | 2023-10-10 | 深圳市优必选科技股份有限公司 | 一种图形化编程的界面展示方法、装置、设备及介质 |
CN117908873A (zh) * | 2024-01-25 | 2024-04-19 | 广东邦宝益智玩具有限公司 | 一种在嵌入式系统运行图形化积木编程平台的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770048A (zh) * | 2005-09-29 | 2006-05-10 | 上海电器科学研究所(集团)有限公司 | 一种嵌入式网页服务器 |
CN102130953A (zh) * | 2011-03-16 | 2011-07-20 | 迈普通信技术股份有限公司 | 一种嵌入式web系统及交互方法 |
CN102799636A (zh) * | 2012-06-26 | 2012-11-28 | 北京奇虎科技有限公司 | 移动终端显示网页的方法及系统 |
CN103873452A (zh) * | 2012-12-18 | 2014-06-18 | 北京掌汇天下科技有限公司 | 一种利用pc浏览器连接安卓设备的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521729B2 (en) * | 2013-05-23 | 2016-12-13 | Ramin Soheili | Systems and methods for programming embedded devices using graphical user interface |
-
2016
- 2016-08-29 CN CN201610748856.6A patent/CN106325876B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770048A (zh) * | 2005-09-29 | 2006-05-10 | 上海电器科学研究所(集团)有限公司 | 一种嵌入式网页服务器 |
CN102130953A (zh) * | 2011-03-16 | 2011-07-20 | 迈普通信技术股份有限公司 | 一种嵌入式web系统及交互方法 |
CN102799636A (zh) * | 2012-06-26 | 2012-11-28 | 北京奇虎科技有限公司 | 移动终端显示网页的方法及系统 |
CN103873452A (zh) * | 2012-12-18 | 2014-06-18 | 北京掌汇天下科技有限公司 | 一种利用pc浏览器连接安卓设备的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106325876A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325876B (zh) | 一种在线图形化编程及控制嵌入式设备的方法、系统 | |
US10445142B2 (en) | Edge computing platform | |
US10277702B2 (en) | Method and apparatus for accessing an enterprise resource planning system via a mobile device | |
CN105955208B (zh) | 一种基于云平台的网络机器人数据控制系统 | |
CN105487882A (zh) | 应用软件试用系统、方法及其服务器与使用者装置 | |
US10171294B2 (en) | Information processing device and system design support method | |
CN103986786A (zh) | 一种远程云桌面操作系统 | |
EP2814206B1 (en) | Upgrading computer nodes in a computer network | |
CN103562859B (zh) | 应用激活框架 | |
CN110427182A (zh) | 一种模板式建设app方法以及装置 | |
CN104010031A (zh) | 一种改善Web浏览器应用效率的分布式协同方法 | |
CN107704499A (zh) | 一种应用程序的页面跳转控制方法及装置 | |
Huang et al. | Remote mobile test system: a mobile phone cloud for application testing | |
Shulin et al. | Research and implementation of Web Services in Android network communication framework Volley | |
CN107688990A (zh) | 一种企业客户定制团建旅行平台运营管理系统 | |
CN103455459A (zh) | 向iWidget传输负载数据的方法和系统 | |
KR102526622B1 (ko) | 홈 시스템 구축 방법 | |
An et al. | Design and implementation of YANG based wireless access point controller using RPC | |
CN104065507A (zh) | 基于双平台复用技术的接入设备业务配置方法及系统 | |
CN103780673A (zh) | 一种led显示屏的控制方法 | |
CN109474944A (zh) | 一种网络设备的维护方法、装置、终端及网络设备 | |
CN105786530A (zh) | 跨平台app设计方法及系统 | |
KR101288845B1 (ko) | 멀티 모바일 서비스 시스템 및 그 방법 | |
CN111258622B (zh) | App新增功能的控制方法及装置 | |
KR100829348B1 (ko) | 모바일 확장성 생성 언어 브라우저 플랫폼을 이용하여 무선인터넷 서비스를 제공하는 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |