基于Raspberry PI +Arduino的智能家居系统

2019-03-15 13:31胡雄强张伟袁贵锋王明倩任康郝叶楠
电脑知识与技术 2019年2期
关键词:智能家居物联网嵌入式

胡雄强 张伟 袁贵锋 王明倩 任康 郝叶楠

摘要:硬件系统开发选用当前流行的开源硬件树莓派(Raspberry PI,简写RPI)与Arduino 联合实现,软件设计主要用Phyton语言对引脚定义及编程、Linux 环境配置及驱动安装等。智能家居系统中,Arduino用于采集外围传感器所感知的信息,并将信息传递给 RPI端,RPI再通过路由器将这些数据上传至的物联网平台,用户可以利用移动终端获取居住环境的相关状态数据,并对智能家居系统进行一定远程控制操作。

关键词:嵌入式;树莓派RPI;Arduino;Linux;智能家居;物联网

中图分类号:TP311       文献标识码:A      文章编号:1009-3044(2019)02-0191-03

Smart Home System Based on the Raspberry PI & Arduino

HU Xiong-qiang, ZHANG Wei, YUAN Gui-feng, WANG Ming-qian,REN Kang, HAO Ye-nan

(School of Computer, XianYang Normal University, Xianyang 712000, China)

Abstract: The current popular open source hardware raspberries pi (Raspberry PI, abbreviated RPI) and Arduino was chosen to jointly development hardware system. In the software design, the main facts are phyton language was mainly used to define pin and programming, linux environment configuration and driver installation, etc.Smart home system, the arduino is used for collecting information awareness by peripheral sensors, and it transfer the information to the RPI terminal , RPI will uploaded these data to the platform of internet of thing through a router at least ,users can gain the living environment state data by mobile terminal , and they can control the smart home system for remote operation.

Key words: embedded; raspberry pie RPI; Arduino; Linux; smart home; Internet of things

1 引言

随着计算机技术及电子技术的不断发展,智能家居已悄然生起。本次开发通过使用Raspberry PI和Arduino 联合开发,设计一个价格低廉、易于实现兼容性强的智能家居系统。Raspberry PI[1](简称RPI,中文译为“树莓派”) 与 Arduino[2] 是目前较为流行的开源智能硬件,为智能家居设计提供了简洁、快速的开发工具。本次开发根据物联网的三层架构[3],即:感知层、网络层和应用层而设计。感知层由Arduino 与其上的传感器模块实现;网络层的大部分功能由树莓派 RPI 实现,应用层的功能由网络服务器提供的功能和终端实现。

2 智能家居系统的组成

基于Raspberry Pi+Arduino的智能家居系統采用的硬件设备主要由树莓派B+、Arduino UNO R3、通信模块、PM2.5模块、LCD1602模块、RFID-RC522射频识别模块、DHT11温湿度传感器模块以及舵机驱动模块构成。RPI主要用于控制Arduino UNO R3开发板以及通信,系统功能模块如图1所示。各模块的主要功能:

如下:

1)通信模块:

主要利用串口进行树莓派和Arduino的通信,便于控制。

2)PM2.5模块:

该模块主要用于对室内PM2.5的数据采集,并采集数据传回给Arduino开发板。

3)显示模块:

该模块主要用于接收主控机所发送的数据,显示对应的IC卡的相关信息。

4)射频模块:

该模块主要采用是高度集成的非接触式(13.56MHz)读写卡芯片MFRC522,次发送模块利用调制和调节原理,将他们完全集成到非接触式通信放到和协议中[4]。

5)DHT11模块:

智能家居系统中主要用于采集室内的温度、湿度。

3 硬件系统设计

智能家居系统主要包括树莓派、Arduino开发板、LCD显示器、PM2.5传感器、DHT11温湿度传感器、RFID-RC522射频识别电路、舵机驱动电路以及IC卡刷卡环节。

3.1 智能家居系统的硬件构成

3.1.1 RPI开发板

RPI是一款基于 ARM 的微型电脑主板(BroadcomBCM2835),以 SD卡为内存硬盘[4]。卡片主板周围有两个 USB 接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和 HDMI 高清视频输出接口,具备PC 机基本功能。本次开发选用是 RPI B+,安装的系统为Raspbian,RPI B+的管脚定义如图 2 所示。

3.1.2 Arduino-UNO-R3开发板

Arduino-UNO-R3[5]是一款易用型开源控制器,处理器核心是ATmega328,具有14路数字输入/输出口,其中6路可作为PWM输出,6路模拟输入,16MHz晶体振荡器,具有USB口、电源插座、复位按钮等。本次开发选用Arduino-UNO-R3开发板通过串口线与树莓派连接。

3.1.3 LCD显示屏

选用LCD1602[6]作液晶显示屏,它可以同时显示32个字符。实物如图3所示,主要用来显示一些相关信息。

3.1.4 PM2.5传感器

PM2.5传感器选用 GDS06[7],它是一款红外散射光学质量传感器,其内部对角安放着红外线发光二极管和光电晶体管,使其能够探测到尘埃反射光,可测量0.3 微米以上的微小粒子,感知烟草产生的烟气和花粉、房屋粉尘等,具有体积小、重量轻、便于安装等特点。

3.1.5 温湿度传感器

温湿度传感器选用DHT11[8],是一款含有已校准数字信号输出的温湿度复合传感器,它采用专用的数字模块采集技术和温湿度传感技术,它具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。

3.1.6 RFID

射频识别即RFID(Radio Frequency Identification)技术,是一项利用射频信号通过空间耦合实现无接触信息传递并通过所传递的信息达到识别目的的技术[9]。本模块采用MF RC522芯片[10],该模块与Arduino控制板连接方式如图4所示。

3.1.7舵机

在门禁系统中,设计中舵机选用的是sg90[11]。通过Arduino控制sg90舵机转动,从而实现门禁系统的打开或关闭。舵机红色是正极,棕色是负极,黄色为信号,sg90舵机引脚定义如表1所示。

3.2系统硬件连接

硬件系统中以Arduino-UNO-R3为控制模块,通过控制DHT11温湿度传感器和PM2.5传感器将采集到的数据显示到LCD显示屏上,并通过串口线将数据发送到树莓派;利用RFID-RC522射频识别模块控制舵机转动,系统总体电路连接如图5所示。

4 软件设计

软件设计主要分为Arduino 端及PRI端设计、硬件驱动的安装、开发环境的配置等。

4.1 Arduino 端设计

(1) 导入使用库和定义使用的管脚

#include

#include //LCD

#include

#include //RFID

#include    // 声明调用Servo.h库

Servo myservo;   // 创建舵机对象

int pos = 0;    // 存储舵机位置

4.2 RPI 端设计

1)红外收发模块 lirc 的安装

sudo apt-get install lirc

mode2 -d /dev/lirc0

在/etc/lirc/目录下

修改文件 hardware.conf 内容

LIRCD_ARGS="--uinput"

DRIVER="default"

DEVICE="/dev/lirc0"

/etc/init.d/lirc stop

irrecord -n -d /dev/lirc0 ~/lircd.conf

2)python 编程控制

#安装 pylirc 库apt-get install python-pylirc

3)http 请求与响应;

4)RPI 上传数据与本地红外控制。

5 系统测试

各硬件模块连接后(如图6),树莓派与Arduino-UNO-R3连接,将程序代码导入Arduino IDE软件上,控制PM2.5和DHT11分别采集粉尘和温度湿度,并将采集数据上传至树莓派,软件操作如图7所示。经测试,智能家居实现了温湿度监测、门禁管理、PM2.5监控与报警等功能,系统运行稳定。

6 结论

基于Raspberry PI +Arduino的智能家居系统,搭载温湿度传感器对环境进行实时感知,利用继电器模拟对家庭电器的开关控制,使用 RFID读卡器对出入门禁进行管理。实现了智能家居系统的基本功能,下一步工作是向本系统中添加人脸识别、语音识别等模块,以完善智能家居系统的功能。

参考文献:

[1] Chaitanya K, Karudaiyar G, Deepak C, et al. Multiple Home Automation on Raspberry Pi[J]. 2017.

[2] Sajwan S,Urooj S,Singh M K. Design and Implementation of Unauthorized Object and Living Entity Detector with PROTEUS and Arduino Uno[M]//Information Systems Design and Intelligent Applications. 2018.

[3]郭忠文.物聯网系统设计开发方法与应用[M]. 北京:科学出版社, 2017.

[4]张伟, 王宜怀.基于Raspberry Pi 3的智能家居系统设计[J].单片机与嵌入式系统应用, 2018(2).

[5]ARDUINO  UNO  REV3[EB/OL]. https://store.arduino.cc/usa/arduino-uno-rev3.

[6] 段旭阳,韩延义,王晓丹,等.基于FPGA的LCD1602液晶显示屏系统控制设计[J].工业和信息化教育,2018(3):56-60.

[7]付久强.基于Arduino平台的智能硬件设计研究[J].包装工程, 2015(10):76-79.

[8]卜永波, 罗小玲, 陈一. 基于 DHT11传感器的温湿度采集系统[J]. 计算机与现代化, 2013(11):133-135.

[9] 杨启超. 应用于物联网的近场RFID天线设计[D]. 南京理工大学, 2013.

[10] 电子工程世界.射频芯片MFRC522在读写器终端中的应用设计[EB/OL]. http://www.eeworld.com.cn/mcu/article_2018032138342.html[2018-3-21/2018-10-20]

[11]Sajwan S, Urooj S, Singh M K. Design and Implementation of Unauthorized Object and Living Entity Detector with PROTEUS and Arduino Uno[M]//Information Systems Design and Intelligent Applications. 2018.

猜你喜欢
智能家居物联网嵌入式
搭建基于Qt的嵌入式开发平台
基于Zigbee的无线通信技术在智能家居中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
中国或成“物联网”领军者
关于智能家居真正需求的探讨
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
基于LD3320的智能家居控制