色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>打開/關閉閥門并監控遠程流量的開源硬件

打開/關閉閥門并監控遠程流量的開源硬件

2023-01-31 | zip | 0.15 MB | 次下載 | 免費

資料介紹

描述

監測液體和氣體轉移很困難。

大多數用于處理傳輸的現代系統包括許多管道部分,每個管道都可以通過截止閥隔離或連接到系統的其他部分。

管理這些眾多的連接點是一項挑戰,并且經常需要技術人員手動訪問閥門以執行關閉。為了避免這些手動過程,設施管理人員希望能夠遠程打開和關閉閥門,并能夠監控整個系統中液體或氣體的流速。

這就是為什么我們在Blues Wireless建立了一個基于蜂窩的項目來遠程監控液體通過管道的流速,以及一個網絡應用程序,設施經理可以使用它來根據需要打開和關閉閥門。

在本文中,您將看到它是如何工作的。我們將從查看如何連接必要的硬件開始,然后查看設備的固件和項目的 Web 應用程序如何工作。

讓我們開始吧。

組裝硬件

此構建所需的主要硬件是:

  • 一個電磁閥(可以打開和關閉)。
  • 流量計(用于測量流量)。
  • 以及一種發送和接收數據的方式(這樣您就可以控制您的閥門并遠程獲取流量計的讀數)。
注意:如果您的項目只需要測量流量(不需要電磁閥),請在 GitHub 上查看我們的流量監視器項目。

對于電磁閥,我們使用了DIGITEN 電磁閥對于流量計,我們使用了GREDIA 水流量傳感器為了遠程監視和控制系統,我們使用了Blues Starter Kit中可用的各種組件

Blues 入門套件包括一個蜂窩 Notecard ,這是一個蜂窩和支持 GPS/GNSS 的設備到云數據泵,預裝了 500 MB 的數據和 10 年的蜂窩服務。

poYBAGPXIRCADC4nAACgxtIkaMI556.png
?

Notecard 本身是一個微型 30x35mm 系統模塊,帶有 M.2 連接器,允許我們通過蜂窩連接發送和接收必要的數據。

為了使 Notecard 易于集成到現有原型或項目中,Blues 入門套件還包括一個稱為Notecarrier-F的主機板,其中包括一個用于 Notecard 的連接器,以及一組用于任何與 Feather 兼容的 MCU 的接頭.

pYYBAGPXWDCAeAqJAAGCwln6cDQ900.png
?

Blues Starter Kit 的最后一部分是Blues Wireless Swan ,這是我們將用來運行該項目固件的 MCU。Swan 是一款采用 STM32L4 的開發板,具有 2MB 閃存和 640KB RAM它支持 C/C++Arduino 和 CircuitPython,并且與 Feather 兼容,因此可以很好地插入 Notecarrier-F。

要組裝 Blues Starter Kit 的硬件,您可以完成Notecard 的快速入門教程,之后您將擁有一個看起來像這樣的設置。

pYYBAGPXWDOAK_L1AAJQfGZRvrk267.jpg
?

使用 Blues 入門套件,您可以將數據發送到(和從)云后端,我們將使用該功能來控制我們的電磁閥,并監控流量計的讀數。

入門套件準備就緒后,我們接下來使用下圖所示的接線圖將電磁閥和流量計連接到 Notecarrier-F。您不必完全按照我們所做的那樣進行設置,但如果您這樣做,請務必查看我們正在使用的設備的完整列表。

pYYBAGPXWD6AO21iAAESrnFYaqw466.png
?

無論您最終使用的硬件是什么,您都必須滿足以下要求才能使該項目的固件正常工作。

  • 電磁閥的信號線必須連接到Notecarrier的F_D6引腳。固件使用此引腳打開和關閉螺線管。
  • 流量計的信號線必須連接到Notecarrier的F_D10引腳。固件使用此引腳從流量計讀取流量。
  • Notecarrier 的F_D13引腳必須連接到 Notecarrier 的ATTN引腳。每當 Notecard 收到打開或關閉電磁閥的命令時,固件都會使用它來響應中斷。

當一切都放在一起時,您的構建應該看起來像這樣。

poYBAGPXWESAepDIAAMuhuTaJ88277.jpg
?

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

pYYBAGPXWEeADDxaAAMHg99B2C0624.jpg
?

這樣一來,您現在就擁有了通過 Swan 控制電磁閥和監控流量的所有連接方式。但要這樣做,您必須首先設置一個用于發送和接收數據的云后端。

云設置

Notecard 的一大優點是它知道如何開箱即用地將數據發送到云后端 Notehub。Notehub是一種托管服務,旨在連接到 Notecard 設備并同步數據。

如果您正在跟進并想自己構建這個項目,則需要在 notehub.io 上設置一個免費帳戶,然后創建一個新項目。

poYBAGPXWEqAY3oCAABXyXK5lpA501.png
?

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

poYBAGPXWEyART4CAAA6i3LYn7w901.png
?

您將在整篇文章中了解有關 Notehub 的更多信息,但現在您已經設置了后端,接下來讓我們看看使閥門監視器項目正常工作的代碼。

編寫固件

該項目的固件負責與 Notecard、電磁閥和流量計進行通信

GitHub 上提供了實現這一目標所需的完整源代碼,但我們將在此處展示最重要的部分。我們使用Platform.io構建應用程序,使用以 Swan 為目標的 Arduino 應用程序。(這里是讓所有這些在您的設備上運行的說明,其中包括添加您之前從 Notehub 復制的 ProductUID。)

管理閥門

固件必須做的最重要的事情是管理電磁閥的狀態。我們的電磁閥默認是關閉的,固件必須在收到 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);
注意:關于 Notecard 的一件很酷的事情是它的 API 都是基于 JSON 的——所以要使用 Notecard,您可以發送簡單的 JSON 對象,并且(如果需要)接收返回的 JSON 對象作為響應。

配備 Notecard 后,它會在收到我們稱之為Note的任何時候收到中斷Note 是包含開發人員提供的正文的 JSON 對象,是 Notecard 與其 Notehub 后端之間的主要通信方式。

要發送筆記,您可以使用Notehub API 的 note.add 請求,該請求將數據發送到您的 Notehub 后端,后者又立即將該數據轉發到您的 Notecard 設備。

并且因為 Notecard 在收到某些 Notes 時準備好中斷,固件可以響應傳入的 Notes 并打開或關閉電磁閥。具體來說,固件會查找具有以下 JSON 結構的注釋。

"body": {
    "state": "open" // or "close"
}

固件具有響應該中斷并根據需要打開或關閉電磁閥的功能。

// 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;
}

從流量計讀取數據

固件的下一個任務是監控流量計的流量,并定期將該值報告給云端后端。

每當有 2.25 mL 的流體通過時,流量計的信號線就會發出脈沖。因此,作為第一步,我們配置一個中斷處理程序,每當我們在信號線上看到從低到高的轉換(“下降”)時都會觸發該中斷處理程序。

attachInterrupt(digitalPinToInterrupt(FLOW_RATE_METER_PIN), flowMeterISR,
    FALLING);

在該中斷處理程序中,我們增加一個計數器來跟蹤發生了多少脈沖。

void flowMeterISR()
{
    ++state.flowMeterPulseCount;
}

最后,我們通過跟蹤自上次測量以來發生的脈沖數(默認為每 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);
}

一旦固件有了流量值,它的最終任務就是將該數據發送到云端后端。為此,固件使用 Notecard 的 note.add 請求來格式化和發送流量和閥門狀態(打開或關閉)。

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);
}

此時,如果您將固件閃存到您的設備,并開始讓水流過您的系統,您將開始在 Notehub 項目的事件選項卡中看到流速讀數。

起初,您的所有讀數的流速都將為零,因為電磁閥開始關閉并且不允許任何液體通過。

pYYBAGPXWFSADAELAAB-qb_3x_Q097.png
?

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

poYBAGPXWFaARPn9AAAmhvJvFiQ472.png
?

此時,您現在擁有能夠打開和關閉電磁閥以及從流量計進行測量的固件。

這一切都有效!但是必須去 Notehub 查看你的數據,并且必須使用 Notehub API 發送命令來打開和關閉閥門,這有點麻煩。因此,為了簡化這些過程,我們還為該項目構建了一個 Web 應用程序。

使用儀表板

該項目的 Web 應用程序通過為設施管理員提供一個單一位置來查看和管理其系統中的所有設備,將所有內容整合在一起。

除了能夠打開和關閉閥門以及查看流量外,我們還允許設施管理員配置流量閾值,并在其設備的流量落入意外范圍時觸發警報。

pYYBAGPXWFmADvjFAAF4xFkKlAQ912.png
?
注意:在我們的例子中,我們在網絡應用程序中顯示警報,但您也可以使用 Notehub 在警報發生時發送 SMS 消息。有關詳細信息,請參閱我們的Twilio SMS 指南

與此項目的所有內容一樣,閥門監控 Web 應用程序是開源的,可在 GitHub 上獲取,因此您可以隨意逐字使用它,或對其進行自定義以滿足您的需求。

Web 應用程序會在您使用系統時實時更新,因此這是測試硬件和固件是否按預期工作的好方法,因為您可以在測試硬件時看到流量顯示在 Web 應用程序中。

最后的想法

總體而言,該項目為任何執行液體或氣體傳輸的設施增加了自動化和智能化。您可以利用物聯網的力量來自動化閥門控制和流量監控,而不是依賴技術人員執行手動操作。

該項目的固件和 Web 應用程序是開源的,因此請隨時在 GitHub 上查看它們并根據需要進行調整。

還有一件事——這個項目是我們在 Blues 構建的一系列加速器的一部分,所以如果您感興趣,請查看完整列表,如果您有任何問題,請訪問我們的論壇


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

評論

查看更多

下載排行

本周

  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次下載  |  免費
主站蜘蛛池模板: 99亚洲精品自拍AV成人软件| 嫩小xxxxbbbb| 亚洲福利视频导航| 国产成人99久久亚洲综合精品| 免费人妻无码AV不卡在线| 中文字幕久久久| 精品九九视频| 亚洲一区二区三区高清网| 国模沟沟一区二区三区| 亚洲AV國產国产久青草| 国产成人一区二区三区在线观看| 日韩亚洲国产欧美免费观看| younv 学生国产在线视频| 暖暖的高清视频在线观看免费中文| 中文字幕亚洲无线码一区| 久久vs国产| 伊人久久电影网| 久久久久国产一级毛片高清片| 亚洲熟妇AV乱码在线观看| 健身房被教练啪到腿软H| 亚洲高清在线天堂精品| 国产亚洲精品久久无码98 | 无人影院在线播放视频| 囯产精品一品二区三区| 王晶三级作品| 国产精品点击进入在线影院高清 | 久久电影院久久国产| 野花韩国免费高清电影| 久久精品AV麻豆| 伊人久久99热这里只有精品 | 中文字幕在线播放| 浪货嗯啊趴下NP粗口黄暴| 最近2019年日本中文免费字幕| 老妇xxxxbbbb| 97国产成人精品免费视频| 暖暖 免费 日本 高清 在线1| bl撅高扒开臀缝哦| 前后灌满白浆护士| 成年视频国产免费观看| 受被三个攻各种道具PLAY| 国产老肥熟xxxx|