一种基于人工智能与物联网的可视化编程工具系统

摘要:

本发明公开了一种基于人工智能与物联网的可视化编程工具系统,该系统包括。本发明将人工智能技术和物联网技术和边缘计算技术相结合。使得不懂得如何编程的中小学生能够通过基于节点流的积木式可视化编程的方式搭建出人工智能和物联网以及边缘计算的应用场景,使得正在学习人工智能编程的用户能够在本系统中使用算力资源进行线上编程开发与人工智能模型训练。

申请号: CN201910475462.1 专利名称: 一种基于人工智能与物联网的可视化编程工具系统 申请(专利权)人: [杭州黑胡桃人工智能研究院] 发明人: [胡子阳, 江展翔, 郑楠, 田文凯, 颜哲锟, 顾尧] 其他信息:
1.一种基于人工智能与物联网的可视化编程工具系统,其特征在于,该系统包括边缘计算单元、数据采集执行模块、云服务模块; 1.1、边缘计算单元,用于进行人工智能的Inference过程与物联网逻辑程序的推理执行过程,边缘计算单元以单一计算机或者计算机集群为硬件基础,边缘计算单元包括Python服务模块、逻辑运行模块、云服务连接模块、数据暂存模块和本地基于节点流的积木式可视化编程服务模块,其中: 1.1.1、Python服务模块,用于向逻辑运行模块提供命令接口,执行人工智能的Inference过程,并将结果反馈给逻辑运行模块; 1.1.2、逻辑运行模块,用于加载由云服务连接模块所获取的用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件,并执行应用场景逻辑文件,在执行过程中根据应用场景逻辑文件包含的逻辑需要向Python服务模块请求服务; 1.1.3、云服务连接模块,用于与云服务模块建立双向数据传输连接,下载人工智能模型文件、上传用户的数据集文件、下载用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件; 1.1.4、数据暂存模块,用于存储用户收集到的数据集文件、存储用户训练得到的模型文件,能向Python服务模块、逻辑运行模块提供模型文件; 1.1.5、本地基于节点流的积木式可视化编程服务模块,用于直接从边缘计算单元向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点进行连接形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使逻辑运行模块加载执行的应用场景逻辑文件; 1.2、数据采集执行模块,用于采集人工智能模型训练所必须的数据集和实时集环境数据反馈给边缘计算单元,并根据边缘计算单元的决策结果控制包括但不限于步进电机,直流电机,继电器,Led灯在内的执行器做出用户自定义的响应动作,数据采集执行模块包括但不限于传感附件、控制附件、执行附件中的至少一种: 1.2.1、传感附件用于将收集到的包括但不限于温度湿度数据、图像数据、光电门脉冲数据、舵机角度数据、陀螺仪角度加速度数据、指纹特征数据、光强数据、RGB颜色数据、距离数据、按键数据、手势数据、气压数据、电流电压电能数据、心率数据、空气质量数据中至少一种环境数据通过有线数据传输的方式传输给控制附件; 1.2.2、执行附件用于响应执行控制附件通过有线数据传输的方式发送的包括但不限于控制舵机角度、控制直流电机转速、控制步进电机转速、控制继电器开闭、控制灯亮度、控制晶闸管导通程度、控制喇叭声音、控制液晶屏幕显示中的至少一种控制命令; 1.2.3、控制附件用于将传感附件采集到的环境数据实时发送给边缘计算单元和接收由边缘计算单元实时发送的执行器指令码并实时解析执行器指令码对执行附件发出控制命令; 1.3、云服务模块,用于使用户能构建、训练、验证人工智能模型,并利用用户所训练的人工智能模型通过基于节点流的积木式可视化编程的方式搭建出用户自定义的应用场景逻辑,包括但不限于用户算力资源管理模块、动手实验室、基于节点流的积木式可视化编程服务模块: 1.3.1、用户算力资源管理模块用于帮助用户预定、分配和管理被集群管理的用于执行人工智能训练或预测的包括但不限于GPU、TPU、FPGA、DPU中至少一种的处理器算力资源; 1.3.2、动手实验室用于提供一种使用处理器算力资源的在线编程与操作系统容器镜像的操作服务; 1.3.3、基于节点流的积木式可视化编程服务模块用于向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点进行连接形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使得逻辑运行模块加载执行的应用场景逻辑文件; 1.3.4、基于节点流的积木式可视化编程服务模块包括但不限于计算单元连接模块。 2.如权利要求1的一种基于人工智能与物联网的可视化编程工具系统,其特征在于,计算单元连接模块; 计算单元连接模块用于被权利要求1的云服务连接模块连接、与权利要求1的边缘计算单元进行双向的网络数据传输,使得不同用户的应用场景逻辑文件、人工智能模型文件能准确下载到对应用户的权利要求1的边缘计算单元中,并能从对应用户的权利要求1的边缘计算单元中获取数据集数据。 3.如权利要求1的一种基于人工智能与物联网的可视化编程工具系统,其特征在于,控制附件能利用WIFI开启AP模式后作为一个小型的HTTP服务器,方便手机、电脑接入,进行用户数据配置使之连上服务器,而且能使数据在控制附件上进行掉电保存。

一种基于人工智能与物联网的可视化编程工具系统

技术领域

本发明涉及一种可编程云平台系统,尤其涉及一种基于人工智能与物联网技术的可视化编程平台。

背景技术

随着近年来人工智能框架技术的不断发展,人工智能已经在全世界的范围内引起一轮新的创新和变革,开始推进人类从信息化向智能化时代发展和转变。与此同时,新的变化也在人工智能领域中不断发生:一方面,在深度学习日渐成熟的趋势下,世界上的很多科技厂商和各种研究机构都开始逐步加强对深度学习与人工智能方面的研发工作,人工智能已经被他们作为重中之重的战略发展目标;另一方面,各种顶尖的机器学习框架系统纷纷开源,这些框架能在世界范围内保持科学工作者和技术研发者的技术共享,构建了各种针对不同技术痛点的免费技术工具平台。人工智能技术的发展从学术阶段逐步走向实验阶段,向着学术界产业界协同推进的产业化阶段持续发展着。

除此之外物联网技术也在以很快的速度发展着,物联网与人工智能之间的关系是能够相互促进,他们是相辅相成协同工作的,物联网技术可以向人工智能的运算提供大量有效数据,而人工智能可以帮助物联网实现智能控制以及智能决策。但是目前国内外开展的各种人工智能方面的教育都是直接面向高端研发技术人员的,而广大拥有创作激情的创客团体又希望能够得到人工智能的学习与编程方法,并能快速创作出有意思的作品,就像Arduino提供了一套方便的单片机编程工具那样,创客希望得到一套能方便使用人工智能进行探索开发与学习的工具。

现在像这种模块化编程工具已经有很多存在了,就比如像Scratch、APPInvertor、Blockly等在线交互式编程平台。这些平台绝大多数都要归功于Google Blockly的开源,但是还是没有一款创客工具是针对于人工智能的,很多都是针对于物联网或者是安卓手机甚至只是简单的网页编程。但是可以根据这些工具平台的创造思路,从中获取他们精华的部分。我们可以在Blockly的基础上进行二次开发,结合目前最受欢迎的机器学习框架的JavaScript版本Tensorflow.js或者其他使用率高的机器学习框架,设计制造出一系列低耦合高内聚的人工智能流式编程的工具单元,并能结合物联网硬件做出更为形象的情景案例。让创客摆脱底层环境的诸多干扰,把思维侧重放在逻辑编写上。

发明内容

本发明提供了一种基于人工智能与物联网的可视化编程工具系统,解决无法傻瓜式快速搭建人工智能与物联网应用的问题。

为达到上述目的,

本发明提供了一种基于人工智能与物联网的可视化编程工具系统,该系统包括边缘计算单元、数据采集执行模块、云服务模块,其中,

所述边缘计算单元,用于进行人工智能的Inference过程与物联网逻辑程序的推理执行过程。

所述数据采集执行模块,用于采集人工智能模型训练所必须的数据集和实时采集环境数据反馈给所述边缘计算单元,并根据边缘计算单元的决策结果控制包括但不限于步进电机,直流电机,继电器,Led灯在内的执行器做出用户自定义的响应动作。

所述云服务模块,用于使用户能构建、训练、验证人工智能模型,并利用用户所训练的人工智能模型通过基于节点流的积木式可视化编程的方式搭建出用户自定义的应用场景逻辑。

进一步的,所述边缘计算单元以单一计算机或者计算机集群为硬件基础。所述边缘计算单元包括Python服务模块、逻辑运行模块、云服务连接模块、数据暂存模块和本地基于节点流的积木式可视化编程服务模块,其中:

所述Python服务模块,用于向所述逻辑运行模块提供命令接口,执行人工智能的Inference过程,并将结果反馈给所述逻辑运行模块;

所述逻辑运行模块,用于加载由所述云服务连接模块所获取的用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件,并执行应用场景逻辑文件,在执行过程中根据应用场景逻辑文件包含的逻辑需要向所述Python服务模块请求服务;

所述云服务连接模块,用于与所述云服务模块建立双向数据传输连接,下载人工智能模型文件、上传用户的数据集文件、下载用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件;

所述数据暂存模块,用于存储用户收集到的数据集文件、存储用户训练得到的模型文件,能向所述Python服务模块、所述逻辑运行模块提供模型文件;

所述本地基于节点流的积木式可视化编程服务模块,用于直接从所述边缘计算单元向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点进行连接形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑文件。

进一步的,所述数据采集执行模块包括但不限于传感附件、控制附件、执行附件中的至少一种;

所述传感附件用于将收集到的包括但不限于温度湿度数据、图像数据、光电门脉冲数据、舵机角度数据、陀螺仪角度加速度数据、指纹特征数据、光强数据、RGB颜色数据、距离数据、按键数据、手势数据、气压数据、电流电压电能数据、心率数据、空气质量数据中至少一种环境数据通过有线数据传输的方式传输给所述控制附件。

所述执行附件用于响应执行所述控制附件通过有线数据传输的方式发送的包括但不限于控制舵机角度、控制直流电机转速、控制步进电机转速、控制继电器开闭、控制灯亮度、控制晶闸管导通程度、控制喇叭声音、控制液晶屏幕显示中的至少一种控制命令。

所述控制附件用于将所述传感附件采集到的环境数据实时发送给所述边缘计算单元和接收由所述边缘计算单元实时发送的执行器指令码并实时解析执行器指令码对所述执行附件发出控制命令。

进一步的,所述云服务模块包括但不限于用户算力资源管理模块、动手实验室、基于节点流的积木式可视化编程服务模块;

所述用户算力资源管理模块用于帮助用户预定、分配和管理被集群管理的用于执行人工智能训练或预测的包括但不限于GPU、TPU、FPGA、DPU中至少一种的处理器算力资源。

所述动手实验室用于提供一种使用处理器算力资源的在线编程与操作系统容器镜像的操作服务

所述基于节点流的积木式可视化编程服务模块用于向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点进行连接形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使得所述逻辑运行模块加载执行的应用场景逻辑文件。

所述基于节点流的积木式可视化编程服务模块包括但不限于计算单元连接模块。

进一步的,所述计算单元连接模块用于被所述云服务连接模块连接、与所述边缘计算单元进行双向的网络数据传输,使得不同用户的应用场景逻辑文件、人工智能模型文件能准确下载到对应用户的所述边缘计算单元中,并能从对应用户的所述边缘计算单元中获取数据集数据。

进一步的,所述控制附件能利用WIFI开启AP模式后作为一个小型的HTTP服务器。方便手机,电脑等单个客户端接入,进行用户数据配置使之连上服务器,而且能使数据在所述控制附件上进行掉电保存。

与现有技术相比,本发明所提供的一种基于人工智能与物联网的可视化编程工具系统,将传统创客产品开发过程和物联网技术与人工智能技术相结合,建立基于节点流的积木式可视化编程平台与人工智能在线编程平台,改变传统物联网人工智能应用模式,加速物联网人工智能应用场景的开发。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的系统结构图;

图2为本发明实施例中数据采集执行模块图;

图3为本发明实施例中动手实验室服务模块图;

图4为本发明实施另一例提供的结构图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种基于人工智能与物联网的可视化编程工具系统,该系统包括管理算力资源与线上编程的云服务模块、用于提供最近端服务的边缘计算单元、为边缘计算单元提供环境数据支撑的数据采集执行模块,其中,

所述云服务模块,用于使用户能通过线上编辑器构建、训练、验证人工智能模型,并利用用户所训练的人工智能模型通过基于节点流的积木式可视化编程的方式搭建出用户自定义的应用场景逻辑。

所述边缘计算单元,用于进行人工智能的Inference过程与物联网逻辑程序的推理执行过程,执行用户自定义的应用场景逻辑并根据场景需要对所述数据采集执行模块通过包括但不限于WIFI、蓝牙、zigbee、I/O口进行实时的双向数据通信。所述边缘计算单元的服务调度,生命周期管理和监控可以从云服务模块中完成。

所述边缘计算单元的基础架构基于:将边缘节点和虚拟机连接为VPN,并将一个多租户管理/数据平面连接到所有租户的边缘集群、支持所述云服务模块和所述边缘计算单元之间的元数据存储、Kubernetes扩展,支持边缘应用程序部署和生命周期管理。

所述数据采集执行模块,用于采集人工智能模型训练所必须的数据集和实时采集环境数据反馈给所述边缘计算单元,并根据边缘计算单元的决策结果控制包括但不限于步进电机,直流电机,继电器,Led灯在内的执行器做出边缘计算单元命令的响应动作。

所述数据采集执行模块包括但不限于传感附件、控制附件、执行附件中的至少一种,其中,

所述传感附件用于将收集到的包括但不限于温度湿度数据、图像数据、光电门脉冲数据、舵机角度数据、陀螺仪角度加速度数据、指纹特征数据、光强数据、RGB颜色数据、距离数据、按键数据、手势数据、气压数据、电流电压电能数据、心率数据、空气质量数据中至少一种环境数据通过modbus或者IIC或者串口或者SPI等数据传输协议通过有线数据传输的方式传递到所述控制附件。

所述执行附件用于响应执行所述控制附件通过modbus或者IIC或者串口或者SPI等数据传输协议通过有线数据传输的方式传递发送的包括但不限于控制舵机角度、控制直流电机转速、控制步进电机转速、控制继电器开闭、控制灯亮度、控制晶闸管导通程度、控制喇叭声音、控制液晶屏幕显示中的至少一种控制命令。

所述控制附件包括但不限于Esp32,ESP8266主控芯片,用于将所述传感附件采集到的环境数据实时包装成Json格式通过MQTT协议或者蓝牙无线传输或者有线的方式发送给所述边缘计算单元和通过MQTT协议或者蓝牙无线传输或者有线的方式由所述边缘计算单元实时发送的json格式或者加密过的json格式执行器指令码并实时解析执行器指令码对所述执行附件发出控制命令。

所述边缘计算单元以单一计算机或者计算机集群为硬件基础。所述边缘计算单元包括Python服务模块、逻辑运行模块、云服务连接模块、数据暂存模块和本地基于节点流的积木式可视化编程服务模块,其中:

所述Python服务模块是由Python开放的WebServer,用于向所述逻辑运行模块提供API接口,这些API接口包括但不限于执行人工智能的Inference过程,并将结果反馈给所述逻辑运行模块以及完成文件预处理工作并将结果反馈给所述逻辑运行模块这些Python处理优与JavaScript的操作;

所述逻辑运行模块,用于加载由所述云服务连接模块所获取的用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件,并用javaScript读取并执行应用场景逻辑文件,在执行过程中能根据应用场景逻辑文件包含的逻辑需要向所述Python服务模块请求服务;

所述云服务连接模块,用于与权利要求1所述的云服务模块通过包括但不限于KubeEdge的Edge基础架构或者HTTP与webSocket网络请求建立双向数据传输连接,对所述云服务模块下载人工智能模型文件、上传用户的数据集文件、下载用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件,若所述边缘计算单元的运行的硬件载体为一个计算机集群,那么所述云服务连接模块能通过包括但不限于KubeEdge、Kubernetes虚拟化集群的方法去定位、配置、管理到任意一台存在于所述边缘计算单元中的计算机实体;

所述数据暂存模块,用于存储用户收集到的数据集文件、存储用户训练得到的模型文件,能向所述Python服务模块、所述逻辑运行模块通过API请求的方式提供模型文件或者数据集文件,能通过所述云服务连接模块通过HTTP方式上传用户许可的数据集文件;

所述本地基于节点流的积木式可视化编程服务模块,用于直接从所述边缘计算单元向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者通过拖拽一种在界面上显示为用于代替表达各种编程逻辑的积木块用积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点用有向线段进行连接,从而形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑文件。

所述云服务模块包括但不限于用户算力资源管理模块、动手实验室、基于节点流的积木式可视化编程服务模块;

所述用户算力资源管理模块通过webServer用于帮助用户预定、分配和管理由Kubernetes技术集群管理的用于执行人工智能训练或预测的包括但不限于GPU、TPU、FPGA、DPU中至少一种的处理器算力资源。

所述动手实验室用于提供一种使用处理器算力资源的在线编程与操作系统容器镜像的操作服务,将服务器通过Kubernetes技术集群管理后能对浏览器客户端提供在线的操作系统命令行接口与在线的Python编程IDE,用户可以在线调用服务器的处理器算力资源运行Python程序。

所述基于节点流的积木式可视化编程服务模块用于向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者通过拖拽一种在界面上显示为用于代替表达各种编程逻辑的积木块用积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点用有向线段进行连接,从而形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑文件。

所述基于节点流的积木式可视化编程服务模块包括但不限于计算单元连接模块。所述计算单元连接模块能利用包括但不限于KubeEdge,Kubernetes虚拟化集群的至少一种方法与所述边缘计算单元保持通信,并能定位、配置、管理到任意一台存在于所述边缘计算单元中的计算机实体。

下面结合一具体应用场景对本发明进行进一步详细介绍。

结合图1、图2、图3和图4所示,本发明中的传送带是由步进电机、舵机这两个所述执行器附件与光电门传感器、摄像头这两种所述传感附件与ESP32主控芯片这种所述控制附件所组成,ESP32主控芯片能实时收集光电门传感器数据,并能将光电门传感器数据实时转化为Json格式,通过MQTT协议无线传输或者串口modbus有线传输给所述边缘计算单元。ESP32主控芯片能实时接收并解析由所述边缘计算单元通过MQTT协议或者串口modbus协议发送的json格式命令,控制步进电机、舵机做出传送带姿态的调整。

ESP32主控芯片在上电之初会首先访问EPRROM中记录的WiFi名、SSID、MQTT服务器地址,并用记录的WiFi名、SSID、MQTT服务器地址尝试连接用户的路由器,若连接成功则正常运行,若没有成功,那么ESP32主控芯片进入到AP模式,作为一个HTTPserver为浏览器客户端提供一个配置界面,等用户配置完成后自动重启并再次尝试连接,直到ESP32主控芯片连接到MQTT服务器为止。

本发明中的云服务模块是由用户算力资源管理webServer模块、Kubernetes集群、基于节点流的积木式可视化编程webServer模块所构成,解决在线的人工智能模型编写,训练的问题以及提供如何通过可视化编程的方式去搭建一张用户自定义的场景逻辑节点图,并在图中能调用用户自己训练的模型的方法。

其中Kubernetes集群将多台服务器的多个GPU算力资源进行虚拟化管理,并能对外提供有限的Pod,在每个Pod中自动运行JupyterNotebookWebServer,JupyterNotebookWebServer是一种webServer,能提供在线的Python集成开发环境。每个Pod又是由用户算力资源管理webserver模块进行管理,用户算力资源管理webserver模块是一种由express与mongdb数据库搭建的用于预定、分配、调用、记录、管理Pod使用情况的webserver。

用户可通过用户算力资源管理webserver模块预定并调用Kubernetes集群Pod中Jupyter NotebookWebServer的服务进行模型的编写以及训练,训练所得到的模型可以被基于节点流的积木式可视化编程webServer模块在逻辑上调用。基于节点流的积木式可视化编程webServer模块是在KubeEdge虚拟化集群中的master节点Pod中的基于express搭建的一种webserver服务,基于节点流的积木式可视化编程webServer模块能为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的图形化节点,用户能在单一节点上通过参数配置或者通过拖拽一种在界面上显示为用于代替表达各种编程逻辑的积木块用积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将配置完成的若干节点用有向线段根据场景逻辑进行连接,从而形成用于实现用户场景需求的节点网络逻辑图,并最终能生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑json文件。

本发明中边缘计算单元是多个jetson nano开发板和多个EdgeTPU和多个树莓派通过KubeEdge虚拟化集群的方式构成,其中KubeEdge虚拟化集群模块不仅涉及边缘计算单元的全部,还将云服务模块中基于节点流的积木式可视化编程webServer模块作为master节点包括在内。用户能通过KubeEdge虚拟化集群模块控制边缘计算单元,定位控制其中的每一个本地开发板节点。能将在所述云服务模块中生成的应用场景逻辑json文件下载到所述Express逻辑运行模块中运行,Express逻辑运行模块是由JavaScript编写的webserver主要负责解析运行应用场景逻辑json文件、实现应用场景的逻辑运算过程,Express逻辑运行模块在运行过程中会向flask这种所述Python服务模块请求人工智能模型推理API以获取运算结果,结果返回Express逻辑运行模块后Express逻辑运行模块再做进一步的运算。Express逻辑运行模块也能不通过flask,直接利用tensorflow.js直接向数据暂存模块加载模型做人工智能预测计算。

Express逻辑运行模块能和传送带进行通信,在运行用户定义的应用场景逻辑时能及时地通过MQTT协议或者串口modbus协议发送或接收的json格式命令和传送带做数据交互。

用户编写的应用场景逻辑文件能使Express逻辑运行模块收集包括摄像头拍到的图片数据在内的数据,加工成数据集存储到数据暂存模块中。数据暂存模块是一个用express搭建的文件管理型webserver。

本发明所提供的一种基于人工智能与物联网的可视化编程工具系统,将传统创客产品开发过程和物联网技术与人工智能技术相结合,建立基于节点流的积木式可视化编程平台与人工智能在线编程平台,改变传统物联网人工智能应用模式,加速物联网人工智能应用场景的开发。

本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的单元或流程并不一定是实施本发明所必须的。

以上实施例仅用以说明本发明的技术方案而非限定,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种基于人工智能与物联网的可视化编程工具系统,该系统包括管理算力资源与线上编程的云服务模块、用于提供最近端服务的边缘计算单元、为边缘计算单元提供环境数据支撑的数据采集执行模块,其中,

所述云服务模块,用于使用户能通过线上编辑器构建、训练、验证人工智能模型,并利用用户所训练的人工智能模型通过基于节点流的积木式可视化编程的方式搭建出用户自定义的应用场景逻辑。

所述边缘计算单元,用于进行人工智能的Inference过程与物联网逻辑程序的推理执行过程,执行用户自定义的应用场景逻辑并根据场景需要对所述数据采集执行模块通过包括但不限于WIFI、蓝牙、zigbee、I/O口进行实时的双向数据通信。所述边缘计算单元的服务调度,生命周期管理和监控可以从云服务模块中完成。

所述边缘计算单元的基础架构基于:将边缘节点和虚拟机连接为VPN,并将一个多租户管理/数据平面连接到所有租户的边缘集群、支持所述云服务模块和所述边缘计算单元之间的元数据存储、Kubernetes扩展,支持边缘应用程序部署和生命周期管理。

所述数据采集执行模块,用于采集人工智能模型训练所必须的数据集和实时采集环境数据反馈给所述边缘计算单元,并根据边缘计算单元的决策结果控制包括但不限于步进电机,直流电机,继电器,Led灯在内的执行器做出边缘计算单元命令的响应动作。

所述数据采集执行模块包括但不限于传感附件、控制附件、执行附件中的至少一种,其中,

所述传感附件用于将收集到的包括但不限于温度湿度数据、图像数据、光电门脉冲数据、舵机角度数据、陀螺仪角度加速度数据、指纹特征数据、光强数据、RGB颜色数据、距离数据、按键数据、手势数据、气压数据、电流电压电能数据、心率数据、空气质量数据中至少一种环境数据通过modbus或者IIC或者串口或者SPI等数据传输协议通过有线数据传输的方式传递到所述控制附件。

所述执行附件用于响应执行所述控制附件通过modbus或者IIC或者串口或者SPI等数据传输协议通过有线数据传输的方式传递发送的包括但不限于控制舵机角度、控制直流电机转速、控制步进电机转速、控制继电器开闭、控制灯亮度、控制晶闸管导通程度、控制喇叭声音、控制液晶屏幕显示中的至少一种控制命令。

所述控制附件包括但不限于Esp32,ESP8266主控芯片,用于将所述传感附件采集到的环境数据实时包装成Json格式通过MQTT协议或者蓝牙无线传输或者有线的方式发送给所述边缘计算单元和通过MQTT协议或者蓝牙无线传输或者有线的方式由所述边缘计算单元实时发送的json格式或者加密过的json格式执行器指令码并实时解析执行器指令码对所述执行附件发出控制命令。

所述边缘计算单元以单一计算机或者计算机集群为硬件基础。所述边缘计算单元包括Python服务模块、逻辑运行模块、云服务连接模块、数据暂存模块和本地基于节点流的积木式可视化编程服务模块,其中:

所述Python服务模块是由Python开放的WebServer,用于向所述逻辑运行模块提供API接口,这些API接口包括但不限于执行人工智能的Inference过程,并将结果反馈给所述逻辑运行模块以及完成文件预处理工作并将结果反馈给所述逻辑运行模块这些Python处理优与JavaScript的操作;

所述逻辑运行模块,用于加载由所述云服务连接模块所获取的用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件,并用javaScript读取并执行应用场景逻辑文件,在执行过程中能根据应用场景逻辑文件包含的逻辑需要向所述Python服务模块请求服务;

所述云服务连接模块,用于与权利要求1所述的云服务模块通过包括但不限于KubeEdge的Edge基础架构或者HTTP与webSocket网络请求建立双向数据传输连接,对所述云服务模块下载人工智能模型文件、上传用户的数据集文件、下载用户通过基于节点流的积木式可视化编程获得的应用场景逻辑文件,若所述边缘计算单元的运行的硬件载体为一个计算机集群,那么所述云服务连接模块能通过包括但不限于KubeEdge、Kubernetes虚拟化集群的方法去定位、配置、管理到任意一台存在于所述边缘计算单元中的计算机实体;

所述数据暂存模块,用于存储用户收集到的数据集文件、存储用户训练得到的模型文件,能向所述Python服务模块、所述逻辑运行模块通过API请求的方式提供模型文件或者数据集文件,能通过所述云服务连接模块通过HTTP方式上传用户许可的数据集文件;

所述本地基于节点流的积木式可视化编程服务模块,用于直接从所述边缘计算单元向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者通过拖拽一种在界面上显示为用于代替表达各种编程逻辑的积木块用积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点用有向线段进行连接,从而形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑文件。

所述云服务模块包括但不限于用户算力资源管理模块、动手实验室、基于节点流的积木式可视化编程服务模块;

所述用户算力资源管理模块通过webServer用于帮助用户预定、分配和管理由Kubernetes技术集群管理的用于执行人工智能训练或预测的包括但不限于GPU、TPU、FPGA、DPU中至少一种的处理器算力资源。

所述动手实验室用于提供一种使用处理器算力资源的在线编程与操作系统容器镜像的操作服务,将服务器通过Kubernetes技术集群管理后能对浏览器客户端提供在线的操作系统命令行接口与在线的Python编程IDE,用户可以在线调用服务器的处理器算力资源运行Python程序。

所述基于节点流的积木式可视化编程服务模块用于向客户端提供基于节点流的积木式可视化编程服务,为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的节点,用户能在单一节点上通过参数配置或者通过拖拽一种在界面上显示为用于代替表达各种编程逻辑的积木块用积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将节点用有向线段进行连接,从而形成用于实现用户场景需求的节点网络逻辑图,并生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑文件。

所述基于节点流的积木式可视化编程服务模块包括但不限于计算单元连接模块。所述计算单元连接模块能利用包括但不限于KubeEdge,Kubernetes虚拟化集群的至少一种方法与所述边缘计算单元保持通信,并能定位、配置、管理到任意一台存在于所述边缘计算单元中的计算机实体。

下面结合一具体应用场景对本发明进行进一步详细介绍。

结合图1、图2、图3和图4所示,本发明中的传送带是由步进电机、舵机这两个所述执行器附件与光电门传感器、摄像头这两种所述传感附件与ESP32主控芯片这种所述控制附件所组成,ESP32主控芯片能实时收集光电门传感器数据,并能将光电门传感器数据实时转化为Json格式,通过MQTT协议无线传输或者串口modbus有线传输给所述边缘计算单元。ESP32主控芯片能实时接收并解析由所述边缘计算单元通过MQTT协议或者串口modbus协议发送的json格式命令,控制步进电机、舵机做出传送带姿态的调整。

ESP32主控芯片在上电之初会首先访问EPRROM中记录的WiFi名、SSID、MQTT服务器地址,并用记录的WiFi名、SSID、MQTT服务器地址尝试连接用户的路由器,若连接成功则正常运行,若没有成功,那么ESP32主控芯片进入到AP模式,作为一个HTTPserver为浏览器客户端提供一个配置界面,等用户配置完成后自动重启并再次尝试连接,直到ESP32主控芯片连接到MQTT服务器为止。

本发明中的云服务模块是由用户算力资源管理webServer模块、Kubernetes集群、基于节点流的积木式可视化编程webServer模块所构成,解决在线的人工智能模型编写,训练的问题以及提供如何通过可视化编程的方式去搭建一张用户自定义的场景逻辑节点图,并在图中能调用用户自己训练的模型的方法。

其中Kubernetes集群将多台服务器的多个GPU算力资源进行虚拟化管理,并能对外提供有限的Pod,在每个Pod中自动运行JupyterNotebookWebServer,JupyterNotebookWebServer是一种webServer,能提供在线的Python集成开发环境。每个Pod又是由用户算力资源管理webserver模块进行管理,用户算力资源管理webserver模块是一种由express与mongdb数据库搭建的用于预定、分配、调用、记录、管理Pod使用情况的webserver。

用户可通过用户算力资源管理webserver模块预定并调用Kubernetes集群Pod中Jupyter NotebookWebServer的服务进行模型的编写以及训练,训练所得到的模型可以被基于节点流的积木式可视化编程webServer模块在逻辑上调用。基于节点流的积木式可视化编程webServer模块是在KubeEdge虚拟化集群中的master节点Pod中的基于express搭建的一种webserver服务,基于节点流的积木式可视化编程webServer模块能为用户提供包括但不限于执行器控制、传感器数据接收、人工智能Inference、数据处理收集、基本逻辑控制及看板搭建中的至少一种节点类型的图形化节点,用户能在单一节点上通过参数配置或者通过拖拽一种在界面上显示为用于代替表达各种编程逻辑的积木块用积木式可视化编程的方式完成节点内部的数据处理逻辑,用户能根据用户的场景需求将配置完成的若干节点用有向线段根据场景逻辑进行连接,从而形成用于实现用户场景需求的节点网络逻辑图,并最终能生成一种能描述节点网络逻辑图的、能使所述逻辑运行模块加载执行的应用场景逻辑json文件。

本发明中边缘计算单元是多个jetson nano开发板和多个EdgeTPU和多个树莓派通过KubeEdge虚拟化集群的方式构成,其中KubeEdge虚拟化集群模块不仅涉及边缘计算单元的全部,还将云服务模块中基于节点流的积木式可视化编程webServer模块作为master节点包括在内。用户能通过KubeEdge虚拟化集群模块控制边缘计算单元,定位控制其中的每一个本地开发板节点。能将在所述云服务模块中生成的应用场景逻辑json文件下载到所述Express逻辑运行模块中运行,Express逻辑运行模块是由JavaScript编写的webserver主要负责解析运行应用场景逻辑json文件、实现应用场景的逻辑运算过程,Express逻辑运行模块在运行过程中会向flask这种所述Python服务模块请求人工智能模型推理API以获取运算结果,结果返回Express逻辑运行模块后Express逻辑运行模块再做进一步的运算。Express逻辑运行模块也能不通过flask,直接利用tensorflow.js直接向数据暂存模块加载模型做人工智能预测计算。

Express逻辑运行模块能和传送带进行通信,在运行用户定义的应用场景逻辑时能及时地通过MQTT协议或者串口modbus协议发送或接收的json格式命令和传送带做数据交互。

用户编写的应用场景逻辑文件能使Express逻辑运行模块收集包括摄像头拍到的图片数据在内的数据,加工成数据集存储到数据暂存模块中。数据暂存模块是一个用express搭建的文件管理型webserver。

本发明所提供的一种基于人工智能与物联网的可视化编程工具系统,将传统创客产品开发过程和物联网技术与人工智能技术相结合,建立基于节点流的积木式可视化编程平台与人工智能在线编程平台,改变传统物联网人工智能应用模式,加速物联网人工智能应用场景的开发。

本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的单元或流程并不一定是实施本发明所必须的。

以上实施例仅用以说明本发明的技术方案而非限定,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

个性化你的检索平台
使用键盘键 进行切换