電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>智能私有開(kāi)源傳感器站

智能私有開(kāi)源傳感器站

2023-01-04 | zip | 0.21 MB | 次下載 | 免費(fèi)

資料介紹

描述

當(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。為此,我使用了ADS1115ADC,它也連接到 I2C 總線,允許我讀取模擬值作為數(shù)字表示。仍然有三個(gè)免費(fèi)輸入,將來(lái)我可能會(huì)用額外的傳感器擴(kuò)展站點(diǎn)。我將溫度傳感器放置在盡可能遠(yuǎn)離空氣質(zhì)量傳感器的位置,因?yàn)榭諝赓|(zhì)量傳感器包含一個(gè)會(huì)變熱的加熱元件。

?

?
?
?
?
pYYBAGOzleGAGTO3AAJ4_wteu8c101.png
?
1 / 2 ?傳感器和 ADC 的接線
?

連接后,我檢查了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
  • 0x39光傳感器TSL2561
  • 0x44濕度傳感器SHT30
  • 0x48ADC ADS1115(MQ-135 連接到 AI0)
  • 0x77壓力傳感器BMP180

軟件

作為我的 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)客戶端將傳感器站添加為“事物”。

?

?
?
?
?
pYYBAGOzleSAZVsBAACfSjzGUG4622.jpg
?
1 / 5 ?事物概覽
?

?

讀取傳感器數(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)前值。

?
poYBAGOzleaAe2LbAAA4hXScgtI190.png
數(shù)據(jù)概覽
?

早上,當(dāng)我開(kāi)始新的一天時(shí),我會(huì)打開(kāi)百葉窗和窗戶,因?yàn)槲业墓⒏綦x得很好。來(lái)自我的新傳感器站的數(shù)據(jù)很好地代表了我的“起床”程序,如下圖所示(直接來(lái)自應(yīng)用程序的屏幕截圖)。我在早上 8:30 打開(kāi)窗戶 20 分鐘。

?
?
?
?
poYBAGOzleiAM_p4AACGP4FnyKE583.png
?
1 / 5 ?溫度測(cè)量
?

?

  • 打開(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 左右下班回家)。

?
?
?
?
pYYBAGOzleqAL7-8AAB-9_aFLt0158.png
?
1 / 5 ?溫度測(cè)量
?
  • 白天溫度升高了一點(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ā)送通知。

?
?
?
?
poYBAGOzle2AJzJXAAD4cznrVhM495.jpg
?
1 / 3 ?空氣質(zhì)量通報(bào)規(guī)則
?

我調(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)燈。

?
pYYBAGOzlfGAB6b_AADLuLGwP44301.jpg
電視可達(dá)條件下的光敏規(guī)則
?

結(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)窗事件、烹飪、招待客人、飲酒。

?

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)