基于图形化编程的实验设计

基于图形化编程的实验设计

概述

可视化编程的物联网工程认知实验平台,是一种将计算机语言中的要素图形化,通过图解方式介绍物联网的概念、知识体系结构、计算机语言以及对编程工具入门学习的工具。这种工具可以将算法的代码和产生的结果生动形象的表示出来,帮助学习者认知物联网相关概念、知识体系结构、计算机语言中的要素及程序设计方法。物联网的知识体系与可视化编程平台的结合可使物联网工程专业学生对于本专业的学习,抛开抽象的符号与语法,让语言外观更加接近人的思维方式。把物联网知识体系结构,系统架构通过像拼图一样的语法要素形象表示出来你,让初学者不会感到单调乏味,提高了对本专业自主学习的兴趣。
本项目旨在提出一种用于初学者,可以在移动设备上面工作的,计算机语言及其程序的可视化物联网工程认知学习实验平台。这种平台支持一种可以解释执行的脚本语言,这种语言不使用键盘录入,而是通过在显示屏幕上拖动来选择语言所支持的元素,然后在代码编辑区中组合而成,使这一语言的功能等同于一种类C的脚本,并且这一平台有限度的支持多媒体功能,使学生的自主学习可以具有趣味性,降低学生对物联网整个知识体系结构认知的难度。由于编译执行的实现难度较大,仅实现解释执行。由于教育编程语言的实现没有一般编程语言编写独立运行程序的需要,所以脚本将不支持脱离编辑环境独立运行。

实验环境及硬件介绍

本文所使用到的实验材料和图形化编程工具,在实际使用过程中如Ardublock是经过针对具体硬件改造,能够适应我们相关的硬件。相关实验如硬件材料有Arduino开发环境、Ardublock、液晶面板1602、温湿度传感器、WeMos D1 R2 开发板、杜邦线、面包板等、下面将对材料做出简要的介绍:
a) Arduino IDE
开源Arduino软件(IDE)可以轻松编写代码并将其上传到电路板上。它可以运行在Windows,Mac OS X和Linux上。环境是用Java编写的,基于Processing和其他开源软件。该软件可以与任何Arduino板一起使用。有关安装说明,请参阅相关入门页面。
b) Ardublock
一款为设计的图形化编程软件,由上海新车间创客开发。官方的第三方软件,目前必须依附于Arduino软件下运行,区别于Arduino文本式编程环境,ArduBlock是以图形化积木搭建的方式编程的,这样的方式会使编程的可视化和交互性加强,编程门槛降低,即使没有编程经验的人也可以尝试给Arduino控制器编写程序。
c) WeMos D1 R2 开发
WeMos D1 R2 V2.1.0 WiFi 开发板是ESP8266基于arduino nodemcu 编译器开发设计,可以独立运行ESP8266MCU程序和Arduino UNO程序。
d) 温湿度传感器 DHT11
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技 术,确保产品具有极高的可靠性与卓越的长期稳定性,成本低、相对湿度和温度测量、超快响应、抗干扰能力强、超长的信号传输距离、数字信号输出、精确校准。传感器包括一个电阻式感湿元件和一个NTC 测温元件,并与一个高性能8位单片机相连接。
e) LCD1602液晶显示器
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
f) Node-Red
Node-Red是IBM公司开发的一个可视化的编程工具。它允许程序员通过组合各部件来编写应用程序。这些部件可以是硬件设备(如:Arduino板子)、Web API(如:WebSocket in和WebSocket out)、功能函数(如:range)或者在线服务。
Node-Red提供基于网页的编程环境。通过拖拽已定义node节点块到工作区并用线连接node创建数据流来实现编程。程序员通过点击‘Deploy’按钮实现一键保存并执行。程序以JSON字符串的格式保存,方便用户分享、修改。
Node-Red基于Node.js,它的执行模型和Node.js一样,也是事件驱动非阻塞的。理论上,Node.js的所有模块都可以被封装成Node-Red的一个或几个node。

实验环境及硬件介绍

1) 环境数据感知实验
本实验采用图形化编程软件利用温湿度传感器采集环境数据,并在本地液晶面板显示采集到的数据,使得初学者能够理解感知层的据采集等的物联网感知层的基本工作原理和系统构成,了解可编程的智能设备。实验所采用的软硬件材料是Arduino开发环境、Ardublock、液晶面板1602、温湿度传感器、WeMos D1 R2 开发板、杜邦线等。
实验需要在Arduino中打开ArduBlock在其中,通过拖拽模块的方式,开发出实验代码,代码如图2.1所示。然后按照如图2.2所示连接实验硬件,将代码上传至Arduino目标开发板中,就可以得到相应的实验结果。
实验一硬件代码
硬件连接示意图
2) 数据可视化展示实验
本次实验是通过图形化编程将传感层采集到,并通过图形化编程控制WiFi,将传感器的数据发送到网络端的服务器,在服务器上利用图形化编程技术,实现了网络的联网以及数据的可视化展示。让初学者学习感知层和网络层的协作完成基本联网功能,初步了解服务器端的基本工作。图形化的设计减轻了初学者在初次认识服务器时的诸多难题,同时也增加了在学习时的兴趣。在本次实验中用到的实验器材如下:Arduino IDE 、Ardublock 、Node-Red、Arduino D1开发板、温湿度传感器、LCD1602液晶显示器、杜邦线若干、面包板等材料。
实验二硬件端代码
实验二服务器端代码
数据可视化展示
3) 移动端应用实验
本次实验的主要任务是实现在智能手机端,使用Web控件实现网络功能的移动化展示,同时使得初学者了解物联网应用层在移动客户端的基本表现形式,学习物联网应用的基本构成和工作原理。在针对于初学者在学习移动应用的开发过程中环境的搭建的复杂度、机器的配置不够、对相关代码编码难等问题,利用官方提供的移动应用图形化开发工具完成对移动应用的图形化开发,降低了开发难度,增加了在开发上的趣味性。
实验在实验二的基础上增加了APP开发,需要在MIT的远程服务器上开发好如图2.6所示应用的图形化代码,完成应用的开发工作,并且把应用安装在移动应用中。并且在Node-Red中按照图2.7所示,修改相应的Node-Red代码并部署好之后,就可以在移动应用中看到如图2.8所示的数据移动展示。
移动端代码
服务器端代码
移动终端数据可视化展示
4) IoT综合实验
本次实验的主要目的是使得初学者在系统整体架构层面对物联网系统产生宏观认知,并且拓展引申各个层面的其他技术和典型应用。实验过程中利用服务器作为中介,实现手机端应用对物联网设备进行远程控制。排除了初学者在面对集成系统时,对编程难等的问题。
实验主要是将前三次实验做集成,并且在服务端(图2.10)、硬件端、手机终端等增加了相应的代码,完成了对IOT综合实验的设计和实现,手机终端效果如图2.11所示。全过程均采用了图形化编程的技术,避免了编程难的问题。使得初学者能够快速实现对系统的集成,以及建立起对IOT系统结构的认知。
综合结构图 服务端图形化实验代码
移动终端数据可视化显示

总结

目前物联网导论中设计许多重要的概念需要学生去理解,而理解这些概念最好的方式是通过动手实践,然而,就初学者而言面对如此浩大的编程难度,做这样的实验简直是不可能的。本文针对于目前存在的这样一个问题,引入了图形化编程技术,使得初学者完成这个实验的可能性成为了可能,而且在做实验的过程中增加了做实验的趣味性。利用图形化编程技术在完成上述实验时只要会一点基础的概念,会一点基础的计算机知识,在老师的指导之下就能够完成相应的实验,并且对物联网的数据感知、可靠传输、只能处理,以及对整个系统的认识,有很大的帮助。

参考文献

[1]陈有志. ArduBlock:物理世界与虚拟世界的桥梁[J]. 中国信息技术教育, 2013(12):76-78.
[2]Clergeot M. ArduBlock[J]. 2012.
[3]佚名. 新车间Arduino国形化编程软件———ArduBlock[J]. 无线电,2012(7):15-17.
[4]Wolber D. App inventor and real-world motivation[C]// ACM Technical Symposium on Computer Science Education. ACM, 2011:35-38.
[5]郭守超, 周睿, 邓常梅,等. 基于App Inventor和计算思维的信息技术课堂教学研究[6]. 中国电化教育, 2014(3):91-96.
[7]尹贵祥. 可视化编程技术的探讨[J]. 伊犁师范学院学报:社会科学版, 2001(1):94-96.
[8]丁旭. 面向对象和可视化编程技术[J]. 七一六所科技学报, 1997:9-12.

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页