基于树莓派的负载控制系统设计*

2017-10-21 03:40刘长俊朱培根
网络安全与数据管理 2017年19期
关键词:树莓云端智能家居

刘长俊,朱培根

(解放军理工大学 国防工程学院,江苏 南京 210007)

基于树莓派的负载控制系统设计*

刘长俊,朱培根

(解放军理工大学 国防工程学院,江苏 南京 210007)

树莓派具有众多潜在价值,已成为当前研究的热点。基于树莓派设计了一种能为Android设备提供访问接口的负载控制系统。利用安装了Raspberry Control应用的设备监测负载的工作状态,同时可通过相应的操作改变树莓派引脚的状态,达到驱动继电器实现对连接负载的控制。该系统通过编程可以精确统计连接负载能耗,并且用户可以通过云端服务器随时随地地获取负载能耗数据。

树莓派;控制系统;负载;智能家居

0 引言

智能家居系统这个概念的提出,吸引了大批研究人员投身于其控制系统的研发,因为这涉及人们生活方式和消费方式的改变。在前人的研究成果中不难发现,诱导人们走向智能化和自动化的生活的原因是全球老年人口的增长[1]。近些年来,伴随着新技术的发展,特别是目前主流的嵌入式系统的发展,智能家居控制系统得到了极大的普及,并且以亲民的价格进入销售市场。智能家居控制系统可以为人们提供更便利的生活、更高的节能效率以及更好的安全保障[2]。智能家居对于那些需要照顾的老人和残疾人来说是福音,同时还可以协助护理人员更好地工作。智能家居早期只是科学幻想,但随着半导体行业日益发展,这样的情景已从虚拟变为现实。当前基于蓝牙、GSM、Java和SMS的智能家居已经进入市场,例如Google、三星、飞利浦和小米都有销售智能家居方面的产品,但这些家居的控制系统集成了大量的部件,造成较高的制造成本和较差的性能体验,而设计智能家居控制系统的基本原则是提高灵动性、增加扩展性和扩大设备控制范围。

1 系统结构

随着科学技术的迅速发展,Android设备的应用变得非常广泛和流行,已经成为人们生活中不可或缺的重要工具。本文提出一种负载控制系统,用户可在任何地点将Android设备作为遥控设备,经Web服务器对负载的工作状态进行控制,而不再需要在设备的中央控制面板前进行操作。用户还可以使用自己的服务器将能耗数据上传到云端,通过Android设备随时随地查看云端数据,即时检查负载的工作状态,同时云端可以确保负载控制系统的安全性和可靠性。该系统结构简单,容易理解和实现。其系统框架结构如图1所示。

图1 负载控制系统框架

该系统的主要目的是改进该领域已有方法存在的不足。该负载控制系统主要优点是:采用模块化的安装,增加系统的易用性,且带有自动生成能耗报告的功能,节省人力和物质资源;系统非常灵活,通过连续监控负载状态可以有效地提高负载的寿命。因此该系统具有安全和节能的特点;系统采用易于控制和管理负载的协议,并且在通信方面具有安全性、高效性和稳定性。

2 系统实现

2.1树莓派

树莓派由Raspberry Pi基金会开发,它的初衷是以廉价的硬件价格,提供给学校和有兴趣学习编程的人使用[3]。树莓派的外形只有信用卡大小,它可以外接USB、网线、HDMI、音频设备等,具备一台普通PC的所有基本功能,只是CPU和内存稍微小一点而已。如图2所示是Raspberry Pi电脑板,中文名为树莓派。

图2 树莓派

树莓派基于ARM架构,到目前为止树莓派社区中发布的操作系统版本已经达到十几种,包括Fedora、Ubuntu、Windows和官方推荐的Raspbian等。树莓派最大的优势是软件,其软件包的数量已经超过35万,并形成了一个生态系统。树莓派还支持Python、Java和C语言,这都为后续的物联网软件开发提供了便利[4]。目前最新的树莓派型号是3代B型,其主要配置见表1。

树莓派提供大量的GPIO针脚和SPI总线用于连接各式传感器和电机等并对其进行编程,目前已有很多商家推出了扩展板为其提供更加丰富的功能,所以完全能够胜任物联网硬件平台这一任务。

2.2安装组件

在树莓派上进行任何工作之前都要安装必要的组件。将树莓派连接到互联网后,通过执行相应的软件安装命令,树莓派就可以像Linux一样直接从互联网下载并安装相应的软件;通过更新和升级命令,树莓派可以检查并更新系统中所有过期的软件。树莓派的默认编程语言是Python,

表1 树莓派3代B型配置

因此必须安装如python、python-dev和python-pip等一些重要Python软件包,因为这些组件可以为Python编辑器的正常工作提供一个完全的编程环境。

树莓派的操作引脚GPIO(General Purpose Input Output)的功能是便于用户在树莓派发送和接收信号,可以通过安装RPi.GPIO软件包来使用[5]。除此之外,还要在树莓派中安装如matplotlib、numpy、scipy、pandas和qt4等具有绘制图形功能的软件包。

Apache是一个应用广泛的Web服务器,用于运行Web应用程序[6]。Apache连同它需要的脚本语言(PHP)可以通过以下命令来安装:

sudo aptitude install apache2 php5

SSHFS(SSH文件系统)是基于客户端的文件系统。SSH能够替代传统的网络文件系统,可以在不需要远程端安装任何特殊软件的情况下为SFTP扩展提供基础支持,安装命令如下:

sudo apt-get install sshfs

2.3云端服务器

Yeelink能够同时完成海量的传感器数据接入和存储任务,确保数据能够安全地保存在互联网上,先进的鉴权系统和安全机制能够确保数据只在允许的范围内共享。用户可以通过使用Yeelink客户端或直接访问Yeelink主页两种方式访问存储在云端的数据。Yeelink的一般使用步骤是:(1)在Yeelink主页注册,按照Yeelink主页提供的流程点击添加设备,输入设备信息,并在地图中选择设备所在地;(2)进入到设备管理界面,设置设备图片后,可以添加数值型传感器和开关型传感器,并设置传感器信息;(3)传感器添加完成之后会在设备下面显示不同传感器的ID,ID会在编程中使用;(4)进入账户找到API密码,该密码在进行传输数据时使用。Yeelink设置基本完成后,其余部分通过编写程序完成。

2.4继电器

继电器具有控制系统和被控制系统之间的互动关系,是实现小电流控制大电流运作的一种“自动开关”,在电路中起着自动调节、安全保护、转换电路等作用。继电器电路可以很容易地通过树莓派的引脚进行驱动,从而实现对控制系统中负载电源的控制[7]。例如,一个四路继电器可以根据树莓派的引脚控制信号同时控制4个负载。

2.5控制应用

Raspberry Control应用可以让用户管理树莓派并运行命令,主要功能包括按需运行命令并在窗口内获取输出内容;保存和编辑命令指令来在任何时间运行命令。树莓派上安装Raspberry Control常用方法是通过树莓派上的控制台实用程序Terminal来实现,主要步骤是:(1)执行命令下载软件包;(2)解压下载的tar.gz文件;(3)运行安装脚本,并重新启动树莓派。通过WiFi将树莓派连接到服务器后,服务器将为树莓派分配一个固定的IP地址,可以在Terminal中输入命令进行查看。

Android设备安装Raspberry Control应用后,为顺利将树莓派和设备进行连接,必须将树莓派和Android设备连接在同一个服务器中。启动设备上的Raspberry Control应用,并输入树莓派提供的IP地址后可以建立连接,随后Raspberry Control会显示其所有的功能。此时,用户可以通过Raspberry Control进行触摸操作改变树莓派的操作引脚状态,进而驱动继电器实现对负载的控制。

2.6效果

负载控制系统还可以为用户实现对连接负载能耗的统计。使用Python代码连续记录操作系统时间和对应的负载能耗,这些数据以字符串的形式按照一定的时间间隔存储在树莓派上,通过绘图软件可将这些字符串值绘制成图表,并以图片文件的形式存储在指定的文件夹。Yeelink可将指定路径的数据上传到云端,用户可通过客户端和网站主页随时随地查看负载的实时能耗数据。

3 结论

本文建立的负载控制系统是一个基于云的实时监测控制系统,它具有很大潜在灵活性、扩展性和安全性。负载控制系统不是一个新的概念,因为前人已经通过蓝牙、GSM、Java和SMS等协议做出了大量的工作,但是没有实现Android设备和微控制器的联合使用。树莓派集成了WiFi模块后具有很强的易用性和灵活性,它可以通过互联网按用户需求实现对负载的监控。本文建立的系统化工作模块实现了Android设备与树莓派的潜在优势的融合,对于未来智能设备控制系统的设计具有一定的指导意义。

[1] 侯冉冉, 张亮. 关于智能家居系统的探讨[J]. 智能建筑电气技术, 2010, 4(2):3-7.

[2] 孙国新. 基于ZigBee技术的智能家居系统研究[D]. 天津:天津科技大学, 2011.

[3] 李杨, 郭培源, 刘波,等. 基于嵌入式技术的居室健康环境监测系统[J]. 电子技术应用, 2014, 40(8):24-26.

[4] 刘继元. 基于树莓派的物联网应用[J]. 电子世界, 2016(8):24-25.

[5] 张怀柱, 姚林林, 沈扬,等. 基于树莓派的农作物低空观测系统设计[J]. 吉林大学学报(信息科学版), 2015, 33(6):625-631.

[6] 刘长虹.能力测试系统的设计与实现[D].天津:南开大学,2012.

[7] 陈刘明.基于虚拟仪器的继电器测试系统的设计与实现[D].苏州:苏州大学,2012.

Design of load control system based on Raspberry Pi

Liu Changjun, Zhu Peigen

(National Defense Engineering Institute, PLA University of Science and Technology, Nanjing 210007, China)

Raspberry Pi has become a popular paradigm because of the numerous advantages and is suitable for academic research. This paper proposes a method for an implementation of Raspberry Pi based load control system which can provide access interface for Android device. The operating pins of Raspberry Pi can be controlled by the corresponding touch screen operation in the Raspberry control application. And the relay can control the power connection of the load through the state of the pins. The power consumption profile across the connected load is measured accurately through programming, and users can access the graph of total power consumption anytime and anywhere using their cloud drive.

Raspberry Pi; control system; load; smart home

TP273

A

10.19358/j.issn.1674- 7720.2017.19.022

刘长俊,朱培根.基于树莓派的负载控制系统设计[J].微型机与应用,2017,36(19):78-80.

国家863计划资助项目(2015AA050401)

2017-04-15)

刘长俊(1993-),通信作者,男,硕士研究生,主要研究方向:地下工程通风空调节能技术。E-mail:tyutlcj@163.com。朱培根(1964-),男,博士后,教授,主要研究方向:地下工程除湿与节能技术。

猜你喜欢
树莓云端智能家居
四海心连·云端汇聚
云端之城
基于PLC的智能家居控制系统研究
基于树莓派的骑行智能头盔设计
基于Zigbee的无线通信技术在智能家居中的应用
基于树莓派的远程家居控制系统的设计
智能家居发展或将实现弯道超车
云端创意
响应面法优化红树莓酒发酵工艺
在云端