CN112333252B - 一种在线物联网实验操作系统 - Google Patents
一种在线物联网实验操作系统 Download PDFInfo
- Publication number
- CN112333252B CN112333252B CN202011163525.9A CN202011163525A CN112333252B CN 112333252 B CN112333252 B CN 112333252B CN 202011163525 A CN202011163525 A CN 202011163525A CN 112333252 B CN112333252 B CN 112333252B
- Authority
- CN
- China
- Prior art keywords
- development board
- experiment
- code
- matching development
- online
- 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
Images
Classifications
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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]
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种在线物联网实验操作系统,其特征在于:包括线上编程系统、代码推送模块、用户鉴权中心、实验配套开发板和实验配套开发板配置模块。注册用户在线上编程系统的编程页面编写完源代码后,线上编程系统的后端服务模块对源代码进行编辑处理,然后发送给代码推送模块,通过代码推送模块发送给实验开发板。与现有技术相比,本发明的优点在于:线上编程系统方便用户用户通过Web端在线编程,可将代码通过无线网络一键下载到实验配套开发板并自动运行,实现线上编程平台和实验开发板的无缝连接。
Description
技术领域
本发明涉及一种在线物联网实验操作系统。
背景技术
随着互联网技术的广泛应用,线上教学已经成为主流教学方式之一。尤其在新冠疫情期间,全国各地大中小学的理论课程都通过线上教学开展进行,减少了人群接触,突出了教学优势。但目前线上教学大多以理论知识为主,少数如计算机程序设计等相关教学会提供OJ(Online Judge)系统或其他方式的线上编译系统;虽然在线教学模式优势明显,但目前教育界普遍认为在线教学的授课效果和学生的学习体验仍存在不足。
目前的线上教学虽然能够给用户提供丰富的教学资源和极大的便利,但局限性也较突出,尤其对于需进行实操实验的课程来讲,单纯的线上理论教学不足以满足实际需要。对于计算机相关专业,用户只能使用OJ(Online Judge)或其他的在线编译系统来完成一些简单的计算机软件编程实验教学,而无法解决疫情期间在线完成如物联网开发等实操课程的在线开发及实验。以物联网专业课程而言,软硬件系统开发门槛过高,对学生的硬件知识及环境配置能力有一定要求,同时由于系统限制,导致目前的物联网开发实验课程难以在线上进行。
发明内容
本发明所要解决的技术问题是针对上述现有技术提供一种能够实现需要实操的实验课程的线上教学的在线物联网实验操作系统。
本发明解决上述技术问题所采用的技术方案为:一种在线物联网实验操作系统,其特征在于:包括
线上编程系统,线上编程系统包括前端操作页面和后端服务模块,其中前端操作页面至少包括登录注册页面和编程页面;后端服务模块用于完成用户注册、用户登录、用户鉴权认证及源代码编辑和转发;实验配套开发板配置模块将获取实验配套开发板的物理身份识别码发送给后端服务模块,由后端服务模块完成注册用户与实验配套开发板的物理身份识别码的身份绑定;
代码推送模块,用于将注册用户在线上编程系统完成的源代码发送给实验开发板,并将实验配套开发板的运行结果反馈给线上编程系统;
用户鉴权中心,与线上编程系统,用于对注册或登录的用户进行鉴权;
实验配套开发板,自动运行代码推送模块发来的目标代码,并将运行结构反馈给代码推送模块;
实验配套开发板配置模块,用于配置实验配套开发板的网络设置,同时获取实验配套开发板的物理身份识别码;
注册用户在线上编程系统的编程页面编写完源代码后,线上编程系统的后端服务模块对源代码进行编辑处理,然后发送给代码推送模块,通过代码推送模块发送给实验开发板。
当多个注册用户同时使用上述在线物联网实验操作系统时,代码推送模块通过如下方式实现一对一代码推送:
首先注册用户通过实验配套开发板配置模块对实验配套开发板进行网络配置,同时实验配套开发板配置模块获取实验配套开发板的物理身份识别码,线上编程系统的后端服务模块将注册用户ID与实验配套开发板的物理身份识别码进行绑定;
实验配套开发板完成网络配置后,订阅以“实验配套开发板的物理身份识别码+00”为主题的订阅消息,同时发布以“物理身份识别码”为主题的第一广播消息,第一广播消息内携带实验配套开发板的运行信息;
注册用户在线上编程系统的编程页面编写完源代码,并通过后端服务模块将编写完成的源代码,注册用户ID,以及与该注册用户ID绑定的实验配套开发板的物理身份识别码一起发给代码推送模块;
代码推送模块读取注册用户ID和与该注册用户ID绑定的实验配套开发板的物理身份识别码,创建以“实验配套开发板的物理身份识别码+00”为主题的第二广播,该第二广播内容携带注册用户编写完成的源代码,完成源代码传输;同时订阅以与该注册用户ID绑定的实验配套开发板的“物理身份识别码”为主题的订阅消息,完成开发板实验配套开发板的运行信息的接收,达到双向一对一通信。
所述实验配套开发板的工作流程包括:
实验配套开发板上电后,先尝试读取内存中的网络配置信息,如果网络配置信息存在,实验配套开发板将采用读取的网络配置信息进行联网;如果内存中无网络配置信息,则等待实验配套开发板配置模块发送网络配置信息,当收到网络配置信息后,采用该网络配置信息进行联网;
网络连接成功后,订阅以“实验配套开发板的物理身份识别码+00”为主题的订阅消息,同时发布以“实验配套开发板的物理身份识别码”为主题的第一广播消息,第一广播消息内携带实验配套开发板的运行信息;
当实验配套开发板收到代码推送模块广播发出的以“实验配套开发板的物理身份识别码+00”为主题的第二广播后,自动完成源代码的运行,并将运行结果通过第一广播消息广播出去。
较好的,所述实验配套开发板配置模块为安装在用户移动终端上的应用程序。
所述线上编程系统后端设计基于Spring Cloud架构;前端操作页面中编程页面中采用的源代码为基于Python的源代码;
所述实验配套开发板采用MicroPython操作系统为底层固件,实验配套开发板收到代码推送模块推送的基于Python的源代码后,直接调用该源代码完成自动运行。
所述实验配套开发板采用ESP32作为主控芯片,与实验配套开发板配置模块之间采用蓝牙进行无线通信。
与现有技术相比,本发明的优点在于:线上编程系统方便用户用户通过Web端在线编程,可将代码通过无线网络一键下载到实验配套开发板并自动运行,实现线上编程平台和实验开发板的无缝连接。
附图说明
图1为本发明实施例中在线物联网实验操作系统的框图。
图2为本发明实施例中实验配套开发板的工作流程图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1所示的在线物联网实验操作系统,其包括
线上编程系统,线上编程系统包括前端操作页面和后端服务模块,其中前端操作页面包括主页面、登录注册页面和编程页面;后端服务模块用于完成用户注册、用户登录、用户鉴权认证及源代码编辑和转发;
代码推送模块,用于将注册用户在线上编程系统完成的源代码发送给实验开发板,并将实验配套开发板的运行结果反馈给线上编程系统;
用户鉴权中心,与线上编程系统,用于对注册或登录的用户进行鉴权;
实验配套开发板,自动运行代码推送模块发来的目标代码,并将运行结构反馈给代码推送模块;
实验配套开发板配置模块,用于配置实验配套开发板的网络设置,同时获取实验配套开发板的物理身份识别码;实验配套开发板配置模块将获取实验配套开发板的物理身份识别码发送给后端服务模块,由后端服务模块完成注册用户与实验配套开发板的物理身份识别码的身份绑定;
注册用户在线上编程系统的编程页面编写完源代码后,线上编程系统的后端服务模块对源代码进行编辑处理,然后发送给代码推送模块,通过代码推送模块发送给实验开发板。
用户首次使用上述在线物联网实验操作系统时,需要先通过网页浏览器进入线上编程系统1的主界面,然后进入登录注册页面进行用户注册,用户完成信息注册后,用户信息将与用户鉴权中心交互,经用户鉴权中心鉴权成功后,即成为注册用户。
当多个注册用户同时使用上述在线物联网实验操作系统时,代码推送模块通过如下方式实现一对一代码推送:
首先注册用户通过实验配套开发板配置模块对实验配套开发板进行网络配置,同时实验配套开发板配置模块获取实验配套开发板的物理身份识别码,线上编程系统的后端服务模块将注册用户ID与实验配套开发板的物理身份识别码进行绑定;
实验配套开发板完成网络配置后,订阅以“实验配套开发板的物理身份识别码+00”为主题的订阅消息,同时发布以“物理身份识别码”为主题的第一广播消息,第一广播消息内携带实验配套开发板的运行信息;
注册用户在线上编程系统的编程页面编写完源代码,并通过后端服务模块将编写完成的源代码,注册用户ID,以及与该注册用户ID绑定的实验配套开发板的物理身份识别码一起发给代码推送模块;
代码推送模块读取注册用户ID和与该注册用户ID绑定的实验配套开发板的物理身份识别码,创建以“实验配套开发板的物理身份识别码+00”为主题的第二广播,该第二广播内容携带注册用户编写完成的源代码,完成源代码传输;同时订阅以与该注册用户ID绑定的实验配套开发板的“物理身份识别码”为主题的订阅消息,完成开发板实验配套开发板的运行信息的接收,达到双向一对一通信。
所述实验配套开发板的工作流程包括,参见图2所示:
实验配套开发板上电后,先尝试读取内存中的网络配置信息,如果网络配置信息存在,实验配套开发板将采用读取的网络配置信息进行联网;如果内存中无网络配置信息,则等待实验配套开发板配置模块发送网络配置信息,当收到网络配置信息后,采用该网络配置信息进行联网;
网络连接成功后,订阅以“实验配套开发板的物理身份识别码+00”为主题的订阅消息,同时发布以“实验配套开发板的物理身份识别码”为主题的第一广播消息,第一广播消息内携带实验配套开发板的运行信息;
当实验配套开发板收到代码推送模块广播发出的以“实验配套开发板的物理身份识别码+00”为主题的第二广播后,自动完成源代码的运行,并将运行结果通过第一广播消息广播出去。
本实施例中,实验配套开发板配置模块为安装在用户移动终端上的应用程序,即通过安装在如手机等智能终端产品上APP对实验配套开发板进行配置,实验配套开发板采用ESP32作为主控芯片,与实验配套开发板配置模块之间采用蓝牙进行无线通信。线上编程系统后端设计基于Spring Cloud架构;前端操作页面中编程页面中采用的源代码为基于Python的源代码;所述实验配套开发板采用MicroPython操作系统为底层固件,实验配套开发板收到代码推送模块推送的基于Python的源代码后,直接调用该源代码完成自动运行。
Claims (4)
1.一种在线物联网实验操作系统,其特征在于:包括
线上编程系统,线上编程系统包括前端操作页面和后端服务模块,其中前端操作页面至少包括登录注册页面和编程页面;后端服务模块用于完成用户注册、用户登录、用户鉴权认证及源代码编辑和转发;
代码推送模块,用于将注册用户在线上编程系统完成的源代码发送给实验开发板,并将实验配套开发板的运行结果反馈给线上编程系统;
用户鉴权中心,与线上编程系统,用于对注册或登录的用户进行鉴权;
实验配套开发板,自动运行代码推送模块发来的目标代码,并将运行结构反馈给代码推送模块;
实验配套开发板配置模块,用于配置实验配套开发板的网络设置,同时获取实验配套开发板的物理身份识别码;实验配套开发板配置模块将获取实验配套开发板的物理身份识别码发送给后端服务模块,由后端服务模块完成注册用户与实验配套开发板的物理身份识别码的身份绑定;
注册用户在线上编程系统的编程页面编写完源代码后,线上编程系统的后端服务模块对源代码进行编辑处理,然后发送给代码推送模块,通过代码推送模块发送给实验开发板;
当多个注册用户同时使用上述在线物联网实验操作系统时,代码推送模块通过如下方式实现一对一代码推送:
首先注册用户通过实验配套开发板配置模块对实验配套开发板进行网络配置,同时实验配套开发板配置模块获取实验配套开发板的物理身份识别码,线上编程系统的后端服务模块将注册用户ID与实验配套开发板的物理身份识别码进行绑定;
实验配套开发板完成网络配置后,订阅以“实验配套开发板的物理身份识别码+00”为主题的订阅消息,同时发布以“物理身份识别码”为主题的第一广播消息,第一广播消息内携带实验配套开发板的运行信息;
注册用户在线上编程系统的编程页面编写完源代码,并通过后端服务模块将编写完成的源代码,注册用户ID,以及与该注册用户ID绑定的实验配套开发板的物理身份识别码一起发给代码推送模块;
代码推送模块读取注册用户ID和与该注册用户ID绑定的实验配套开发板的物理身份识别码,创建以“实验配套开发板的物理身份识别码+00”为主题的第二广播,该第二广播内容携带注册用户编写完成的源代码,完成源代码传输;同时订阅以与该注册用户ID绑定的实验配套开发板的“物理身份识别码”为主题的订阅消息,完成开发板实验配套开发板的运行信息的接收,达到双向一对一通信;
所述实验配套开发板的工作流程包括:
实验配套开发板上电后,先尝试读取内存中的网络配置信息,如果网络配置信息存在,实验配套开发板将采用读取的网络配置信息进行联网;如果内存中无网络配置信息,则等待实验配套开发板配置模块发送网络配置信息,当收到网络配置信息后,采用该网络配置信息进行联网;
网络连接成功后,订阅以“实验配套开发板的物理身份识别码+00”为主题的订阅消息,同时发布以“实验配套开发板的物理身份识别码”为主题的第一广播消息,第一广播消息内携带实验配套开发板的运行信息;
当实验配套开发板收到代码推送模块广播发出的以“实验配套开发板的物理身份识别码+00”为主题的第二广播后,自动完成源代码的运行,并将运行结果通过第一广播消息广播出去。
2.根据权利要求1所述的在线物联网实验操作系统,其特征在于:所述实验配套开发板配置模块为安装在用户移动终端上的应用程序。
3.根据权利要求1所述的在线物联网实验操作系统,其特征在于:所述线上编程系统后端设计基于Spring Cloud架构;前端操作页面中编程页面中采用的源代码为基于Python的源代码;
所述实验配套开发板采用MicroPython操作系统为底层固件,实验配套开发板收到代码推送模块推送的基于Python的源代码后,直接调用该源代码完成自动运行。
4.根据权利要求3所述的在线物联网实验操作系统,其特征在于:所述实验配套开发板采用ESP32作为主控芯片,与实验配套开发板配置模块之间采用蓝牙进行无线通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163525.9A CN112333252B (zh) | 2020-10-27 | 2020-10-27 | 一种在线物联网实验操作系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011163525.9A CN112333252B (zh) | 2020-10-27 | 2020-10-27 | 一种在线物联网实验操作系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333252A CN112333252A (zh) | 2021-02-05 |
CN112333252B true CN112333252B (zh) | 2022-11-11 |
Family
ID=74296443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011163525.9A Active CN112333252B (zh) | 2020-10-27 | 2020-10-27 | 一种在线物联网实验操作系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333252B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240675A (zh) * | 2017-05-10 | 2019-01-18 | 兰州大学 | 基于wifi的便携式可视化硬件编程系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170192795A1 (en) * | 2015-03-23 | 2017-07-06 | Middleware, Inc. | Universal Computing Element (UCE) and the Mode of Computing with the Use of UCE |
CN105139703A (zh) * | 2015-09-24 | 2015-12-09 | 杭州华恩教育科技有限公司 | 云教学系统 |
CN107123326A (zh) * | 2017-06-12 | 2017-09-01 | 芜湖职业技术学院 | 用于课堂编程教学的方法及课堂编程教学系统 |
CN110379257B (zh) * | 2019-06-13 | 2021-03-30 | 广东工业大学 | 一种多语言跨平台的在线代码对战系统和方法 |
CN111445364A (zh) * | 2020-03-31 | 2020-07-24 | 重庆海云捷迅科技有限公司 | 一种fpga云实验室平台及实现方法 |
-
2020
- 2020-10-27 CN CN202011163525.9A patent/CN112333252B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240675A (zh) * | 2017-05-10 | 2019-01-18 | 兰州大学 | 基于wifi的便携式可视化硬件编程系统及方法 |
Non-Patent Citations (2)
Title |
---|
Exploration of the Computer Hardware Experiment teaching method based on the cloud platform;Quan Chengbin;《IEEE》;20161201;全文 * |
IoT Remote Group Experiments in the Cyber Laboratory: A FPGA-based Remote Laboratory in the Hybrid Cloud;Norihiro Fujii;《IEEE》;20171130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112333252A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101119517B (zh) | 一种从网络服务器自动下载软件的方法 | |
CN103606310B (zh) | 教学方法及系统 | |
CN105868111A (zh) | 移动终端游戏自动测试方法和装置 | |
CN105374249B (zh) | 一种移动终端中基于图片显示的在线习题测试方法 | |
CN105337984A (zh) | 一种账号登录方法与装置 | |
CN104333844A (zh) | 一种车载终端与智能手机的互联方法 | |
CN105407126B (zh) | 通过蓝牙控制器对移动终端控制的系统及方法 | |
CN103268288A (zh) | 一种移动终端应用软件的远程真机调试方法及系统 | |
CN102523287A (zh) | 具有基础结构和直接模式的无线网络接口 | |
CN103713889A (zh) | 一种应用的开发、编译和调试方法以及装置 | |
CN105703917A (zh) | 蓝牙低功耗广播装置以及广播方法 | |
CN104468685A (zh) | 机器人数据共享方法和系统 | |
CN103347049A (zh) | 一种基于移动终端的位置与应用程序的自动适配启动系统及方法 | |
CN103646562A (zh) | 一键车队及自驾编组服务系统及其方法 | |
CN109032573A (zh) | 一种硬件编程系统和方法 | |
CN104579929A (zh) | 一种美发软件分享方法及装置 | |
CN112333252B (zh) | 一种在线物联网实验操作系统 | |
CN110691106A (zh) | 一种基于二维码链路的智能音箱控制方法 | |
CN103853651A (zh) | 软件测试方法和装置 | |
CN103686438A (zh) | 一种加入频道的方法和装置 | |
CN106406279B (zh) | 设备测试方法及装置、电子设备 | |
CN110532765A (zh) | 应用程序的控制方法、终端和计算机可读存储介质 | |
CN114745469B (zh) | 一种根据定位场景自动切换nfc模拟卡的方法及其系统 | |
CN101132568A (zh) | 一种移动通讯终端与计算机交互整合应用系统 | |
CN105635272A (zh) | 服务器、学生端、教师端及其学科作业处理方法、系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |