該項目使用 ThingSpeak、Particle 和 Sentient Things IoT 節(jié)點測量遠(yuǎn)程位置的風(fēng)、雨、溫度、濕度和光線。
該氣象站提供以下功能:
無電地點的可選太陽能
基于Sentient Things 物聯(lián)網(wǎng)節(jié)點的易于重復(fù)和可維護(hù)的包裝和電子產(chǎn)品
更新固件,帶有微型 SD 卡數(shù)據(jù)記錄、數(shù)據(jù)存儲和轉(zhuǎn)發(fā)以克服通信中斷,以及可選的自動 ThingSpeak 頻道創(chuàng)建
第 1 步 - 將天氣和水平適配器和硼插入物聯(lián)網(wǎng)節(jié)點
項目的第一步是將Sentient Things Weather and Level Adapter和Particle Boron LTE (或類似的基于 Feather 的設(shè)備)插入 Sentient Things IoT 節(jié)點上的Adafruit Feather兼容標(biāo)頭,如下所示:
Sentient Things 物聯(lián)網(wǎng)節(jié)點是一款通用板,帶有兼容 Adafruit 的標(biāo)頭,旨在成為各種物聯(lián)網(wǎng)項目的基礎(chǔ)。它帶有鉸鏈?zhǔn)椒浪鈿?,并且該板包括以下功能?/p>
作為 Adafruit Feather 標(biāo)頭的超級集的可擴(kuò)展標(biāo)頭
帶鋰聚合物電池充電器的太陽能或市電
可選 3AA/A 二次電池
帶有超級電容備份的實時時鐘和日歷
實時時鐘電源切換能力 - 即時鐘可以像深度睡眠模式一樣關(guān)閉電子設(shè)備,但功耗更低
256kbit FRAM 內(nèi)存
微型 SD 卡插槽
三個公開 GPIO、串行和 I2C 的 I/O 接頭(可以通過附加適配器添加更多)
最重要的是,為了讓您的選擇保持開放,它不包括微控制器。幾乎任何與 Feather 封裝兼容的微控制器都可以工作。該項目使用 Particle Boron LTE,但也可以使用各種替代設(shè)備,例如Adafruit HUZZAH32 。如果您碰巧有粒子光子或電子,您也可以將它們與轉(zhuǎn)換為羽毛足跡的適配器一起使用。
第 2 步 - 將溫度和濕度傳感器安裝在太陽輻射防護(hù)罩中
將Sentient Things AM2315 溫濕度傳感器組裝到太陽輻射防護(hù)罩中。請注意,如果您已經(jīng)有 AM2315 傳感器,則可以使用它并按照下面描述的引腳分配添加您自己的 RJ45 連接器:
推薦的太陽輻射防護(hù)罩非常適合 AM2315 傳感器,如下所示,但其他防護(hù)罩也可以使用。
第 3 步 - 將傳感器插入物聯(lián)網(wǎng)節(jié)點
將雨和風(fēng)天氣計、AM2315 溫度和濕度傳感器和TSL2591 戶外光傳感器 插入 Sentient Things 物聯(lián)網(wǎng)節(jié)點和天氣和水平適配器連接器。AM2315 可以插入任何一個 I/O 連接器,因為它們都包含 I2C 總線。Wind 和 Rain RJ11 連接器標(biāo)記在 Weather and Level Adapter 和Voltaic Systems 6V 太陽能電池板上,帶延長線插入 6V 連接器。板上標(biāo)有 6V 太陽能極性。還記得將 FAT 格式的 micro SD 卡插入板上的 micro SD 插槽,以便天氣數(shù)據(jù)也可以保存在本地。如圖所示,將電纜穿過電纜密封套。
注意:天氣和液位適配器包括一個 MPL3115A2 壓力和高度傳感器,因此不要使壓蓋完全密封,以使外殼內(nèi)的壓力與外部壓力相等。最后將外殼安裝到外面時,確保壓蓋朝下,以防止水泄漏到外殼中。
第 4 步 - 創(chuàng)建 ThingSpeak 和 Particle 帳戶并注冊您的設(shè)備
如果您還沒有,請創(chuàng)建一個ThingSpeak和一個Particle帳戶。ThingSpeak 為非商業(yè)用途提供免費帳戶,Particle 也提供免費服務(wù)級別。
ThingSpeak 將用于收集、顯示和分析云中的天氣數(shù)據(jù),Particle 提供設(shè)備硬件、固件和設(shè)備連接。Particle 還提供 Webhooks 云服務(wù)(如下所述),用于最小化數(shù)據(jù)流量。
按照Particle 快速入門指南設(shè)置您的 Particle 設(shè)備(將其與您的 Particle 帳戶關(guān)聯(lián)并在適用時設(shè)置 WiFi)。Particle 為設(shè)備設(shè)置提供了一個方便的 Android 或 iOS 應(yīng)用程序。如果您使用的是像 Boron LTE 這樣的蜂窩設(shè)備,您還需要按照 Particle 的說明注冊您的 SIM 卡。
第 5 步 - 將 Webhooks 添加到您的 Particle 帳戶
ThingSpeak 提供 REST 和 MQTT API 來將數(shù)據(jù)發(fā)送到 ThingSpeak。ThingSpeak 還提供了一個 Particle/Arduino 兼容庫,以便于使用 API。對于通過 WiFi 或以太網(wǎng)連接且不收取??數(shù)據(jù)費用的設(shè)備而言,該庫是一個絕佳選擇。但是,在蜂窩網(wǎng)絡(luò)的情況下,最好不要直接使用 REST,從而最大限度地減少數(shù)據(jù)流量。最好的方法之一是使用 Particle 的(低開銷)COAP 協(xié)議將數(shù)據(jù)發(fā)送到 Particle 服務(wù)器,并讓 Particle 服務(wù)器通過 REST (http) 將數(shù)據(jù)中繼到 ThingSpeak。這是使用Particle Webhooks完成的。
Sentient Things 固件使用下面代碼部分中列出的 Particle Webhook。登錄到您的 Particle 帳戶控制臺并通過將下面的 JSON 代碼粘貼到自定義模板中并保存來在集成下創(chuàng)建三個 Webhook。
注意:對于創(chuàng)建和更新 ThingSpeak 頻道的 Webhook,您需要將 XXXXXXXXXXXXXXXX 替換為您在 ThingSpeak 上的帳戶配置文件下列出的 16 個字符的 ThingSpeak 用戶 API 密鑰。
第 6 步:對您的粒子設(shè)備進(jìn)行編程并進(jìn)行測試
下面列出的 Weather 固件用于對您的 Particle 設(shè)備進(jìn)行編程。如果您熟悉基于 Visual Studio Code 的桌面開發(fā)環(huán)境,這可以使用Particle Web IDE或使用Particle Workbench來完成。您可以將以下代碼復(fù)制并粘貼到 Particle Web IDE 上的新項目中,或者只需點擊此鏈接即可獲得固件的共享版本。
您可以通過無線方式對您的設(shè)備進(jìn)行編程或刷新(以使用數(shù)據(jù)為代價),或者您可以按照 Particle 的說明在本地連接到您的計算機(jī)以避免蜂窩數(shù)據(jù)費用。
將您的設(shè)備插入物聯(lián)網(wǎng)節(jié)點(如果尚未安裝)并將物聯(lián)網(wǎng)節(jié)點上的 POWER 開關(guān)轉(zhuǎn)到 FBAT 以向 Particle 設(shè)備供電。當(dāng)您的固件第一次使用插入物聯(lián)網(wǎng)節(jié)點的 Particle 設(shè)備運(yùn)行時,它會檢測到這是它第一次運(yùn)行(通過在 FRAM 中查找“幻數(shù)”)并使用 Particle Webhooks 創(chuàng)建一個新的 ThingSpeak 通道你之前創(chuàng)建的。當(dāng)您訪問 ThingSpeak 時,您應(yīng)該會看到一個新創(chuàng)建的頻道,如下所示:
固件將從 ThingSpeak 發(fā)回的通道號和通道讀取和寫入密鑰保存在 FRAM 中,以便將來寫入創(chuàng)建的通道。
隨著固件的運(yùn)行,您應(yīng)該會看到每分鐘都會將天氣數(shù)據(jù)發(fā)布到 ThingSpeak。
固件會打印串行調(diào)試消息,因此如果您遇到問題,第一步是將 Particle 設(shè)備的 USB 輸出連接到您的計算機(jī)并監(jiān)控串行輸出。如果您的計算機(jī)上安裝了Particle CLI ,您將看到 Particle 設(shè)備作為 COM 端口。粒子 CLI 命令:
particle serial monitor --follow
是連接和查看 Particle 設(shè)備的串行調(diào)試輸出的便捷方式。
請注意靠近代碼頂部的以下代碼段:
//********CHANGE BELOW AS NEEDED**************
// Set to true and enter TS channel ID and keys AND change firstRunTest to use an existing TS channel
// Set to false if you wish to create a new TS channel the first time the code runs
bool useManualTSChannel = false;
const char *manualTSWriteKey = “XXXXXXXXXXXXXXXX”;
const char *manualTSReadKey = “XXXXXXXXXXXXXXXX”;
const int manualTSChannel = 895141;
// Change this value to force hard reset and clearing of FRAM when Flashing
// You have to change this value (if you have flashed before) for the TS channel to change
const int firstRunTest = 1122124;
//********CHANGE ABOVE AS NEEDED**************
你可以改變
bool useManualTSChannel = false;
至
bool useManualTSChannel = true;
并添加您自己的 ThingSpeak 密鑰和頻道號以使用現(xiàn)有頻道。
注意:還需要更改“magic number”
const int firstRunTest = 1122124;
設(shè)置為不同的值,以便固件檢測到它首次運(yùn)行以創(chuàng)建新通道或使用現(xiàn)有通道。
第 7 步:安裝您的氣象站并分析數(shù)據(jù)
氣象站風(fēng)速計最好安裝在遠(yuǎn)離地面高的建筑物的地方。選項包括建造自己的桅桿或使用三腳架將儀表和其余傳感器安裝在屋頂上。
ThingSpeak 在網(wǎng)絡(luò)上以實時圖表顯示您的天氣數(shù)據(jù)方面做得非常出色。也可以使用 MATLAB 分析和顯示您的數(shù)據(jù)。
訪問MathWorks 的 ThingSpeak 氣象站進(jìn)行現(xiàn)場演示:
-
太陽能
+關(guān)注
關(guān)注
37文章
3419瀏覽量
114329 -
氣象站
+關(guān)注
關(guān)注
1文章
756瀏覽量
15694 -
物聯(lián)網(wǎng)節(jié)點
+關(guān)注
關(guān)注
0文章
5瀏覽量
4510
發(fā)布評論請先 登錄
相關(guān)推薦
評論