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