資料介紹
描述
當(dāng)我非常專注于項(xiàng)目(比如這個(gè)項(xiàng)目)時(shí),我經(jīng)常會(huì)忘記我的環(huán)境。突然坐在黑暗中或沒(méi)有意識(shí)到需要新鮮空氣的情況并不少見(jiàn)。以前,我購(gòu)買(mǎi)了一個(gè)知名品牌的智能傳感氣象站,我真的很喜歡它的傳感器。我喜歡他們提供的數(shù)據(jù)量。但是我意識(shí)到,我意識(shí)到,我沒(méi)有在一個(gè)該死的設(shè)備上本地訪問(wèn)我的個(gè)人數(shù)據(jù),而這個(gè)設(shè)備就在我旁邊。該設(shè)備僅適用于互聯(lián)網(wǎng)連接,我的所有數(shù)據(jù)都存儲(chǔ)在他們的服務(wù)器上。
將傳感器/設(shè)備連接到互聯(lián)網(wǎng)并不能使其變得智能!
作為一名修補(bǔ)匠,我認(rèn)為我也可以做到這一點(diǎn),甚至可能做得更好,獲得相同的傳感器數(shù)據(jù),向其添加通知和統(tǒng)計(jì)數(shù)據(jù),但略有不同的是,我的數(shù)據(jù)和邏輯將在本地存儲(chǔ)和處理。
所以這就是我所做的:我?guī)е业?Raspberry Pi 并在上面安裝了傳感器,用于測(cè)量溫度、濕度、空氣質(zhì)量、環(huán)境光和氣壓。我決定使用我最喜歡的物聯(lián)網(wǎng)中間件 nymea,并為傳感器編寫(xiě)插件。Nymea 提供了一堆開(kāi)箱即用的東西,例如日志記錄、統(tǒng)計(jì)信息、通知和規(guī)則,因此我可以輕松地在我的環(huán)境中添加一些實(shí)際的智能行為。
組件
我使用了幾個(gè)從亞馬遜購(gòu)買(mǎi)的 I2C 傳感器。我一直在尋找 I2C 空氣質(zhì)量傳感器,但找不到價(jià)格合理的傳感器,所以我將一個(gè)便宜的模擬空氣質(zhì)量傳感器連接到模數(shù)轉(zhuǎn)換器(簡(jiǎn)稱 ADC)。我使用的是 Raspberry Pi 3B+,但支持 I2C 接口的類似硬件平臺(tái)就可以了。
-
溫度和濕度傳感器:我發(fā)現(xiàn)傳感器最
SHT30
適合我的用例。它很便宜,并且注意濕度和溫度之間的物理影響。使用數(shù)據(jù)表讀取值非常簡(jiǎn)單。 -
壓力傳感器:非常流行的壓力傳感器是
BMP180
。使用此傳感器,我還可以獲得溫度和濕度,因?yàn)檎_測(cè)量需要這些值。傳感器在出廠時(shí)已經(jīng)校準(zhǔn),校準(zhǔn)數(shù)據(jù)存儲(chǔ)在芯片中,我覺(jué)得非常整潔。數(shù)據(jù)表為我提供了有關(guān)如何獲得壓力的所有必要步驟。如果你愿意,你也可以計(jì)算海拔高度,但我的用例并不需要它 -
光強(qiáng)度傳感器:有很多傳感器用于此目的。我一直在尋找一個(gè)適合測(cè)量可見(jiàn)光的傳感器,因?yàn)槲蚁朐谖业目蛷d里使用這個(gè)傳感器。我選擇了
TSL2561
,它給我全光譜的光強(qiáng)度測(cè)量,此外,還單獨(dú)給我紅外光強(qiáng)度光譜。這真的很方便,因?yàn)樗试S我從全光譜中減去紅外光譜測(cè)量,從而得到適合人類的光測(cè)量。 - 空氣質(zhì)量傳感器。事實(shí)證明,在不花一大筆錢(qián)的情況下找到合適的空氣質(zhì)量傳感器有點(diǎn)具有挑戰(zhàn)性。我最終得到了一個(gè)模擬 MQ-135 空氣質(zhì)量傳感器。它測(cè)量空氣中的不同氣體,如 NH3、NOx、酒精、苯、煙霧和 CO2。挖掘有關(guān)此傳感器的更多信息表明,從傳感器中挑選出某種氣體并不是最簡(jiǎn)單的事情。必須對(duì)每個(gè)單獨(dú)的傳感器(找到 R0)進(jìn)行校準(zhǔn),并且傳感器需要至少 24 小時(shí)的“老化”階段才能提供任何有用的數(shù)據(jù)。可以在此處找到對(duì)傳感器的詳細(xì)描述和深入研究。其背后數(shù)學(xué)模型的代碼可以在這里找到. 我實(shí)施了該模型,結(jié)果在我的案例中提供的信息多于準(zhǔn)確的信息,但稍后會(huì)詳細(xì)介紹。
連接傳感器
由于 I2C 是并行總線,每個(gè) I2C 設(shè)備都有不同的默認(rèn)寄存器地址,因此無(wú)需更改地址,所有設(shè)備都可以直接連接。空氣質(zhì)量傳感器具有模擬輸出,因此需要一個(gè) ADC。為此,我使用了ADS1115
ADC,它也連接到 I2C 總線,允許我讀取模擬值作為數(shù)字表示。仍然有三個(gè)免費(fèi)輸入,將來(lái)我可能會(huì)用額外的傳感器擴(kuò)展站點(diǎn)。我將溫度傳感器放置在盡可能遠(yuǎn)離空氣質(zhì)量傳感器的位置,因?yàn)榭諝赓|(zhì)量傳感器包含一個(gè)會(huì)變熱的加熱元件。
?
連接后,我檢查了i2c-detect
所有設(shè)備是否根據(jù) Raspberry Pi 上的相應(yīng)數(shù)據(jù)表正確顯示。
$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
軟件
作為我的 Raspberry Pi 的基本操作系統(tǒng),我使用了最新的Raspbian 。使用蝕刻機(jī)將圖像閃存到 micro SD 卡后,我直接進(jìn)行布線和開(kāi)發(fā)。
首先,我從官方存儲(chǔ)庫(kù)安裝了nymea (我最喜歡的開(kāi)源物聯(lián)網(wǎng)平臺(tái))。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key A1A19ED6
sudo apt update
sudo apt install nymea nymea-plugins nymea-cli libnymea1-dev git libi2c-dev
傳感器站的插件不適合主存儲(chǔ)庫(kù),因?yàn)檫@是一個(gè) DIY 項(xiàng)目,但您可以從我的github 帳戶獲取源代碼并為您的系統(tǒng)構(gòu)建它:
# Clone the source code on the Raspberry Pi
git clone https://github.com/t-mon/nymea-sensorstation-plugin.git
cd nymea-sensorstation-plugin
# Build the plugin against the current libraries
mkdir build
cd build
qmake ../
make -j$(nproc)
# Finally install the plugin and restart nymea
sudo make install
sudo systemctrl restart nymead
在我的設(shè)置中,我有飛利浦 Hue燈、Kodi 媒體中心、LG 智能電視、我居住地的天氣信息以及一些其他集成的設(shè)備和服務(wù)。我還啟用了遠(yuǎn)程連接,以便在我的手機(jī)上擁有推送通知服務(wù)(數(shù)據(jù)將保留在本地,我只使用云連接進(jìn)行遠(yuǎn)程連接并接收推送通知)。根據(jù)我從新傳感器站獲得的數(shù)據(jù),這些是我想要控制的設(shè)備。
現(xiàn)在它還包含我的新傳感器站!
插件開(kāi)發(fā)完成后,我在我的系統(tǒng)上安裝了插件,并通過(guò)使用nymea:app作為系統(tǒng)客戶端將傳感器站添加為“事物”。
?
?
讀取傳感器數(shù)據(jù)
在開(kāi)發(fā) I2C 傳感器讀取機(jī)制(不斷啟動(dòng)線程以讀取循環(huán)中的數(shù)據(jù))時(shí),我意識(shí)到每個(gè)傳感器都會(huì)生成大量數(shù)據(jù),并且信號(hào)中也有一些噪聲。為了防止大量數(shù)據(jù)被轉(zhuǎn)儲(chǔ)到日志數(shù)據(jù)庫(kù)、規(guī)則引擎和整體系統(tǒng)性能上,我必須進(jìn)行一些過(guò)濾。在寫(xiě)這篇文章的時(shí)候,系統(tǒng)的閱讀間隔是5分鐘。這似乎是讀取緩慢變化的傳感器(如溫度、濕度和壓力)的好時(shí)間間隔。當(dāng)涉及到快速變化的傳感器數(shù)據(jù)時(shí),例如光強(qiáng)度或空氣質(zhì)量傳感器,系統(tǒng)反應(yīng)緩慢。例如:我打開(kāi)燈,在最壞的情況下,系統(tǒng)會(huì)在 5 分鐘后識(shí)別出燈光增加。不是很好。當(dāng)前的光測(cè)量非常適合緩慢的日光變化,但在處理快速變化方面并不是最好的。問(wèn)題在于數(shù)據(jù)中的巨大噪聲,這使得經(jīng)典的低通/高通濾波或 PID 調(diào)節(jié)器變得無(wú)用,因?yàn)槟惚仨氝M(jìn)行如此強(qiáng)烈的濾波,以至于失去了快速響應(yīng)的效果。
也許本文的讀者對(duì)此問(wèn)題有解決方案?是否有一種濾波器模型/方法可以在嘈雜信號(hào)上實(shí)現(xiàn)平滑、良好的數(shù)據(jù)變化,但對(duì)強(qiáng)變化(如開(kāi)燈)的響應(yīng)時(shí)間快速?
數(shù)據(jù)解讀
我將傳感器站放在客廳沙發(fā)旁邊(因?yàn)檫@是我最想要舒適的興趣點(diǎn)),我讓系統(tǒng)收集數(shù)據(jù)幾天,以查看傳感器數(shù)據(jù)在我的房間中的表現(xiàn)如何環(huán)境
在應(yīng)用程序概覽中,我看到了我的電臺(tái)的當(dāng)前值。
早上,當(dāng)我開(kāi)始新的一天時(shí),我會(huì)打開(kāi)百葉窗和窗戶,因?yàn)槲业墓⒏綦x得很好。來(lái)自我的新傳感器站的數(shù)據(jù)很好地代表了我的“起床”程序,如下圖所示(直接來(lái)自應(yīng)用程序的屏幕截圖)。我在早上 8:30 打開(kāi)窗戶 20 分鐘。
?
- 打開(kāi)窗戶后,溫度下降了約3° C 。然后加熱將溫度調(diào)節(jié)回所需的 22.5°C。
- 開(kāi)窗后濕度明顯下降。
- 今天壓力慢慢下降,這是一個(gè)陽(yáng)光明媚的冬日。
- 光照強(qiáng)度在早上顯示出一個(gè)大的峰值。這是陽(yáng)光直射通過(guò)窗戶到達(dá)傳感器,然后太陽(yáng)升得更高。大約在 10 點(diǎn) 30 分,我打開(kāi)了第二個(gè)百葉窗,在那里你可以看到臺(tái)階。中午前后房間的正常亮度約為 1100 勒克斯。然后價(jià)值慢慢下降,直到日落。
- 打開(kāi)窗戶后,空氣質(zhì)量測(cè)量值明顯下降。數(shù)值越低空氣越好。如果我將窗戶打開(kāi)大約 2 小時(shí),該值約為 300 ppm。再次關(guān)閉窗口后,該值緩慢上升。
下午,當(dāng)外面天色越來(lái)越暗時(shí),我再次檢查了傳感器數(shù)據(jù),結(jié)果如下(我沒(méi)有打開(kāi)窗戶,一個(gè)人在這里,我妻子在 16:30 左右下班回家)。
- 白天溫度升高了一點(diǎn)(天氣晴朗)。并在下午晚些時(shí)候下降(加熱再次打開(kāi))。
- 白天濕度上升,在 18 點(diǎn) 45 分左右達(dá)到頂峰,也就是我真正開(kāi)始做飯的地方。
- 壓力變化非常小。還不確定如何處理這些數(shù)據(jù)。
- 光照強(qiáng)度隨太陽(yáng)一起下降。今天的日落時(shí)間是 17:53。但是在我的客廳里,大約 17:00 時(shí)天已經(jīng)黑了,那里的亮度約為 80 lux。那就是我要開(kāi)燈的地方。在這里我們還可以看到我在 18:45 到 19:20 之間打開(kāi)廚房的燈做飯的時(shí)間。
- 白天空氣質(zhì)量測(cè)量值升高,在我妻子回家時(shí)約 16:30 有一個(gè)更大的峰值,因?yàn)榉块g里有兩個(gè)人在呼吸。我開(kāi)始做飯時(shí)的另一個(gè)高峰。
定義規(guī)則
在對(duì)傳感器值有了良好的感覺(jué)之后,是時(shí)候根據(jù)這些數(shù)據(jù)定義一些規(guī)則和操作了。對(duì)于我的“問(wèn)題”,我定義了兩個(gè)規(guī)則。
我調(diào)用的第一個(gè)規(guī)則Air quality notification
應(yīng)該在空氣質(zhì)量不好時(shí)通知我,這樣我就可以打開(kāi)窗戶,讓我的頭腦保持清醒和清醒。根據(jù)白天收集的數(shù)據(jù),我意識(shí)到,當(dāng) ppm 值高于 2000 ppm 時(shí),我可以感覺(jué)到需要新鮮空氣(散步后回到房間)。如果這個(gè)值只代表 CO2,我可能會(huì)死于 2000 ppm,但傳感器正在檢測(cè)多種氣體,因此有很大的解釋空間。為了進(jìn)行精確測(cè)量,我肯定會(huì)選擇另一個(gè)傳感器,但就我的需要而言,它可以勝任。
一旦該值超過(guò) 2000 ppm,該規(guī)則就會(huì)向我的手機(jī)和我的媒體中心發(fā)送通知。
我調(diào)用的第二條規(guī)則Light sensor rule
應(yīng)該打開(kāi)我的沙發(fā)背景燈,但前提是電視當(dāng)前處于打開(kāi)狀態(tài)。我可以通過(guò)兩種方式做到這一點(diǎn),要么檢查 Kodi 當(dāng)前是否正在播放(我使用Mythtv的Kodi PVR 插件看電視),要么通過(guò)檢測(cè)電視是否可訪問(wèn)來(lái)使用智能電視插件。這兩種情況都適合我。我還可以使用存在傳感器插件,它檢查 LAN 中是否存在網(wǎng)絡(luò)設(shè)備。如果我的電話或我妻子的電話在網(wǎng)絡(luò)中,如果光強(qiáng)度低于 80 勒克斯,請(qǐng)打開(kāi)燈。
結(jié)論
有用!使用室內(nèi)傳感器站 2 個(gè)多星期后,我意識(shí)到我打開(kāi)窗戶的頻率更高了,而且自從使用它以來(lái),我從未突然坐在黑暗中。令我驚訝的是,我在傳感器數(shù)據(jù)中識(shí)別出了我的哪些日常行為。由于數(shù)據(jù)存儲(chǔ)在本地和我的,我對(duì)收集的數(shù)據(jù)沒(méi)有任何不好的感覺(jué)。該功能(電話通知除外)不依賴于我的互聯(lián)網(wǎng)連接。
下一步是什么?
我想用我的新傳感器站做幾件事。一些想法:
- 建立射頻室外站,使用 6LoWPAN 或 Zigbee 向系統(tǒng)發(fā)送數(shù)據(jù)。
- 添加更多傳感器以獲得更好的周?chē)畔ⅰ?/font>I2C 總線上仍有三個(gè)可用的模擬輸入和大量寄存器。更多數(shù)據(jù)、更多信息、更多自主行為。
- 在變暗的同時(shí)平滑地增加亮度也會(huì)非常好。nymea 中仍然缺少此功能,但希望此功能將很快實(shí)現(xiàn)。
- 對(duì)光強(qiáng)度和空氣質(zhì)量進(jìn)行更好的傳感器過(guò)濾,以檢測(cè)峰值,例如:將煙霧吹入傳感器或打開(kāi)燈以獲得快速反應(yīng)行為。也許有人可以幫我?:)
- 使用FFT檢測(cè)數(shù)據(jù)中的重復(fù)模式,例如開(kāi)窗事件、烹飪、招待客人、飲酒。
?
?
?
- AquaPing超低功耗智能傳感器開(kāi)源
- 車(chē)輛停車(chē)傳感器開(kāi)源設(shè)計(jì)
- 接近傳感器開(kāi)源分享
- 電視傳感器開(kāi)源分享
- LDR傳感器開(kāi)源案例
- 運(yùn)動(dòng)傳感器開(kāi)源分享
- LDR傳感器開(kāi)源分享
- 距離傳感器和OLED開(kāi)源分享
- 傳感器器連接開(kāi)源分享
- 光學(xué)傳感器開(kāi)源分享
- 神經(jīng)形態(tài)視覺(jué)傳感器在人工智能的應(yīng)用綜述 21次下載
- 智能駕駛和多傳感器系統(tǒng)課件下載 20次下載
- 集成化智能傳感器原理與應(yīng)用 0次下載
- 智能傳感器設(shè)計(jì)_張鼎譯 0次下載
- 智能傳感器的興起與發(fā)展動(dòng)向
- 風(fēng)速傳感器原理及應(yīng)用 139次閱讀
- 如何使用兩個(gè)dht傳感器及HC12模塊制作遠(yuǎn)程氣象站? 2792次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2186次閱讀
- 模糊傳感器的結(jié)構(gòu)_模糊傳感器的應(yīng)用 2528次閱讀
- 智能傳感器的原理框圖 9692次閱讀
- 多個(gè)3D智能傳感器組網(wǎng)的多傳感器網(wǎng)絡(luò)介紹 1972次閱讀
- 雨量傳感器的工作原理_雨量傳感器的種類 4w次閱讀
- 超聲波風(fēng)速傳感器在生活環(huán)境中的各種應(yīng)用 1864次閱讀
- 智能傳感器相比傳統(tǒng)傳感器具有哪些優(yōu)點(diǎn)? 1.3w次閱讀
- 那些智能穿戴設(shè)備里的傳感器 2555次閱讀
- 最智能的傳感器是什么?納米傳感器的種類 6346次閱讀
- 智能傳感器的功能和未來(lái)應(yīng)用 3531次閱讀
- 地磁傳感器工作原理_地磁傳感器應(yīng)用_地磁傳感器的作用 4.1w次閱讀
- 扭矩傳感器作用_扭矩傳感器工作原理_扭矩傳感器的安裝 3.3w次閱讀
- 智能傳感器的概念,智能傳感器的結(jié)構(gòu)、功能、特點(diǎn)及其應(yīng)用 5541次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多