CN111696408B - 一种实现空间编程的适配方法、装置及编程系统 - Google Patents

一种实现空间编程的适配方法、装置及编程系统 Download PDF

Info

Publication number
CN111696408B
CN111696408B CN202010575609.7A CN202010575609A CN111696408B CN 111696408 B CN111696408 B CN 111696408B CN 202010575609 A CN202010575609 A CN 202010575609A CN 111696408 B CN111696408 B CN 111696408B
Authority
CN
China
Prior art keywords
information
port
adaptation method
port information
node
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
Application number
CN202010575609.7A
Other languages
English (en)
Other versions
CN111696408A (zh
Inventor
王昌鹏
阚宗挺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaoshi Internet Hangzhou Technology Co ltd
Original Assignee
Xiaoshi Internet Hangzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaoshi Internet Hangzhou Technology Co ltd filed Critical Xiaoshi Internet Hangzhou Technology Co ltd
Priority to CN202010575609.7A priority Critical patent/CN111696408B/zh
Publication of CN111696408A publication Critical patent/CN111696408A/zh
Application granted granted Critical
Publication of CN111696408B publication Critical patent/CN111696408B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Selective Calling Equipment (AREA)

Abstract

本发明公开了一种实现空间编程的适配方法、装置及编程系统,该适配方法包括上行适配方法和下行适配方法;下行适配方法包括以下步骤:获得图形化编程系统中积木块的端口信息,封装端口信息并分发,所述端口信息包括积木块对应的外部设备信息、操作命名信息,识别并确定端口信息的下行通道,将端口信息发送给对应的节点的下行通道,节点解析端口信息并将操作命令发送给外部设备;采用该方案的方法、装置和系统结构,其信号连接方式不受限制;节点装置为单独进行的程序,其对语言没有任何的限制,可灵活的选用实现语言。

Description

一种实现空间编程的适配方法、装置及编程系统
技术领域
本发明涉及空间编程系统领域,更具体的说是涉及一种实现空间编程的适配方法、装置及编程系统。
背景技术
国内儿童编程教育大多采用基于scratch的图形化编程环境,整个界面左侧是支持逻辑与运算的积木代码块,右侧是一个2D舞台,孩子们根据自己设计的故事情节在舞台上搭建出各种角色,并使用scratch提供的声音与图像引擎来渲染出各种动画与音效。
Scratch将各种编程要素封装成积木块,这样就避免了各种文本编程的语法错误,降低了编程的入门门槛。Scratch支持交互式编程,孩子们通过点击相应的积木块就可以实时的看到相应的效果,所见即所得,让编程的交互性大大提升。
孩子们在编程的时候往往面对的仅仅是一个像素的舞台,自己并不能置身其中,无法获得身临其境的感受,如果我们能够把这个2D的舞台扩展到真实的物理空间中,孩子就可以进入到这个空间舞台中控制天上飞的无人机、地上爬的机器人小车,以及与整个房间中的各种智能家居设备进行交互,这样的空间编程的感受会是多么摄人心魄。
但是,如果开发者需要扩展新功能插件,按照 Scratch 官方的解决方案分为两种:
其一为不需要接入硬件的插件方式,该方式采用官方提供的 Scratch 插件模板,且只能利用 javascript 语言进行扩展;不支持其他语言生态的扩展,比如python 语言等。
其二为需要接入硬件的插件的方式,该方式需利用官方提供的 Scratch Link 来进行扩展,而且限定了硬件的连接方式必须为蓝牙,windows 必须为 win10。
采用现有系统,其存在以下缺陷:
与外部硬件连接的方式只支持蓝牙,支持 WiFi、USB等连接方式的硬件无法连接;
插件的扩展只支持Javascript语言,无法支持其他语言生态的扩展。
发明内容
本发明为了解决上述技术问题提供一种实现空间编程的适配方法、装置及编程系统。
本发明通过下述技术方案实现:
一种实现空间编程的适配方法,包括上行适配方法和下行适配方法;
所述下行适配方法包括以下步骤:
获得图形化编程系统中积木块的端口信息,封装端口信息并分发,所述端口信息包括积木块对应的外部设备信息、操作命名信息,
识别并确定端口信息的下行通道,将端口信息发送给对应的节点的下行通道,
节点解析端口信息并将操作命令发送给外部设备;
所述上行适配方法包括以下步骤:
节点获得外部设备的运行信息并封装,所述运行信息包括外部设备信息、状态信息,
识别并确定运行信息的上行通道,将运行信息发送给对应上行通道;
解析运行信息中外部设备信息,将状态信息发送给对应积木的端口。
一种用于实现上述适配方法的装置,包括:
用于接收图形化编程系统积木块端口信息并适配对应上、下行通道的消息分发器;
多个实现与外部设备信号连接且根据外部设备与消息分发器对应的上、下行通道信息交互的节点装置;
其中,所述消息分发器包括:
与图形化编程系统中积木块的端口进行信息交互的分发部;
多个实现积木块与对应外部设备信息上行和下行的通道部。
进一步的,所述通道部包括实现分发部至节点装置信息传送的上行通道和实现节点装置至分发部信息传送的下行通道。
进一步的,所述节点装置包括控制单元和与控制单元信号连接的外部设备连接单元;所述控制单元包括用于驱动外部设备的驱动部和用于驱动连接方式的连接部。
一种用于实现上述适配方法的编程系统,包括:
将编程要素封装成积木块的图形化编程系统;
外部设备;
上述的一种实现空间编程的适配装置。
本发明与现有技术相比,具有如下的优点和有益效果:
1、采用本方案的装置、方法和系统,节点装置实现与外部设备的连接,其信号连接方式不受限制;节点装置为单独进行的程序,其对语言没有任何的限制,可灵活的选用实现语言。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。
图1为空间编程系统的原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1所示的一种实现空间编程的适配装置,包括消息分发器和多个节点装置,节点装置的数量取决于外部设备的数量。消息分发器用于接收图形化编程系统积木块端口信息,并适配对应上、下行通道,一个积木块端口对应一个上、下行通道。节点装置与外部设备信号连接,该连接方式不受限制,可以采用WIFI、蓝牙、红外、4G、USB等方式,其与消息分发器的上下行通道一一对应,即上下行通道与图形化编程系统积木块、对应外部设备一一对应,保证各插件之间的物理隔离,各个插件之间互不影响,并且保证了系统运行的可靠性,其中一个插件发生异常,并不会影响其他插件与核心编程环境的运行。
具体的,消息分发器包括分发部、通道部,分发部与图形化编程系统中积木块的端口进行信息交互,获取积木块的端口信息并封装分发;通道部有多个,数量根据外部设置的数量决定,通道部实现单个积木块的端口信息的上行和下行,通道部包括实现分发部至节点装置信息传送的上行通道sub port 16199和实现节点装置至分发部信息传送的下行通道pub port 16188,上行通道和下行通道相互分离。
节点装置的硬件部分包括控制单元和与控制单元信号连接的外部设备连接单元。外部设备连接单元如上述可以是WIFI、蓝牙、红外、4G、USB等部件;控制单元作为连接驱动,其通过编写代码实现,代码的语言式不受限制,为了提高对多种外部设备的适配性,将用于驱动外部设备的驱动部和用于驱动连接方式的连接部进行解耦,同样的,节点装置的连接部包括上行通道pub port 16199和下行通道sub port 16188,下行通道实现消息分发器至外部设备的信息传送,上行通道实现外部设备至消息分发器的信息传送。节点装置实现与外部设备的连接,支持多种连接方式,由于将与外部设备连接都下放到节点装置,则可根据具体的外部设备灵活选择通信方式。且节点装置采用单独子进程进行,对语言层不做任何限制,这样就可以灵活的选用编程语言和编程环境,来最大化利用各个语言自带的特性处理自己语言最擅长的方向;且由于节点装置采用单独子进程进行,其具有上行通信能力和下行通信能力,各种开放系统都可以与编程环境进行互通,比如各种 VR、AR、机器学习系统就可以灵活的融合进来。
上述装置实现图形化编程系统与外部设备编程适配的方法为:
下行适配方法包括以下步骤:
消息分发器获得图形化编程系统中积木块的端口信息,封装端口信息并分发,所述端口信息包括积木块对应的外部设备信息、操作命名信息,为了便于消息扩展,端口信息可采用JSON 格式,降低解析和编码难度;
识别并确定端口信息的下行通道,将端口信息发送给对应的节点的下行通道,
节点解析端口信息并将操作命令发送给外部设备。
上行适配方法包括以下步骤:
节点获得外部设备的运行信息并封装,所述运行信息包括外部设备信息、状态信息,同样地,运行信息可采用JSON 格式,降低解析和编码难度;
识别并确定运行信息的上行通道,将运行信息发送给对应上行通道;
解析运行信息中外部设备信息,将状态信息发送给对应积木的端口。
实施例2
基于上述实施例的原理,本实施例公开一种具体实施方式,本实施例的图形化编程系统以基于scratch的图形化编程系统为例,具体地,以Scratch3.0为例,当然,本方案的适配器和适配方法不仅适于基于scratch的图形化编程系统,也适于其他将编程要素封装成积木块的图形化编程系统使用。其中,Scratch3.0 中写javascript扩展(ExtensionA)时,已定义出积木块的样式、语义opcode和它的具体实现。
具体的,以点亮arduino板子Led灯为例子来说明消息从上层向下层流动的过程。
ExtensionA会在积木块中通过websocket端口下发一个点亮led灯的操作命令信息。
消息分发器的分发部Message Dispatcher接收通过websocket端口接收到该操作命令信息和对应的积木块信息,对该信息采用JSON 格式进行封装后分发到相应通道部的下行通道pub port端口中。
由于对应节点装置订阅了通道部的该pub port端口信息,因此收到该信息并解析,进而通过USB通信控制arduino板子电量LED灯。
实施例3
同样的,本实施例以挂载在arduino板子上的温度传感器上报温度数据的例子来说明消息向上流动的过程,参照图1。
节点装置的通过 USB 收到 arduino 板子上报的一个传感器数据,采用JSON 格式对温度传感器信息、温度信息进行封装。
节点装置上行通道Pub Port向通道部发布一条消息,由于通道部对上行通道SubPort(16199)端口订阅了端口,因此会收到传感器消息。
分发部通过消息中带有的温度传感器信息字段extension_id,使用websocket 通信方式选择向上层 scratch 的插件来传递消息。
Scratch3.0 插件收到传感器数据后,在积木块中使用数据即可。
当然,不管在实施例2还是实施例3中,arduino 板子与节点装置的连接方式不仅可采用蓝牙方式连接,也可采用WIFI或者USB连接。各节点装置通过相应的上行端口和下行端口实现上下层消息的流动,可以保证上层 scratch 消息流动到各节点;下层的节点消息流动到上层对应的插件中,保证消息不回流。
插件的扩展采用子进程方式,插件与插件之间物理隔离,各个插件之间互不影响,并且保证了系统运行的可靠性,其中一个插件发生异常,并不会影响其他插件与核心编程环境的运行。
采用子进程实现插件,可以灵活的选取与硬件的连接方式以及实现语言。消息结构体样式支持上下行消息类型分开,并可以区分不同插件消息处理单独处理。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种实现空间编程的适配方法,其特征在于,包括上行适配方法和下行适配方法;
所述下行适配方法包括以下步骤:
获得图形化编程系统中积木块的端口信息,封装端口信息并分发,所述端口信息包括积木块对应的外部设备信息、操作命名信息,
识别并确定端口信息的下行通道,将端口信息发送给对应的节点的下行通道,
节点解析端口信息并将操作命令发送给外部设备;
所述上行适配方法包括以下步骤:
节点获得外部设备的运行信息并封装,所述运行信息包括外部设备信息、状态信息,
识别并确定运行信息的上行通道,将运行信息发送给对应上行通道;
解析运行信息中外部设备信息,将状态信息发送给对应积木的端口。
2.一种用于实现权利要求1所述适配方法的装置,其特征在于,包括:
用于接收图形化编程系统积木块端口信息并适配对应上、下行通道的消息分发器;
多个实现与外部设备信号连接且根据外部设备与消息分发器对应的上、下行通道信息交互的节点装置;
其中,所述消息分发器包括:
与图形化编程系统中积木块的端口进行信息交互的分发部;
多个实现积木块与对应外部设备信息上行和下行的通道部。
3.根据权利要求2所述的一种用于实现权利要求1所述适配方法的装置,其特征在于,所述通道部包括实现分发部至节点装置信息传送的上行通道和实现节点装置至分发部信息传送的下行通道。
4.根据权利要求2所述的一种用于实现权利要求1所述适配方法的装置,其特征在于,所述节点装置包括控制单元和与控制单元信号连接的外部设备连接单元;所述控制单元包括用于驱动外部设备的驱动部和用于驱动连接方式的连接部。
5.一种用于实现权利要求1所述适配方法的编程系统,其特征在于,包括:
将编程要素封装成积木块的图形化编程系统;
外部设备;
权利要求2至4任一所述的一种实现空间编程的适配装置。
CN202010575609.7A 2020-06-22 2020-06-22 一种实现空间编程的适配方法、装置及编程系统 Active CN111696408B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010575609.7A CN111696408B (zh) 2020-06-22 2020-06-22 一种实现空间编程的适配方法、装置及编程系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010575609.7A CN111696408B (zh) 2020-06-22 2020-06-22 一种实现空间编程的适配方法、装置及编程系统

Publications (2)

Publication Number Publication Date
CN111696408A CN111696408A (zh) 2020-09-22
CN111696408B true CN111696408B (zh) 2022-04-15

Family

ID=72482444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010575609.7A Active CN111696408B (zh) 2020-06-22 2020-06-22 一种实现空间编程的适配方法、装置及编程系统

Country Status (1)

Country Link
CN (1) CN111696408B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113963083B (zh) * 2021-11-04 2023-11-24 北京思明启创科技有限公司 编程积木块绘制方法、积木搭建方法、装置及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008682A (zh) * 2014-05-06 2014-08-27 成都信息工程学院 一种教学用物联网的实训系统
CN104517484A (zh) * 2013-09-28 2015-04-15 南京专创知识产权服务有限公司 基于3g交互式移动教育系统
CN107196864A (zh) * 2014-08-12 2017-09-22 烽火通信科技股份有限公司 一种基于fpga的多路fc业务远距离传输装置
JP6420879B1 (ja) * 2017-07-12 2018-11-07 韓國電子通信研究院Electronics and Telecommunications Research Institute 拡張現実ベースのサイバー危機対応訓練提供装置および方法
CN109542422A (zh) * 2018-11-21 2019-03-29 成都聚维合科技有限公司 一种实现可视图形化编程的方法
CN109545035A (zh) * 2018-09-30 2019-03-29 上海畅学教育科技有限公司 多消息交互图形化硬件编程兼容系统和方法
CN109684224A (zh) * 2018-12-29 2019-04-26 深圳点猫科技有限公司 python代码与积木的转换过程的测试方法及装置
CN109933316A (zh) * 2019-03-15 2019-06-25 成都金时未来教育科技有限公司 一种steam少儿编程系统
CN110780877A (zh) * 2019-09-17 2020-02-11 秦皇岛米格教育科技有限公司 基于程序积木的编程系统及其配置装置
CN110838255A (zh) * 2018-08-19 2020-02-25 王威立 一种积木式编程语言系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928076B2 (en) * 2014-09-26 2018-03-27 Intel Corporation Method and apparatus for unstructured control flow for SIMD execution engine
CN105396295B (zh) * 2015-11-17 2018-07-17 卢军 一种面向儿童的空间编程机器人玩具
CN106357806A (zh) * 2016-10-25 2017-01-25 合肥东上多媒体科技有限公司 一种网络多媒体通信系统
US10217375B2 (en) * 2016-12-13 2019-02-26 Bank Of America Corporation Virtual behavior training using augmented reality user devices
CN108564843A (zh) * 2018-01-30 2018-09-21 上海乐田教育科技有限公司 一种用于编程教学板的小车主控模块
CN208482008U (zh) * 2018-02-10 2019-02-12 吉林省小鸡奔奔教育科技开发有限公司 一种带触碰开关的隐藏式电子积木模块
KR102069096B1 (ko) * 2018-04-17 2020-01-22 (주)블루커뮤니케이션 피지컬 디바이스의 직접적 원격 제어 장치
CN208174736U (zh) * 2018-05-08 2018-11-30 山西乐博特机器人教育科技有限公司 教育机器人编程系统
CN109345908A (zh) * 2018-09-30 2019-02-15 上海畅学教育科技有限公司 可视化模块编程系统及其控制方法
CN110347057A (zh) * 2019-06-11 2019-10-18 深圳市魔块智能有限公司 一种幼教机控制方法、装置、设备及可读存储介质
CN110533991A (zh) * 2019-08-27 2019-12-03 南京蓝宙科技有限公司 一种基于双核mcu的图形化编程教育机器人
CN110647324B (zh) * 2019-09-18 2023-05-16 编缘(杭州)教育科技有限公司 Python与Scratch交互式编程方法及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104517484A (zh) * 2013-09-28 2015-04-15 南京专创知识产权服务有限公司 基于3g交互式移动教育系统
CN104008682A (zh) * 2014-05-06 2014-08-27 成都信息工程学院 一种教学用物联网的实训系统
CN107196864A (zh) * 2014-08-12 2017-09-22 烽火通信科技股份有限公司 一种基于fpga的多路fc业务远距离传输装置
JP6420879B1 (ja) * 2017-07-12 2018-11-07 韓國電子通信研究院Electronics and Telecommunications Research Institute 拡張現実ベースのサイバー危機対応訓練提供装置および方法
CN110838255A (zh) * 2018-08-19 2020-02-25 王威立 一种积木式编程语言系统
CN109545035A (zh) * 2018-09-30 2019-03-29 上海畅学教育科技有限公司 多消息交互图形化硬件编程兼容系统和方法
CN109542422A (zh) * 2018-11-21 2019-03-29 成都聚维合科技有限公司 一种实现可视图形化编程的方法
CN109684224A (zh) * 2018-12-29 2019-04-26 深圳点猫科技有限公司 python代码与积木的转换过程的测试方法及装置
CN109933316A (zh) * 2019-03-15 2019-06-25 成都金时未来教育科技有限公司 一种steam少儿编程系统
CN110780877A (zh) * 2019-09-17 2020-02-11 秦皇岛米格教育科技有限公司 基于程序积木的编程系统及其配置装置

Also Published As

Publication number Publication date
CN111696408A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
KR102504691B1 (ko) 무선 통신 시스템의 코어셋에서 신호를 송수신하는 방법 및 상기 방법을 이용하는 장치
JP6926146B2 (ja) 無線通信システムにおいてアップリンク送信を行う方法及びそのための装置
CN102291524B (zh) 拼接墙系统
CN102360206B (zh) 具有多个空间分布站的控制系统和在所述控制系统中传送数据的方法
KR20190132284A (ko) 무선 통신 시스템에서 단말의 전송 설정 지시자 결정 방법 및 상기 방법을 이용하는 장치
US4441162A (en) Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium
CN111696408B (zh) 一种实现空间编程的适配方法、装置及编程系统
CN106506062B (zh) 集群无人机分布式快速通信系统及通信方法
CN103501254A (zh) 一种多用途航电中继网络拓扑配置管理方法及系统
CN112231906A (zh) 一种基于icd的服务构建方法
CN106130771A (zh) 一种基于带内以太网络在线升级flash的方法
CN101840223A (zh) 一种生产线的控制系统及方法
CN107959721A (zh) 一种物联网感知家庭云平台系统
CN104992574B (zh) Ads‑b数据分发系统
CN101916206A (zh) 一种信号系统的建模方法及装置
CN105242592B (zh) 通过profibus pa操作站直接读取hart仪表参数的方法及系统
CN112034736B (zh) 一种低耦合的无人机模拟训练方法及系统
CN112217567B (zh) 一种fc总线多节点仿真方法
CN106254481A (zh) 用于智慧能源物联网系统的物联网智能网关
CN113381988A (zh) 一种cpu异构架构无人机数据接入安全隔离系统
CN103188718A (zh) Bsc容灾方法、装置及系统与服务器
CN209055943U (zh) 一种分布式交互管理系统
CN202284839U (zh) 空调集中控制节能系统
CN100515121C (zh) 对呼叫中心进行业务性能测试的实现方法及系统
CN112152889B (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