胡雄強 張偉 袁貴鋒 王明倩 任康 郝葉楠



摘要:硬件系統開發選用當前流行的開源硬件樹莓派(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
#include
#include
#include
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.