用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第四部分•完結篇

第1部分:用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第一部分
第2部分:用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第二部分
第3部分:用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第三部分

大家好,我是吉田!
創作一款讓家中更舒適、讓在家辦公更高效的設備,這個專案終於迎來了劇終篇。這次我們將會再增加一些功能,以完成這個專案。我們會添加一個根據天氣預報資訊和天氣情況提示主人行動的功能,最終創作完成這個可以營造舒適環境的設備,讓您即使在家辦公也可以舒適地工作!

raspberrypi-comfortable-space-device-04-1

 

本部分所需零件

Raspberry Pi 3 B+Raspberry Pi 4 Model B

raspberrypi-comfortable-space-device-03-2

Raspberry Pi 3 B+

raspberrypi-comfortable-space-device-03-3

Raspberry Pi 4 Model B

 

Raspberry Pi用液晶顯示器觸控顯示器

raspberrypi-comfortable-space-device-03-6

Raspberry Pi用液晶顯示器

raspberrypi-comfortable-space-device-04-2

觸控顯示器

 

羅姆SensorMedal(SensorMedal-EVK-002)

raspberrypi-comfortable-space-device-03-4

 

熱釋電紅外線感測器 (SB412A)

raspberrypi-comfortable-space-device-03-5

 

小型揚聲器

raspberrypi-comfortable-space-device-04-3

 

手機電池

6

 

USB設備

7-2

 

本部分的流程

  1. 根據感測器的值控制硬體
  2. 關聯天氣資訊和互聯網資訊
  3. 完成這款可以營造舒適環境的裝置
  4. 總結

 

1. 根據感測器的值控制硬體

第二部分中,我們使用SensorMedal測量了溫度和濕度;在第三部分中,我們添加了人體感測器。最初,我們也是打算利用感測器的值來實現下面這些功能的,所以讓我們來把它們變為現實吧。

編號 檢測功能 檢測後希望具備的功能
1 檢測房間的溫度 根據室溫控制風扇等
2 檢測房間的舒適度(例如濕度) 如果濕度高,將空調設置為除濕模式
5 檢測坐在椅子上的時間 檢測到坐的時間太久(久坐不動),督促主人站起來活動活動

 

首先是檢測完溫度後,如果室溫高於一定水準,需要自動打開風扇保持涼爽。在Raspberry Pi上插入USB迷你風扇。

raspberrypi-comfortable-space-device-04-4

 

要想讓風扇根據室溫情況打開或關閉,需要使用第二部分中用過的hub-ctrl命令來控制Raspberry Pi的USB功能。例如,當室溫超過26℃時,給USB通電讓風扇轉起來。

另外,當使用人體感測器測得您在工作檯周圍停留超過某一時長(久坐)時,讓Raspberry Pi發出聲音來提醒您可能會很有趣。下面,我們將迷你揚聲器插入Raspberry Pi。

raspberrypi-comfortable-space-device-04-5

 

獲取名為“AquesTalkPi”的可以朗讀的語音合成軟體,在Programs下解壓。

 

然後,我們嘗試讓它播放“該休息了”之類的聲音。

 

要實現這些功能,需要在第三部分中使用過的ble_lcd.py程式中,添加下面的第2行、第29〜36行(溫濕度控制)和第4〜6行、第12〜17行、第38〜43行(人體感測器控制)的內容。

[ble_lcd.py]

 

raspberrypi-comfortable-space-device-04-6

 

2. 關聯天氣資訊和互聯網資訊

最後,我們可以從網上獲取天氣預報等資訊,這樣會很方便。如果要下雨,最好讓它大聲朗讀並提醒主人採取必要的行動。

編號 檢測功能 檢測後希望具備的功能
6 確認天氣 如果天氣預報有雨,提醒主人將曬在外面的衣物收回來

首先,我們需要使用名為“OpenWeatherMap”的服務來獲取天氣預報。如下圖所示,該網站是英文的,但是從上面可以輕鬆獲取日本國內天氣,所以我們將使用這裡提供的API。
https://openweathermap.org/api

raspberrypi-comfortable-space-device-04-7

 

從該頁面的右上方創建一個帳戶並登錄。然後進入稱為“API Keys”的頁面,確認Key(秘鑰)並複製此金鑰。

raspberrypi-comfortable-space-device-04-8

 

接下來,我們需要創建一個可以獲取天氣預報的程式。首先,要安裝以下庫檔。

 

創建一個名為“forecast.py”的示例程式。將剛剛複製的金鑰輸入API_KEY部分。另外,需要在ZIP部分輸入您的郵遞區號,並添加國家代碼“JP”。下面,我們讓剛剛的Aquestalk軟體也能夠播報天氣吧。

[forecast.py]

如下所示,運行該程式時,將會返回指定地區的天氣預報。於是,Raspberry Pi就會向您播報今天的天氣預報了,比如“多雲”。

 

3. 完成這款可以營造舒適環境的裝置

下面,我們將液晶顯示器、揚聲器、人體感測器和USB設備都連接到Raspberry Pi,以完成該設備。

SensorMedal可以放置在BLE範圍內的任何位置,因此可以將其放置在您桌子周圍或窗戶附近。當然,您也可以將它放在電腦附近或掛在牆上。

raspberrypi-comfortable-space-device-04-9

 

下面是該設備的最終程式,可以讓設備根據SensorMedal、人體感測器和天氣預報等資訊執行任務。程式僅供參考。

[ble_lcd.py]

 

最後,我們讓這個程式能夠自動啟動吧。首先,創建一個shell程式來運行Python程式。需要進行服務設置,以使啟動該shell程式時能夠執行Python程式。

[blelcd.sh]

 

[blelcd.service]

 

現在,當您重新啟動它時,Raspberry Pi將會顯示感測器的值,指示燈開始閃爍。

raspberrypi-comfortable-space-device-04-10

 

4.總結

在這個連載系列中,我們針對在家辦公時間增加的情況,創作了一個可以檢測辦公環境並改善環境的設備。

第一部分中,我們思考並列舉了希望實現的目標,也瞭解了用羅姆的SensorMedal可以測得多種值。

第二部分中,我們創建了實際通過Raspberry Pi和BLE連接SensorMedal用的程式。

第三部分中,我們使用人體感測器,實現了檢測是否有人(是否久坐不動)的功能。此外,還用液晶顯示器成功顯示了溫濕度和亮度等資訊。

在第四部分,也就是本文中,我們增加了天氣預報等功能,完成了這個用起來非常方便的設備。當您打開Raspberry Pi的電源時,它會自動啟動並執行自動檢測和提醒等任務。
事實上,它現在每天都在我家工作,它會告訴我周圍的亮度,並提醒我別忘了收回曬在外面的衣服!
鼓勵大家也嘗試製作方便您居家生活和在家辦公的設備!

 

相關連載一覽

第1部分:用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第一部分
第2部分:用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第二部分
第3部分:用Raspberry Pi和感測器製作“可自動營造舒適空間的裝置” 第三部分
第4部分:用Raspberry Pi和传感器制作“可自动营造舒适空间的装置” 第四部分•剧终篇(本章)