Raspberry Pi 智能風扇

44
嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌 嵌嵌 : 嵌 0 嵌 ˴ 嵌 0 嵌 ˴ 嵌 0 嵌 ˴ 嵌 0 嵌 ˴ 嵌 0 嵌 ˴ 嵌 0 嵌 2016/03/11 嵌嵌嵌嵌嵌嵌 :Joseph 105 嵌嵌嵌嵌嵌嵌嵌 Linux 嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌

Transcript of Raspberry Pi 智能風扇

Page 1: Raspberry Pi 智能風扇

嵌入式動態溫度與回饋完整解決方案成員 : 蔡 0 義 ˴吳 0 瑋 ˴連 0 全 ˴余 0 縈 ˴謝 0 州 ˴曹 0 軒

2016/03/11

專題指導老師 :Joseph

105 艾鍗科技嵌入式 Linux系統工程師人才養成班

Page 2: Raspberry Pi 智能風扇

Outline

1. 動機 / 研究目的 2. 系統實作方法說明 2-1. 系統架構規格 2-2. 系統操作流程圖 2-3. 硬體架構 / 電路圖 2-3-1 溫度感測系統 BME280 2-3-2 網路 2-3-3 風扇速度控制 2-3-4 紅外線遙控 ( 原理與實作 ) 2-4. 軟體架構圖 / 流程圖 / 演算法 2-4-1 溫度感測系統 BME280 2-4-2 網路 2-4-3 風扇速度控制 2-4-4 紅外線遙控 ( 原理與實作 ) 3. DEMO 4. 市場分析 5. 未來展望 / 結論

Page 3: Raspberry Pi 智能風扇

動機 / 研究目的

Page 4: Raspberry Pi 智能風扇

1. 動機與研究目的研究動機 :本專題之發想是鑒於近日因寒流來襲 , 溫溼度隨天氣變化大 , 而家中電器常需要手動方式進行開關 , 無法自動調整溫溼度 . 因此想利用網路 , 以及程式來達到動態調控之方式 .研究目的 :希望能夠自動控制家中之電器 , 減少使用者去遙控電器所需花費之時間。同時可以透過偵測外在環境溫度 , 動態控制風扇轉速。

Page 5: Raspberry Pi 智能風扇

系統實作方法說明

Page 6: Raspberry Pi 智能風扇

2. 系統架構

Page 7: Raspberry Pi 智能風扇

2-1. 系統規格硬體規格 :

1. Raspberry Pi 2+ 2. Raspberry Pi 2+ 子板3. 紅外線遙控器4. 紅外線接收器

PWM 風扇 :1. SUNON PMD1209WTVX-A2. 供應電壓 :12V3. 功率 :7.6W

BME280 規格 :1. 感測器供應電壓 :1.71~

3.6V 2. 支援 SPI/I2C 介面3. 支援溫濕度與壓力感測3. -40~85C 溫度感測範圍

Page 8: Raspberry Pi 智能風扇

Raspberry Pi 2+

Page 9: Raspberry Pi 智能風扇

Raspberry Pi 2+ 子板

Page 10: Raspberry Pi 智能風扇

系統架構

Page 11: Raspberry Pi 智能風扇

系統架構

Page 12: Raspberry Pi 智能風扇

2-3. 硬體架構 - 電路圖

整體硬體架構圖

Page 13: Raspberry Pi 智能風扇

2-3. 硬體架構 - 電路圖

整體硬體架構圖

Page 14: Raspberry Pi 智能風扇

2-3. 硬體架構 - 電路圖

SDASCL3.3VGND

BME280

I2C 通訊BME280 與 I2C 介面

Page 15: Raspberry Pi 智能風扇

2-3. 硬體架構 - 電路圖

Fan / LCM / LEDs

Page 16: Raspberry Pi 智能風扇

2-3. 硬體架構 - 電路圖

紅外線遙控器 & 接收器

Page 17: Raspberry Pi 智能風扇

2-4. 軟體架構 - 流程圖 / 演算法開始

初始化

BME280溫度感測截取

將溫度資料上傳網路

LCM

溫度顯示

PWM隨溫度或 IR訊號變化調變轉

速強 中 弱

風扇

LIRC接收 IR訊號及 IR解

1s

IR發射訊號

Page 18: Raspberry Pi 智能風扇

溫度感測系統BME280

Page 19: Raspberry Pi 智能風扇

溫度感測系統 (BME280)

溫度 / 溼度 / 壓力動態顯示監控網頁

BME280

溫度 / 濕度 / 壓力

Raspberry Pi2(Server)

抓取 BME280溫濕度壓力資訊( 次 /0.5s)

寫入 buffer

I2C

C 語言 讀取 buffer 資訊( 次 /1s)

PHP

HTMLjavaScript

Page 20: Raspberry Pi 智能風扇

溫度感測系統 (BME280)

Page 21: Raspberry Pi 智能風扇

溫度感測系統 (BME280)

每十秒更新一次最近十秒的溫度

Page 22: Raspberry Pi 智能風扇

風扇速度控制

Page 23: Raspberry Pi 智能風扇

風扇速度控制 (1/3)

透過 python 爬蟲抓取溫濕度顯示在 LCM

Page 24: Raspberry Pi 智能風扇

轉速慢

轉速中

轉速快

風扇速度控制 (2/3)

Page 25: Raspberry Pi 智能風扇

此專題呈現的風扇轉速會由溫度上升或降低 , 改變風速大小 , 是因為透過 Raspberry pi從網站上抓取溫度的數值 , 藉此數值判斷風扇該轉速 , 應用此概念可以很容易的實現家中電器的開關 , 運轉功率大小等等相關物聯網的應用。

風扇速度控制 (3/3)

Page 26: Raspberry Pi 智能風扇

IR Remote Control紅外線遙控

Page 27: Raspberry Pi 智能風扇

紅外線控制流程圖

Page 28: Raspberry Pi 智能風扇

紅外線控制 ( 演算法 )

約 1690 us 約 560 us

長訊號"___" 短訊號" ● "

Page 29: Raspberry Pi 智能風扇

lasttv tv

deltv

Sense^signal =1(space)

Sense^signal =0(pulse)

Sense = 1接收進入到Irq_return

Sense = 0 | 1 (Active high | Low)

do_gettimeofday()

算deltv

deltv=1000000*(tv.sec-lasttv.sec)+(tv.usec-

lasttv.usec)

Signal^sense是1?

Yes

是Space

No是Pulse

將資料寫入到frame buffer

將資料寫入到frame bufferpulse_bit 設為1

將目前的時間tv記錄到lasttv中

Deltv>15

Yes

Signal^sense=false

Yes

將sense反向

Sense=1No

Tv.sec-lasttv.sec<0|Tv.sec==lasttv.sec &&

tv.usec<lasttv.usec

Yes

Show 警告訊息

No

No

IR發射

進中斷 , 計算目前的時間Normal Operation:計算時間差

將資料寫入 FrameBuffers

Pre-Operation:長久不按後的處理

Pre-Operation:抓取時間有誤時

Page 30: Raspberry Pi 智能風扇

紅外線控制 ( 實作 )

硬體準備• 一個 IR 發射器及一個接收器 (使用 Raspberry

pi Education Kit)

Page 31: Raspberry Pi 智能風扇

Key 0 Key 1 Key 2

“ ● "

“ __ "

“ ● " “ __ "

“ __ "

Leader code

Cus

tom

cod

eD

ata

code

“ ● "

紅外線控制 ( 解碼示意圖 )

Page 32: Raspberry Pi 智能風扇

LIRC 接收程式流程圖

開始

等待訊號

訊號是否結束?

是否有相對應的資料?

初始化

儲存訊號資料KeyCurrent [ ]

比對訊號執行指令

import RPi.GPIO as GPIOi=0key0 = [446, 167, 56, 9, 57, 8, ...]key1 = [445, 165, 55, 6, 55, 6, …]key2 = [441, 170, 53, 5, 55, 5, …]key3 = [448, 166, 54, 5, 58, 5, …]

KeyCurrent = [444, 166, 55, 6, 57, 8, 56, 9, … ]

KeyCurrent [ 9 ~ 68 ]=[56, 8, 166, 5, 166, 4, 166, 7, 55, 4, 169, 4, …]

key0 [ 9 ~ 68 ]=[56, 8, 166, 5, 166, 4, 58, 7, 55, 4, 169, 4, …]

KeyCurrent [ 9 ~ 68 ]=[56, 8, 166, 5, 166, 4, 166, 7, 55, 4, 169, 4, …]

key3 [ 9 ~ 68 ]=[56, 8, 167, 8, 163, 4, 164, 7, 51, 4, 168, 4, …]

key0 : Dytycircle(100) => 轉速最強

key1 : Dytycircle(100) => 轉速中

key2 : Dytycircle(100) => 轉速最弱

key3 : 跳出 IR mode 進入 AUTO mode

Page 33: Raspberry Pi 智能風扇

3. DEMO(youtube)

Display

Page 34: Raspberry Pi 智能風扇

未來展望 / 結論環境已達到人體可接受的溫度時或不在使用時 , 便可以將此電器關閉 , 達到節能的目的 .能將網頁與資料庫連結 .

Page 35: Raspberry Pi 智能風扇

Thank you !!

Page 36: Raspberry Pi 智能風扇

市場分析生命構成三要素

Page 37: Raspberry Pi 智能風扇

市場分析

Page 38: Raspberry Pi 智能風扇

市場分析國內市場

Page 39: Raspberry Pi 智能風扇

CIS &介面設計白底 + 釉藍 + 馬卡龍粉綠

Page 40: Raspberry Pi 智能風扇

網頁內容

Page 41: Raspberry Pi 智能風扇

網頁內容

Page 42: Raspberry Pi 智能風扇

未來展望Web 化的控制

BME 280溫度、濕度、時間

由 PHP 讀寫&存取 MySQL溫度、濕度、時間

本地端儲存空間

Page 43: Raspberry Pi 智能風扇

未來展望智能化連結(如:智慧開關、循環扇)

Page 44: Raspberry Pi 智能風扇

未來展望畜牧業