现有的可视化编程语言,不仅仅是语言本身,还是一个成熟的集成开发环境(IDE),根据使用许可被分为两类,即开源平台和专有平台。开源平台(Open Source Platforms),具备可以免费使用和公布源代码的主要特征,并且此软件的使用、修改和分享也不受许可证的限制。而专有平台(Proprietary Platforms),则不能随意进行更改,具有保密性,只有公司的开发者才能进行更改。下面主要介绍几种常见软件平台。
1)专有平台
(1)DGLux5
DGLux5是一个应用程序开发和可视化工作区,用于开发物联网应用程序。它可以在HTML5浏览器中访问,并且可以部署在Windows、IOS和Android设备上,具有较强的灵活性。它利用灵活的部署选项(硬件平台)、定制图表和DGLux工程许可下的实时可视化工具,提供个性化的交互。但DGLux5的使用有一定的难度,而且它是付费的,月订阅需要至少一年的承诺以及自动支付,不适用于一般用户。DGLux5编程界面如图1.1所示。
(2)AT&T Flow
AT&T Flow是一个直观的可视化工具,允许物联网开发人员创建原型,通过多个版本进行迭代和改进,然后部署应用程序。它提供了一个已预先配置的名为“节点”的特殊包含,允许无缝流畅地访问多个数据源、通信方法、云服务以及设备配置文件。因此,它缩短了业务开发过程中投放市场的时间。它支持多个第三方商业平台/APIs(例如,Twilio和SMTP push)在GNU通用公共许可证v3(GPL3)下,用户和应用程序之间可进行实时数据聚合和通信,其编程界面如图1.2所示。
图1.1 GLux5编程界面
图1.2 AT&T Flow Designer编程界面
(3)Reactive Blocks
Reactive Blocks是一个可视化的模型驱动开发环境,支持形式化模型分析、自动代码生成、分层建模,其编程界面如图1.3所示。它还提供了内置Java库,以便开发人员可以图形化地创建可重用的复杂物联网应用。
图1.3 Reactive Blocks编程界面
(4)GraspIO
它能够支持USR-WiFi 232-G模块提供标准的无线通信,在BSD许可下通过连接3个模拟/数字输入、11个触点、超声波和GP2D端口作为传感器,2个直流电机端口和8个伺服端口作为执行器,其编程界面如图1.4所示。
图1.4 GraspIO编程界面
2)开源平台
(1)Node-RED
Node-RED最初是IBM在2013年末开发的一个开源项目,以满足快速连接硬件和设备到Web服务和其他软件的需求——作为物联网的一种粘合剂,它很快发展成为一种通用的物联网编程工具。
Node-RED作为构建物联网(Internet of Things)应用程序的一个强大工具,其重点是简化代码块的“连接”以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块或“节点”(Node)连接起来执行任务。连接的节点,通常是输入节点、处理节点和输出节点的组合,当它们连接在一起时,构成一个“流”(Flows)。其编程界面如图1.5所示。
(www.xing528.com)
图1.5 Node-RED编程界面
(2)NETLab Toolkit
NTK(NetLab Toolkit)是一个为设计师、开发者、制造者、研究人员、学生设计和构建物联网项目的可视化创作系统,它将传感器、执行器、媒体和网络与拖放智能小部件连接起来。概念可以快速原型化,通过在硬件中绘制草图和构建连接的系统来鼓励迭代、实验和测试。
NTK与原来的Arduino和较新的Linux嵌入式系统(如Intel公司的Edison和Raspberry Pi)兼容,而且NTK可以很容易地适应新事物。代码小部件允许用户轻松添加自定义JavaScript代码段。有了更多的专业知识,用户可以创建自己的、可重用的小部件。NETLab Toolkit编程界面如图1.6所示。
图1.6 NetLab Toolkit编程界面
(3)ArduBlock
ArduBlock软件是Arduino官方编程环境的第三方软件,由上海新车间创客开发,目前必须依附于Arduino软件下运行。区别于Arduino文本式编程环境,ArduBlock是以图形化积木搭建的方式编程的,这样的方式会使编程的可视化和交互性加强,降低编程门槛,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。ArduBlock编程界面如图1.7所示。
图1.7 ArduBlock编程界面
(4)Scratch for Android (S4A)
S4A(Scratch for Ardroid)是一款由西班牙Citilab团队在Scratch基础上开发而成的软件,它趣味性强,能够与Arduino开源硬件相结合。Scratch和Arduino两者易学易用的理念,使S4A成为针对中小学生实现软件和硬件相结合进行互动设计的最佳工具之一,但软硬件开放性不够。S4A编程界面如图1.8所示。
图1.8 S4A编程界面
(5)MiniBloq
MiniBloq是一款图形编程软件,上手简单,是编程Multiplo开源机器人的理想工具,可以作为机器人学和编程的入门。Minibloq可以帮助用户在不使用代码的情况下开发新的产品,其实很多人机交互方案都是可以通过图形化编辑创建项目的,不需要使用复杂的函数,不需要使用复杂的脚本,通过内置的图形界面就可以快速建立开发框架,并且在构建逻辑方面也是非常高效的,对于设计人机设计以及数控设备非常有帮助;Minibloq是可以自动显示逻辑命令的,图形化的编程命令可以在软件右侧自动显示,方便分析代码是否正确。MiniBloq也支持其他很多开源开发平台,如Arduino,Seeeduino,Pi-Bot,Sparki等。它的编程界面如图1.9所示。
图1.9 MiniBloq编程界面
(6)Modkit
Modkit是一个拖放式可视化编程语言平台,主要用于流行的微控制器编程,包括Arduino,littleBits,Particle Photon,MSP430,Tiva Claunch pad和Wiring S。它旨在使艺术家、设计师、教育人员、儿童等非程序员更容易地制作交互式电子项目。它还支持Scratch之类的事件驱动和多线程模型,以便轻松地构建大量相关产品,使学习编程更轻松,培养开发逻辑思维。Modkit编程界面如图1.10所示。
图1.10 Modkit编程界面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。