資料介紹
描述
監(jiān)測液體和氣體轉(zhuǎn)移很困難。
大多數(shù)用于處理傳輸?shù)默F(xiàn)代系統(tǒng)包括許多管道部分,每個管道都可以通過截止閥隔離或連接到系統(tǒng)的其他部分。
管理這些眾多的連接點是一項挑戰(zhàn),并且經(jīng)常需要技術(shù)人員手動訪問閥門以執(zhí)行關(guān)閉。為了避免這些手動過程,設(shè)施管理人員希望能夠遠(yuǎn)程打開和關(guān)閉閥門,并能夠監(jiān)控整個系統(tǒng)中液體或氣體的流速。
這就是為什么我們在Blues Wireless建立了一個基于蜂窩的項目來遠(yuǎn)程監(jiān)控液體通過管道的流速,以及一個網(wǎng)絡(luò)應(yīng)用程序,設(shè)施經(jīng)理可以使用它來根據(jù)需要打開和關(guān)閉閥門。
在本文中,您將看到它是如何工作的。我們將從查看如何連接必要的硬件開始,然后查看設(shè)備的固件和項目的 Web 應(yīng)用程序如何工作。
讓我們開始吧。
組裝硬件
此構(gòu)建所需的主要硬件是:
- 一個電磁閥(可以打開和關(guān)閉)。
- 流量計(用于測量流量)。
- 以及一種發(fā)送和接收數(shù)據(jù)的方式(這樣您就可以控制您的閥門并遠(yuǎn)程獲取流量計的讀數(shù))。
注意:如果您的項目只需要測量流量(不需要電磁閥),請在 GitHub 上查看我們的流量監(jiān)視器項目。
對于電磁閥,我們使用了DIGITEN 電磁閥;對于流量計,我們使用了GREDIA 水流量傳感器;為了遠(yuǎn)程監(jiān)視和控制系統(tǒng),我們使用了Blues Starter Kit中可用的各種組件。
Blues 入門套件包括一個蜂窩 Notecard ,這是一個蜂窩和支持 GPS/GNSS 的設(shè)備到云數(shù)據(jù)泵,預(yù)裝了 500 MB 的數(shù)據(jù)和 10 年的蜂窩服務(wù)。

Notecard 本身是一個微型 30x35mm 系統(tǒng)模塊,帶有 M.2 連接器,允許我們通過蜂窩連接發(fā)送和接收必要的數(shù)據(jù)。
為了使 Notecard 易于集成到現(xiàn)有原型或項目中,Blues 入門套件還包括一個稱為Notecarrier-F的主機板,其中包括一個用于 Notecard 的連接器,以及一組用于任何與 Feather 兼容的 MCU 的接頭.

Blues Starter Kit 的最后一部分是Blues Wireless Swan ,這是我們將用來運行該項目固件的 MCU。Swan 是一款采用 STM32L4 的開發(fā)板,具有 2MB 閃存和 640KB RAM。它支持 C/C++、Arduino 和 CircuitPython,并且與 Feather 兼容,因此可以很好地插入 Notecarrier-F。
要組裝 Blues Starter Kit 的硬件,您可以完成Notecard 的快速入門教程,之后您將擁有一個看起來像這樣的設(shè)置。

使用 Blues 入門套件,您可以將數(shù)據(jù)發(fā)送到(和從)云后端,我們將使用該功能來控制我們的電磁閥,并監(jiān)控流量計的讀數(shù)。
入門套件準(zhǔn)備就緒后,我們接下來使用下圖所示的接線圖將電磁閥和流量計連接到 Notecarrier-F。您不必完全按照我們所做的那樣進行設(shè)置,但如果您這樣做,請務(wù)必查看我們正在使用的設(shè)備的完整列表。

無論您最終使用的硬件是什么,您都必須滿足以下要求才能使該項目的固件正常工作。
-
電磁閥的信號線必須連接到Notecarrier的
F_D6
引腳。固件使用此引腳打開和關(guān)閉螺線管。 -
流量計的信號線必須連接到Notecarrier的
F_D10
引腳。固件使用此引腳從流量計讀取流量。 -
Notecarrier 的
F_D13
引腳必須連接到 Notecarrier 的ATTN
引腳。每當(dāng) Notecard 收到打開或關(guān)閉電磁閥的命令時,固件都會使用它來響應(yīng)中斷。
當(dāng)一切都放在一起時,您的構(gòu)建應(yīng)該看起來像這樣。

如果您選擇使用外殼(例如我們在這些圖片中使用的來自 Sixfab的外殼),您的項目可以放入一個易于安裝在大多數(shù)設(shè)施中的盒子中。

這樣一來,您現(xiàn)在就擁有了通過 Swan 控制電磁閥和監(jiān)控流量的所有連接方式。但要這樣做,您必須首先設(shè)置一個用于發(fā)送和接收數(shù)據(jù)的云后端。
云設(shè)置
Notecard 的一大優(yōu)點是它知道如何開箱即用地將數(shù)據(jù)發(fā)送到云后端 Notehub。Notehub是一種托管服務(wù),旨在連接到 Notecard 設(shè)備并同步數(shù)據(jù)。
如果您正在跟進并想自己構(gòu)建這個項目,則需要在 notehub.io 上設(shè)置一個免費帳戶,然后創(chuàng)建一個新項目。

創(chuàng)建項目后,請確保復(fù)制新項目的 ProductUID(請參見下面的屏幕截圖),因為您需要該標(biāo)識符才能將 Notecard 連接到新的 Notehub 項目。

您將在整篇文章中了解有關(guān) Notehub 的更多信息,但現(xiàn)在您已經(jīng)設(shè)置了后端,接下來讓我們看看使閥門監(jiān)視器項目正常工作的代碼。
編寫固件
該項目的固件負(fù)責(zé)與 Notecard、電磁閥和流量計進行通信。
GitHub 上提供了實現(xiàn)這一目標(biāo)所需的完整源代碼,但我們將在此處展示最重要的部分。我們使用Platform.io構(gòu)建應(yīng)用程序,使用以 Swan 為目標(biāo)的 Arduino 應(yīng)用程序。(這里是讓所有這些在您的設(shè)備上運行的說明,其中包括添加您之前從 Notehub 復(fù)制的 ProductUID。)
管理閥門
固件必須做的最重要的事情是管理電磁閥的狀態(tài)。我們的電磁閥默認(rèn)是關(guān)閉的,固件必須在收到 Notecard 的命令時提供電源來打開閥門。
為此,固件首先使用其 card.attn 請求武裝 Notecard 以接收中斷。
// Configure ATTN to watch for changes to data.qi.
req = notecard.newRequest("card.attn");
const char *filesToWatch[] = {"data.qi"};
int numFilesToWatch = sizeof(filesToWatch) / sizeof(const char *);
J *filesArray = JCreateStringArray(filesToWatch, numFilesToWatch);
JAddItemToObject(req, "files", filesArray);
JAddStringToObject(req, "mode", "files");
notecard.sendRequest(req);
注意:關(guān)于 Notecard 的一件很酷的事情是它的 API 都是基于 JSON 的——所以要使用 Notecard,您可以發(fā)送簡單的 JSON 對象,并且(如果需要)接收返回的 JSON 對象作為響應(yīng)。
配備 Notecard 后,它會在收到我們稱之為Note的任何時候收到中斷。Note 是包含開發(fā)人員提供的正文的 JSON 對象,是 Notecard 與其 Notehub 后端之間的主要通信方式。
要發(fā)送筆記,您可以使用Notehub API 的 note.add 請求,該請求將數(shù)據(jù)發(fā)送到您的 Notehub 后端,后者又立即將該數(shù)據(jù)轉(zhuǎn)發(fā)到您的 Notecard 設(shè)備。
并且因為 Notecard 在收到某些 Notes 時準(zhǔn)備好中斷,固件可以響應(yīng)傳入的 Notes 并打開或關(guān)閉電磁閥。具體來說,固件會查找具有以下 JSON 結(jié)構(gòu)的注釋。
"body": {
"state": "open" // or "close"
}
固件具有響應(yīng)該中斷并根據(jù)需要打開或關(guān)閉電磁閥的功能。
// Toggle the valve's state. If open, close, If closed, open.
void valveToggle()
{
if (state.valveOpen) {
digitalWrite(VALVE_OPEN_PIN, LOW);
}
else {
digitalWrite(VALVE_OPEN_PIN, HIGH);
}
state.valveOpen = !state.valveOpen;
}
從流量計讀取數(shù)據(jù)
固件的下一個任務(wù)是監(jiān)控流量計的流量,并定期將該值報告給云端后端。
每當(dāng)有 2.25 mL 的流體通過時,流量計的信號線就會發(fā)出脈沖。因此,作為第一步,我們配置一個中斷處理程序,每當(dāng)我們在信號線上看到從低到高的轉(zhuǎn)換(“下降”)時都會觸發(fā)該中斷處理程序。
attachInterrupt(digitalPinToInterrupt(FLOW_RATE_METER_PIN), flowMeterISR,
FALLING);
在該中斷處理程序中,我們增加一個計數(shù)器來跟蹤發(fā)生了多少脈沖。
void flowMeterISR()
{
++state.flowMeterPulseCount;
}
最后,我們通過跟蹤自上次測量以來發(fā)生的脈沖數(shù)(默認(rèn)為每 500 毫秒)來計算以 mL/min 為單位的速率。
// Calculate the flow rate in mL/min.
uint32_t calculateFlowRate(uint32_t currentMs)
{
return 60000 * (state.flowMeterPulseCount * 2.25) /
(currentMs - state.lastFlowRateCalcMs);
}
一旦固件有了流量值,它的最終任務(wù)就是將該數(shù)據(jù)發(fā)送到云端后端。為此,固件使用 Notecard 的 note.add 請求來格式化和發(fā)送流量和閥門狀態(tài)(打開或關(guān)閉)。
J *req = notecard.newRequest("note.add");
if (req != NULL) {
JAddStringToObject(req, "file", file);
JAddBoolToObject(req, "sync", true);
J *body = JCreateObject();
if (body != NULL) {
JAddNumberToObject(body, "flow_rate", flowRate);
if (state.valveOpen) {
JAddStringToObject(body, "valve_state", "open");
}
else {
JAddStringToObject(body, "valve_state", "closed");
}
JAddItemToObject(req, "body", body);
}
notecard.sendRequest(req);
}
此時,如果您將固件閃存到您的設(shè)備,并開始讓水流過您的系統(tǒng),您將開始在 Notehub 項目的事件選項卡中看到流速讀數(shù)。
起初,您的所有讀數(shù)的流速都將為零,因為電磁閥開始關(guān)閉并且不允許任何液體通過。

但是,如果您使用 Notehub API發(fā)送 data.qi 注釋以打開閥門,您將開始看到以毫升/分鐘為單位的速率。

此時,您現(xiàn)在擁有能夠打開和關(guān)閉電磁閥以及從流量計進行測量的固件。
這一切都有效!但是必須去 Notehub 查看你的數(shù)據(jù),并且必須使用 Notehub API 發(fā)送命令來打開和關(guān)閉閥門,這有點麻煩。因此,為了簡化這些過程,我們還為該項目構(gòu)建了一個 Web 應(yīng)用程序。
使用儀表板
該項目的 Web 應(yīng)用程序通過為設(shè)施管理員提供一個單一位置來查看和管理其系統(tǒng)中的所有設(shè)備,將所有內(nèi)容整合在一起。
除了能夠打開和關(guān)閉閥門以及查看流量外,我們還允許設(shè)施管理員配置流量閾值,并在其設(shè)備的流量落入意外范圍時觸發(fā)警報。

注意:在我們的例子中,我們在網(wǎng)絡(luò)應(yīng)用程序中顯示警報,但您也可以使用 Notehub 在警報發(fā)生時發(fā)送 SMS 消息。有關(guān)詳細(xì)信息,請參閱我們的Twilio SMS 指南。
與此項目的所有內(nèi)容一樣,閥門監(jiān)控 Web 應(yīng)用程序是開源的,可在 GitHub 上獲取,因此您可以隨意逐字使用它,或?qū)ζ溥M行自定義以滿足您的需求。
Web 應(yīng)用程序會在您使用系統(tǒng)時實時更新,因此這是測試硬件和固件是否按預(yù)期工作的好方法,因為您可以在測試硬件時看到流量顯示在 Web 應(yīng)用程序中。
最后的想法
總體而言,該項目為任何執(zhí)行液體或氣體傳輸?shù)脑O(shè)施增加了自動化和智能化。您可以利用物聯(lián)網(wǎng)的力量來自動化閥門控制和流量監(jiān)控,而不是依賴技術(shù)人員執(zhí)行手動操作。
該項目的固件和 Web 應(yīng)用程序是開源的,因此請隨時在 GitHub 上查看它們并根據(jù)需要進行調(diào)整。
還有一件事——這個項目是我們在 Blues 構(gòu)建的一系列加速器的一部分,所以如果您感興趣,請查看完整列表,如果您有任何問題,請訪問我們的論壇。
- 開源硬件-警燈
- 儲備油箱監(jiān)控和傳輸開源硬件
- AirBits開源硬件
- 閃爍的LED開源硬件
- 農(nóng)作物監(jiān)控系統(tǒng)開源硬件
- 智能積木開源硬件
- 音箱開源硬件分享
- HBus開源硬件
- 打開WiFi查找器開源硬件
- 監(jiān)控門鈴開源硬件
- 門鈴開源硬件
- Arduino手表開源硬件
- 機械臂開源硬件
- 主流的開源硬件有哪些詳細(xì)資料說明
- PLC在閥門遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用
- 網(wǎng)絡(luò)監(jiān)控工具有哪些 網(wǎng)絡(luò)監(jiān)控用幾芯網(wǎng)線 1173次閱讀
- 用小安派開源硬件制作一個桌面天氣站 1007次閱讀
- 尋找開源硬件成功的觸發(fā)器 755次閱讀
- 通過利用微控制器技術(shù)和CAN技術(shù)實現(xiàn)閥門遠(yuǎn)程控制系統(tǒng)的設(shè)計 1440次閱讀
- 手動球閥的工作原理_手動球閥的開啟關(guān)閉過程 1.1w次閱讀
- 防爆電磁閥的工作原理_防爆電磁閥的作用 6739次閱讀
- 轉(zhuǎn)子流量計怎么使用 9771次閱讀
- 源創(chuàng)通信BPI-M1+ 開源硬件開發(fā)板介紹 2811次閱讀
- 閥門定位器 “現(xiàn)場”預(yù)防性維護檢查 1540次閱讀
- 幾種遠(yuǎn)程監(jiān)控通信方式的介紹_幾種遠(yuǎn)程監(jiān)控方式的比較 6096次閱讀
- 閥門遠(yuǎn)程控制系統(tǒng)的工作原理 1.2w次閱讀
- 閥門遠(yuǎn)程控制系統(tǒng)的工作原理及設(shè)計 1.2w次閱讀
- 三大主流開源硬件對比:Arduino vs BeagleBone vs Raspberry Pi 6657次閱讀
- 開源硬件究竟有多“Open”?看完這個你就清楚了 7124次閱讀
- 基于Qt的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計方案 7848次閱讀
下載排行
本周
- 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單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論