论文部分内容阅读
一、引言
近年来物联网编程工具Node-Red和树莓派以学习门槛低、硬件成本低和具有趣味性的特点,在中职信息技术教学中倍受青睐。如广州市中职信息技术教研会在2019年举行了两期树莓派与人工智能机器人培训,全国职校信息技术技能大赛中职组在2018年和2019年举行了可视化智能控制系统设计与调试竞赛,该赛项的内容正是使用Node-Red编程工具和树莓派。
目前的中职物联网应用系统开发课程教学主要选择单片机和C语言作为开发工具,而本文则基于实践教学设计,介绍了如何使用可视化编程工具Node-Red和树莓派进行物联网应用系统开发。
二、树莓派和Node-Red
树莓派(Raspberry Pi)的尺寸只有信用卡大小,是为计算机编程教育而设计的微型电脑。它除了能代替日常桌面计算机的用途外,还能使用GPIO(General-Purpose Input/Output,通用输入/输出端口)为物联网应用提供很好的实践案例。官方推荐安装操作系统为基于Debian的Raspbian,该系统中预安装了Node-Red编程工具。
Node-Red是IBM开发的一个开源项目,以新颖有趣的方式将硬件设备、应用程序接口、在线服务连接起来,编程时只需要在浏览器中拖拽节点(Node),然后把这些节点用线连接起来,而数据则通过这些连线在节点间传递。节点是封装了特定功能的模块,核心节点会随Node-Red一起被默认安装,包括8个主要类别:输入、输出、功能、社交、存储、高级和Raspberry Pi。除了核心节点外,用户还可以在线安装其他节点,如仪表盘节点(node-red-dashboard)、DHT温湿度传感器(node-dht-sensor)等等。正是由于Node-Red这种简单、高效的编程方式,它被用作物联网的一种粘合剂并很快发展成为一种通用的、可视化的物联网编程工具。
三、系統功能设计
物联网应用系统以智能教室系统为例,实现的功能包括:在终端显示教室灯光当前的状态;进行开灯、关灯操作;显示教室实时的温度和湿度。除此之外,系统还能够设定温度的阈值,如果温度高于设定的值,系统则发出人声报警(“湿度太高,可以开空调”)和蜂鸣器鸣叫,并能够设定湿度的阈值,如果湿度高于设定的值,则自动打开排气扇进行抽湿。
四、硬件设计
现实智能教室功能的硬件主要包括树莓派、LED、DHT11温湿度传感器、蜂鸣器、12V排气扇、12V电源、继电器、杜邦线。然而因为树莓派GPIO输出不能达到12V,无法直接驱动排气扇,所以需要使用继电器进行电路转换。
树莓派提供40个GPIO引脚,通过它们输出高低电平或者通过它们读入引脚的状态:高电平或低电平。用户可以通过树莓派的GPIO口和硬件进行数据交互、控制硬件工作、读取硬件的工作状态信号等,GPIO引脚如图1所示。
图1树莓派的GPIO示意图
各种传感器和执行器在树莓派GPIO上的连接设计尽可能布局合理,减少线材交叉,达到方便编写程序又美观的目的。具体说明如下表1所示。
五、编程设计
(一)编程环境
Node-Red可视化编程在智能控制系统的应用,只需要拖拽节点,设置相应的参数,连接节点,即可搭建一个具备数据显示、处理与控制界面的控制系统,可用于通信与控制、物联网、互联网 等行业。Node-Red既可以下载安装在电脑中,也可以在安装了Raspbian操作系统的树莓派中直接使用,更多的安装使用方法可以参考官方网址https://nodered.org/docs/getting-started/,也可以使用在线版Node-Red,如:在浏览器中输入网址https://goiot.cc/,注册登录后即可开始Node-Red的编程之旅。
因为本智能教室系统以树莓派为控制中心,所以更方便的编程方式是在树莓派中开启Node-Red服务,然后在同一局域网中电脑端的浏览器中访问http://
近年来物联网编程工具Node-Red和树莓派以学习门槛低、硬件成本低和具有趣味性的特点,在中职信息技术教学中倍受青睐。如广州市中职信息技术教研会在2019年举行了两期树莓派与人工智能机器人培训,全国职校信息技术技能大赛中职组在2018年和2019年举行了可视化智能控制系统设计与调试竞赛,该赛项的内容正是使用Node-Red编程工具和树莓派。
目前的中职物联网应用系统开发课程教学主要选择单片机和C语言作为开发工具,而本文则基于实践教学设计,介绍了如何使用可视化编程工具Node-Red和树莓派进行物联网应用系统开发。
二、树莓派和Node-Red
树莓派(Raspberry Pi)的尺寸只有信用卡大小,是为计算机编程教育而设计的微型电脑。它除了能代替日常桌面计算机的用途外,还能使用GPIO(General-Purpose Input/Output,通用输入/输出端口)为物联网应用提供很好的实践案例。官方推荐安装操作系统为基于Debian的Raspbian,该系统中预安装了Node-Red编程工具。
Node-Red是IBM开发的一个开源项目,以新颖有趣的方式将硬件设备、应用程序接口、在线服务连接起来,编程时只需要在浏览器中拖拽节点(Node),然后把这些节点用线连接起来,而数据则通过这些连线在节点间传递。节点是封装了特定功能的模块,核心节点会随Node-Red一起被默认安装,包括8个主要类别:输入、输出、功能、社交、存储、高级和Raspberry Pi。除了核心节点外,用户还可以在线安装其他节点,如仪表盘节点(node-red-dashboard)、DHT温湿度传感器(node-dht-sensor)等等。正是由于Node-Red这种简单、高效的编程方式,它被用作物联网的一种粘合剂并很快发展成为一种通用的、可视化的物联网编程工具。
三、系統功能设计
物联网应用系统以智能教室系统为例,实现的功能包括:在终端显示教室灯光当前的状态;进行开灯、关灯操作;显示教室实时的温度和湿度。除此之外,系统还能够设定温度的阈值,如果温度高于设定的值,系统则发出人声报警(“湿度太高,可以开空调”)和蜂鸣器鸣叫,并能够设定湿度的阈值,如果湿度高于设定的值,则自动打开排气扇进行抽湿。
四、硬件设计
现实智能教室功能的硬件主要包括树莓派、LED、DHT11温湿度传感器、蜂鸣器、12V排气扇、12V电源、继电器、杜邦线。然而因为树莓派GPIO输出不能达到12V,无法直接驱动排气扇,所以需要使用继电器进行电路转换。
树莓派提供40个GPIO引脚,通过它们输出高低电平或者通过它们读入引脚的状态:高电平或低电平。用户可以通过树莓派的GPIO口和硬件进行数据交互、控制硬件工作、读取硬件的工作状态信号等,GPIO引脚如图1所示。
图1树莓派的GPIO示意图
各种传感器和执行器在树莓派GPIO上的连接设计尽可能布局合理,减少线材交叉,达到方便编写程序又美观的目的。具体说明如下表1所示。
五、编程设计
(一)编程环境
Node-Red可视化编程在智能控制系统的应用,只需要拖拽节点,设置相应的参数,连接节点,即可搭建一个具备数据显示、处理与控制界面的控制系统,可用于通信与控制、物联网、互联网 等行业。Node-Red既可以下载安装在电脑中,也可以在安装了Raspbian操作系统的树莓派中直接使用,更多的安装使用方法可以参考官方网址https://nodered.org/docs/getting-started/,也可以使用在线版Node-Red,如:在浏览器中输入网址https://goiot.cc/,注册登录后即可开始Node-Red的编程之旅。
因为本智能教室系统以树莓派为控制中心,所以更方便的编程方式是在树莓派中开启Node-Red服务,然后在同一局域网中电脑端的浏览器中访问http://