本发明涉及物联网,尤其涉及一种基于可视化编程技术的物联网接入方法、系统及存储介质。
背景技术:
1、物联网(internet of things,简称iot)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
2、目前物联网设备多元且架构各异,生产厂家众多,构建一个能万物互联的物联网平台需要对接各种各样的设备,但不同的设备有不同的硬件解决方案和不同的平台对接协议。因此如何实现物联网平台对多元异构设备的快速,是亟需解决的问题。
3、当前的物联网平台,由于设备厂家各异、品类众多,一个平台如果需要对接不同的设备,每个设备对接平台都需要花大量的时间,而且平台架构复杂臃肿、设备扩展不易、调试困难。
技术实现思路
1、本发明提供一种基于可视化编程技术的物联网接入方法、系统及存储介质,解决了现有的物联网平台设备接入方式难度高、接入速度慢和调试困难的技术问题。
2、为解决以上技术问题,本发明提供一种基于可视化编程技术的物联网接入方法,包括步骤:
3、s1、通过可视化编程平台封装command节点,并保存在工具栏中;
4、s2、获取待接入设备的设备信息;
5、s3、根据所述设备信息,在物联网管理平台中创建对应所述待接入设备的设备模型;
6、s4、从所述工具栏中获取对应的设备网络协议节点,根据对应的对接协议建立物联网管理平台与所述待接入设备的通信链接;
7、s5、从所述工具栏获取command节点,并在所述可视化编程平台上可视化的扩展子命令,在线编辑脚本转换逻辑;
8、s6、发布驱动,执行所述待接入设备与所述物联网管理平台的接入测试,若测试通过则保存流程,并将流程部署到所述物联网管理平台。
9、在进一步的实施方案中,所述步骤s2包括步骤:
10、s21、获取待接入设备的网络通信协议;
11、s22、确定所述待接入设备的上行指令信息、下行指令信息;
12、s23、获取所述待接入设备的设备密钥及唯一识别码。
13、在进一步的实施方案中,所述步骤s3包括步骤:
14、s31、根据所述待接入设备的设备密钥、唯一识别码,在物联网管理平台新建设备产品;
15、s32、导入所述设备信息,并基于所述设备产品创建设备模型;
16、s33、对每一设备模型的上行指令信息、下行指令信息、网络通信协议进行审核,若审核通过则执行步骤s4,否则结束对应所述待接入设备的接入进程。
17、在进一步的实施方案中,所述步骤s4包括步骤:
18、s41、在可视化编程平台的可视化编辑界面中,创建一个新的对接线程并执行;
19、s42、在可视化编辑界面编辑所述待接入设备的设备信息;
20、s43、从所述工具栏中获取对应的网络协议节点,用于处理设备通信和协议转换;
21、s44、根据所述待接入设备的通信协议和数据格式,配置每一所述网络协议节点,进而建立物联网管理平台与所述待接入设备的通信链接。
22、在进一步的实施方案中,所述网络协议节点包括输入节点、处理节点、输出节点中的一种或多种;
23、所述输入节点,用于接收所述待接入设备发送的数据;
24、所述处理节点,用于解析、转换和处理所述待接入设备的设备数据;
25、所述输出节点,用于将处理后的数据发送给其他系统或设备。
26、在进一步的实施方案中,所述步骤s5包括步骤:
27、s51、从所述工具栏拖曳command节点到可视化编辑界面;
28、s52、对所述command节点进行参数配置,指定所述待接入设备的设备接入协议、协议内容;
29、s53、对所述command节点进行子命令扩展,并对每一所述子命令进行在线脚本转换逻辑编辑。
30、本方案中的可视化编程平台基于开源免费node-red平台,在此基础上进行封装和二次开发,并通过链接集成的方式集成进物联网平台,进而通过可视化编程平台封装command节点,也就是通用物联网设备通用命令节点用来提供快速开发能力,在每次接入待接入设备时直接从编辑界面拖曳command节点,进行节点配置和子命令扩展,在命令节点在线编辑脚本转换逻辑,就可以通过可视化脚本对接不同设备。这样不同的设备,即使具备不同的异构网络协议、不同的协议内容,也可以通过可视化编程平台统一转换接入,只需要在线编辑几行代码即可动态接入,无须像其他编程平台经历开发、部署、调试、上线、测试等繁琐的流程。
31、在进一步的实施方案中,所述发布驱动包括步骤:
32、a1、根据所述设备信息创建设备型号,并编辑设备型号定义;
33、a2、创建驱动,并设置对应的状态检查策略;
34、a3、启动驱动,并开发驱动进行上行调试和下行调试,并发布;
35、所述上行调试包括通过postman模拟上报或直接使用设备上报;所述下行调试包括下发指令只至其它设备。
36、在进一步的实施方案中,所述执行所述待接入设备与所述物联网管理平台的接入测试包括步骤:
37、b1、将每一所述待接入设备进行联调对接,利用java语言与javascript语言的相互调用机制,动态加载不同的所述设备;
38、b2、获取设备驱动消息,并在线打印消息指令;
39、b3、根据消息指令在可视化编程平台进行调试,若调试失败则修复错误指令,并将正确指令保存到数据库中;
40、b4、所述可视化编程平台通过可视化编辑界面将消息指令发送到目标设备,若设备正常响应则接入测试成功。
41、本发明的有益效果如下:
42、(1)采用开源的物联网编辑工具node-red提供的可视化编程平台,实现物联网平台设备的可视化接入,基于流程规则的低代码编程,底层使用的nodejs作为服务端,支持在线安装卸载第三方依赖包,支持以json文件的流导入导出;通过引入在线可视化编程平台处理不同的设备接入协议,提供低门槛的技术接入、高性能的数据处理能力,设备接入过程全程可视化操作;
43、(2)提供拖拽式web-ide来编辑物联网流程,利用bs架构的web编辑器来简化物联网各种数据流的操作,支持海量多元异构设备快速接入,采用云原生微服务分布式架构和先进的容器管理技术,使系统具备快速的指数级扩容能力;
44、(3)将常用工具(command节点、网络协议节点)以及流程封装于工具箱,拖拽即用,js脚本开发快速简单。
45、本发明提供一种基于可视化编程技术的物联网接入系统,应用于上述的一种基于可视化编程技术的物联网接入方法,包括数据存储层、物联网可视化编程中间件层、物联网综合应用管理层、前端层;
46、所述数据存储层,基于mysql、mongodb、minio和redis等方式对外提供结构化、半结构化、非结构化和对象数据、空间数据的有效管理和存储,构建不同类型的数据库;
47、所述物联网可视化编程中间件层,用于封装command节点,并保存在工具栏中;
48、所述物联网综合应用管理层,用于获取待接入设备的设备信息,并根据所述设备信息,创建对应所述待接入设备的设备模型;
49、所述物联网可视化编程中间件层,用于从所述工具栏中获取对应的设备网络协议节点,根据对应的对接协议建立物联网管理平台与所述待接入设备的通信链接;从所述工具栏获取command节点,并可视化的扩展子命令在线编辑脚本转换逻辑;
50、所述物联网综合应用管理层,用于发布驱动,执行所述待接入设备的接入测试,若测试通过则保存流程并进行部署;
51、所述前端层,用于提供前端访问。
52、本发明的有益效果如下:
53、(1)通过设置数据存储层构建不同类型的数据库,利用分布式计算等技术实现对数据的分析利用和高可靠协同服务;
54、(2)设置物联网可视化编程中间件层,支持海量多元异构设备接入的物联网可视化编程中间件平台,提供了基础数据标准、设备类型、设备型号、设备驱动和接入设备数据定义。向上层应用提供统一的数据分发、共享通道。建立统一的物联网数据库、数据共享机制和数据分发通道;
55、(3)将基于开源免费node-red平台的可视化编程平台,进行封装和二次开发,并通过链接集成的方式集成进物联网平台,实现对物联网设备接入的可视化编辑;
56、(4)利用物联网综合应用管理层定期监控设备通信和协议转换的情况。在出现问题或版本改进时,直接返回到node-red编辑界面中进行修改,可有效降低监控和维护成本。
57、本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述的一种基于可视化编程技术的物联网接入方法。其中,存储介质可以是磁碟、光盘、只读存储器(read onlymemory,rom)或者随机存取器(random access memory,ram)等。