電子發(fā)燒友App

硬聲App

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

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

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

智能私有開源傳感器站

2023-01-04 | zip | 0.21 MB | 次下載 | 免費

資料介紹

描述

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

?

?
?
?
?
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)行布線和開發(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)客戶端將傳感器站添加為“事物”。

?

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

?

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

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

早上,當(dāng)我開始新的一天時,我會打開百葉窗和窗戶,因為我的公寓隔離得很好。來自我的新傳感器站的數(shù)據(jù)很好地代表了我的“起床”程序,如下圖所示(直接來自應(yīng)用程序的屏幕截圖)。我在早上 8:30 打開窗戶 20 分鐘。

?
?
?
?
poYBAGOzleiAM_p4AACGP4FnyKE583.png
?
1 / 5 ?溫度測量
?

?

  • 打開窗戶后,溫度下降了約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 左右下班回家)。

?
?
?
?
pYYBAGOzleqAL7-8AAB-9_aFLt0158.png
?
1 / 5 ?溫度測量
?
  • 白天溫度升高了一點(天氣晴朗)并在下午晚些時候下降(加熱再次打開)。
  • 白天濕度上升在 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ā)送通知。

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

我調(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 勒克斯,請打開燈。

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

結(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ù)模式,例如開窗事件、烹飪、招待客人、飲酒。

?

?

?


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

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