精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>可確定大氣顆粒物的Raspberry Pi設備

可確定大氣顆粒物的Raspberry Pi設備

2022-12-30 | zip | 0.24 MB | 次下載 | 免費

資料介紹

描述

什么

本指南介紹了一種 Raspberry Pi 設備,該設備可確定大氣顆粒物(空氣污染的主要成分)在給定環境中的存在水平。

這里使用的傳感器足夠精確,可以根據公認的機構報告生成測量值它還包括一個集成環境傳感器,可以測量溫度、濕度和氣壓 (T/H/P)。

該設備運行Python 編寫的以傳感器為中心的定制數據流平臺,可輕松用于任何類似 Debian 的 Linux 發行版。

該平臺包括一個庫和工具,用于配置和管理傳感器并發布它們的數據,以及在數據基礎設施的其他地方(即不在傳感器設備上)使用的工具,以有用的方式轉換、解釋和保存生成的傳感器數據流.

如何:硬件

我不會詳細介紹如何設置 Raspberry Pi 在其上安裝 Raspbian 啟用 I2C 接口、在首次啟動時啟用 WiFi 或在首次啟動啟用 SSH,因為其他人已經很好地完成了這項工作的確。但是,在本指南的其余部分,您將需要所有這些。

Sensirion SPS30顆粒物傳感器使用 JST 的ZH 型 1.5 毫米間距連接器數據表),為此在美國采購預制電纜組件被證明是一項重大挑戰!

Sensirion 的支持團隊竭盡全力提供幫助,但他們的建議只讓我找到了裸露的母連接器,我既沒有專業知識也沒有材料可以將其變成可用的組件。幸運的是,我最終能夠找到我需要的東西

我還想在設備中加入環境感應功能,最近我剛好在漂亮的分線板上訂購了一些BME280傳感器

為了促進設備之間的模塊化和易用性,我更喜歡非永久性連接方法,例如公/母杜邦式接頭和連接器,這就是我在這里使用的方法。

?
poYBAGOuNLmAFiLbAA_M8xNex2Q839.jpg
構建傳感器組件,顯示 BME280 分線和 JST ZH 5 針電纜組件。
?

所需的大部分結構非常簡單:我將 BME280 焊接到一個小型永久原型板上,Raspberry Pi 的跳線進入該板 - 攜帶 3V3 和 5V 分別滿足 BME280 和 SPS30 - 以及 ZH -5 組件(當然只攜帶 5V 電源)連接到 SPS30。

?
poYBAGOuNLyAbtIQAAD54H5OoUU750.png
眼尖的讀者 ti-tipakorn 非常友善地提醒我這個圖中的 SPS30 連接是反向的!引腳 5(GROUND)在外邊緣,而不是它出現的引腳 1!請參閱數據表以了解最終的引腳輸出,而不是我的圖表。
?

(請注意上面標題中的重要更正:非常感謝ti-tipakorn提醒我!有時間我會更新 Fritzing 圖。)

I2C 總線的主要優點之一設備尋址,它允許許多設備共享同一條物理總線,在這里我只需要為這兩個設備將五個引線(5V3V3GNDSDA& SCL)帶到我的板上。

以防圖表沒有完全清楚,Pi 的引腳連接如下(指向pinout.xyz的鏈接更多信息):

請務必注意,SPS30 是一種雙模式設備,因此可以在UART (串行)或 I2C 模式下運行。因此,必須注意注意接口規范中突出顯示的注釋,正如我在上面通過將引腳45 連接到GND

?
poYBAGOuNL6AXv7WAAEbBhQD8sw491.png
請注意此評論,否則您將度過一段糟糕的時光!
?

我使用這塊直接暴露 MicroUSB 電源和接地的小板,這樣我就可以避免在 RPi 本身上使用 MicroUSB 電源連接器,這不會讓它以所需的方向安裝在外殼中。

(精明的讀者可能會注意到這是一個更新:最初的構造使用的是 Adafruit Powerboost 1000C,因為我還沒有可用的 MicroUSB 分線板。項目照片確實顯示了“zed”,而是使用了 Powerboost 1000C。好眼力!)

說到外殼:我發現我當地五金店的戶外電器部分類似于制造商的糖果店:每次我在那個過道上徘徊時都能找到靈感。

在這種情況下,我選擇了一個2 出口防風雨電氣導管盒,兩個出口彼此相對(180 度):我希望這會產生通過外殼的被動氣流。我還沿著兩個出口之間的軸安裝了 SPS30,直接沿著氣流的路徑(SPS30 的入口是綠色部分中的白色小矩形,就在黑色風扇罩下方)。

?
pYYBAGOuNMOAfM1GAAaRq85Jvew47.jpeg
從左起:MicroUSB 電源、SPS30 傳感器、分支電纜上的 BME280、RPi 零 W(“zed”)。
?

所有東西都塞進了外殼,用一點管道和大猩猩膠帶“固定”,并掛在天花板平面以下幾英寸(或:“頭部水平”以上幾英尺)的墻上。

這種安裝策略以及外殼有助于確保傳感器盡可能少地受到外部環境短期變化的影響。

?
pYYBAGOuNMuAJ459AA2Djiied-c278.png
Zed 在墻上。
?

如何:軟件

作為一名接觸過大量硬件的軟件工程師,我一直很欣賞硬件,但我自己從來沒有做過太多的事情。今年,我開始著手改變這種狀況,從我閑置多年的備用 RPi 開始。

那次小小的探索逐漸失控,哪里有軟件可寫,我自然而然地傾向于寫它。這就是RPJiOS的由來

您可能會注意到,我已經省略了有關軟件本身的許多細節:我正在雄心勃勃地計劃一個完全基于此的單獨項目指南!請繼續關注(祝我好運)...

進入設置。以下所有命令都必須在 Raspberry Pi 本身上運行在首次啟動時啟用WiFiSSH很容易。

以下內容已經過測試可以正常工作 - 在William R確定并詳細說明了對過程的關鍵修復之后,非常感謝!- 在 Pi Zero W 上全新安裝Raspbian Stretch Lite 2018-11-13

  • 你需要git這個,所以如果你還沒有安裝它,請務必先安裝它:
$ sudo apt install -y git
  • 克隆存儲庫:
$ git clone https://github.com/rpj/rpi.git
  • 克隆創建的新目錄中,運行rpisetup.sh
$ cd rpi/
$ ./setup.sh

請不要超級用戶 (root) 身份調用。setup.sh該腳本可能會請求sudo您訪問所需實用程序的特定安裝,但總的來說您不想以超級用戶身份運行該腳本。

安裝腳本可能需要一段時間,具體取決于安裝的干凈程度和設備的速度:在全新安裝操作系統的零 W 上大約需要 20 分鐘(標準住宅互聯網連接)。

一旦設置成功(如果不成功,請聯系并告訴我!):

  • 創建一個config.json啟用 SPS30@0.5Hz 和 BME280@1Hz 的文件,如下所示:
{
  "redis_config": { "host": "localhost" },
  "sensors": [
    { 
      "name": "BME280",
      "config": { "frequency" : 1 }
    },
    {
      "name": "SPS30",
      "config": {
        "frequency": 0.5,
        "shared_object_path": "CHECKOUT_PATH/rpi/env/lib/python2.7/site-packages/rpjios/devices/libsps30.so"
      }
    }
  ]
}

重要:您必須替換為您最初將 git 存儲庫克隆到CHECKOUT_PATH封閉路徑,例如。總有一天我會解決這個問題。 /home/pi

config.json還有許多未說明的其他選項,請參見此處的示例。

如果您在查找libsps30.so驅動程序庫時遇到問題(我聽說它可能沒有像應該的那樣由setup.sh構建),我已經為最近的 Raspbian 操作系統發布了二進制文件的預構建版本。只需下載該文件并將其放置在您如上配置的目錄中(如果按照此示例進行操作),您就大功告成了!shared_object_path/home/pi/rpi/env/lib/python2.7/site-packages/rpjios/devices/

  • 激活 python 虛擬環境,設置你的路徑REDIS_URLbin/sensors-src以你的config.json路徑作為唯一參數運行。您會看到正在初始化的傳感器:
$ source env/bin/activate
(rpjios venv) $ export REDIS_URL="redis://localhost"
(rpjios venv) $ ./bin/sensors-src config.json
* Loading configuration from config.json
* Using Redis configuration: {u'host': u'localhost'}
* Configured sensors: BME280, DS18S20 (disabled), NetInfo (disabled), SysInfo (disabled), TEPT5700 (disabled), LM335 (disabled), LM335 (disabled), Soil (disabled), DHTXX (disabled), SPS30
* Loaded 'BME280' type=BME280 channel=zed:sensor:BME280>:
{'name': 'BME280', 'hostname': 'zed', 'frequency': '1Hz', 'location': None, 'calibration_data': {'dig_H1': 75, 'dig_H3': 0, 'dig_H2': 332, 'dig_H5': 50, 'dig_H4': 400, 'dig_H6': 30, 'dig_P9': 5000, 'dig_P8': -12000, 'dig_T1': 27678, 'dig_T3': 50, 'dig_T2': 26477, 'dig_P1': 37060, 'dig_P3': 3024, 'dig_P2': -10666, 'dig_P5': -2, 'dig_P4': 6811, 'dig_P7': 12300, 'dig_P6': -7}, 'channel': 'zed:sensor:BME280', 'description': 'Bosch I2C low power pressure, temperature & humidity sensor'}
* Loaded 'SPS30' type=SPS30 channel=zed:sensor:SPS30>:
{'name': 'SPS30', 'hostname': 'zed', 'driver_version': '1.0.0-6-g836d5fc', 'frequency': '0.5Hz', 'location': None, 'serial_number': "'7B4242424242D1'", 'channel': 'zed:sensor:SPS30', 'description': 'Sensiron SPS30 particulate matter sensor'}
...
  • 要輕松驗證數據是否按預期流動,請redis-cli在本地使用:
$ redis-cli
127.0.0.1:6379> PSUBSCRIBE *
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "*"
3) (integer) 1
1) "pmessage"
2) "*"
3) "zed:sensor:BME280"
4) "{\"source\": \"zed:sensor:BME280\", \"type\": \"VALUE\", \"ts\": 1546035881.156941, \"value\": {\"temperature\": 82.04924976702895, \"timestamp\": 1546035881.0, \"humidity\": 35.60792598092815, \"pressure\": 1018.030467350658}}"
...

您會在這里看到 RPJiOS 使用命名空間約定“ hostname:type:sensorname”作為它發布的鍵名。

  • 要輕松地將發出的傳感器數據轉換和/或轉發到另一個redis實例,請使用該downsample工具。
  • 此示例僅將本地(選項)SPS30 傳感器 ( ) 中的所有內容轉發-i名為frank” ( ) 的主機上,頻率為傳感器發送數據 ( ) 的十分之一:-p-o-r
(rpjios venv) $ ./bin/downsample -i "redis://localhost" -o "redis://frank" -r 10 -p "*SPS30*"

downsample非常靈活,有多種使用模式,更多示例可以在 中找到README。但最終來源是您最好的信息來源。絕對是雙關語。

  • 當然,您可能希望在虛擬環境之外運行這些命令,例如在啟動時。沒問題!虛擬環境中包含的 python 二進制文件使這變得簡單:
(rpjios venv) $ which python
/home/pi/rpi/env/bin/python

使用此路徑而不是系統 python 來調用上面討論的任何工具,您將準備就緒。

守護進程留給讀者作為另一個練習,因為根據您的需要,有多種方法可以實現它。

最后,稍后您會看到這些數據通過管道傳輸到ThingSpeak以進行聚合、可視化、分析和操作。

實現此目的的工具非常簡單,并且在大約一個小時內完成編寫,說明了將新功能附加到數據流的輕松程度。

要運行它,請確保您處于虛擬環境中(或使用適當的 python 二進制文件)并使用通道 ID 和寫入 API 密鑰作為僅有的兩個命令行參數:

(rpjios venv) $ ./bin/thingspeak CHANNEL_ID WRITE_API_KEY

您可能已經注意到, RPJiOS 還支持許多其他傳感器類型,包括一些不需要額外硬件的“虛擬”傳感器,例如SysNet 。試試看吧!

教訓

  • SPS30 非常靈敏!盡管我盡最大努力將它與日常人類活動隔離開來,但它非常清楚地知道我們何時忙碌和走動,無論我們在房子的哪個位置。非常令人印象深刻!
  • 在我多年單獨使用 python 和 C 的過程中,我以前從未嘗試過直接將 C 共享庫與 python 集成。非常容易另一個喜歡 python 的原因
  • 可能需要的一切都可以在 eBay 或 AliExpress 上以非常便宜的價格獲得,但您必須提前計劃運輸幾乎總是最便宜和最慢的品種,所以雖然它(到目前為止)對我來說非常可靠,但它們也與較長的運輸時間相當一致。

結果

RPJiOS.com將帶您到 ThingSpeak 儀表板,獲取由集成MATLAB 分析引擎生成的派生空氣質量指數(基于此公式

此外,是原始 SPS30 數據通道和原始 BME280 環境數據的通道。

MATLAB 與 ThingSpeak 的集成還允許人們生成引人注目但有用的儀表板:

?
pYYBAGOuNM2AOQUWAADRITgwm5c931.png
空氣質量儀表盤
?

?

?
pYYBAGOuNNCAU-TUAAHMbWcSquI634.png
SPS30 原始數據儀表板
?

(別擔心,我已經知道我的時間戳已關閉。)

此外,ThingSpeak 的 React 引擎支持觸發操作,例如當空氣質量達到閾值水平時在 Twitter 上發出警告。整潔的!

回饋

受到歡迎和鼓勵!請在這里發表評論或給我發消息,在 Twitter 上也在這里)與我聯系在 GitHub 上提交問題社區讓創客變得如此有趣!感謝您的關注!


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  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元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費