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

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

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

3天內不再提示

在Raspberry Pi中利用Node-RED控制LED

科技觀察員 ? 來源:circuitdigest ? 作者:Emmanuel Odunlade ? 2022-09-01 16:00 ? 次閱讀

有沒有想過是否有一種方法可以制作簡單的物聯網解決方案原型,而無需花費數天時間編寫代碼或無需編碼即可構建實用的高級項目。是的,這可以通過 Node-Red 平臺實現。Node-RED由 IBM 開發,是一種開源編程工具,用于以新穎有趣的方式將硬件設備、API 和在線服務連接在一起。它提供了一個基于瀏覽器的編輯器,可以使用調色板中的各種節點輕松地將“流”連接在一起,只需單擊一下即可將其部署到其運行時。

它使用可視化編程,允許您將代碼塊(稱為節點)連接在一起以執行任務。在今天的教程中,我們將研究如何使用 Node-RED 在樹莓派上部署簡單的項目。樹莓派node-red 教程將涵蓋;

在 Raspberry Pi 上安裝 Node-RED。

Node-RED 用戶界面簡介

如何設置 Node-RED 流

如何使用 Node-RED 控制 Raspberry Pi GPIO 引腳

如何使用 Node-RED 輸入、輸出和 if-else,例如使用開關進行決策

先決條件

本教程將基于 Raspbian 伸展操作系統,我假設您熟悉使用它設置 Raspberry Pi,并且您知道如何使用終端軟件(如 putty)通過 SSH 連接到 Pi。

為了輕松完成本教程,我建議您使用連接到樹莓派的顯示器或使用 VNC 查看器軟件。

雖然 Node-Red 從 Web 瀏覽器運行,并且可以在通過 Pi 的 IP 地址連接到 Pi 的 PC 上訪問,但我相信 VNC/監視器體驗會給您帶來更好的體驗。

作為演示 Node-Red 工作原理的演示,我們將使用 Node-RED 對 Raspberry Pi 進行編程以控制連接到其 GPIO 的 LED,然后修改程序以允許通過連接到 Pi 的觸覺按鈕控制 LED通用輸入輸出接口

所需組件

構建此項目需要以下組件;

帶有預加載 Raspbian Stretch 的 SD 卡的 Raspberry Pi 3

100 歐姆電阻 (1)

發光二極管 (1)

面包板 (1)

公對母跳線

觸覺按鈕 (1)

在樹莓派上安裝 Node-RED

雖然 Node-Red 預裝在 Raspbian Stretch OS 上,但我們需要升級它才能享受它的一些最新功能。升級 Node-Red將

將現有用戶升級到 LTS 8.x 或 10.x Node.js 和最新的 Node-RED

將任何現有的全局安裝節點遷移到用戶 ~/.node-red 空間,以便可以通過調色板管理器對其進行管理,它不會更新任何用戶安裝的現有節點。這必須由用戶手動完成(見下文)。

可以選擇(重新)安裝在完整 Raspbian Pi 映像上預安裝的額外節點。

但是,升級 Node-Red 的過程類似于安裝一個新的,所以為了本教程的目的,我們將把它視為一個新的安裝,以便使用其他操作系統版本的人可以跟隨。

按照以下步驟在您的 Raspberry Pi 上安裝/升級 Node-RED。

我們首先升級和更新 pi,以確保其上的所有內容都是最新的并避免兼容性問題。通過打開終端或通過 ssh 執行此操作,然后運行;

sudo apt-get 更新

其次是

sudo apt-get 升級

完成后,在終端上運行下面的 bash 腳本;

bash 《(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-NodeRed)

bash 腳本將執行以下操作

詢問您是否要(重新)安裝額外的 Pi 節點

保存在 /usr/lib/node_modules 中找到的任何全局安裝的 node- red-nodes 的列表

apt-get 刪除現有的 Node-Red

從 /usr/bin 和 /usr/local/bin 中刪除任何 node-red 二進制文件

從 /usr/lib/node_modules 和 /usr/local/lib/node_modules 中刪除任何 node-red 模塊

檢測 Node.js 是從 Node.js 包還是 Debian 安裝的

如果不是 v8 或更新版本 - 酌情刪除并安裝最新的 v8 或 v10 LTS(不使用 apt)。

清理 npm 緩存和 .node-gyp 緩存以刪除任何以前版本的代碼

安裝 Node-RED 最新版

在用戶帳戶下重新安裝以前全局安裝的任何節點

如果需要,重新安裝額外的 Pi 節點

重建所有節點 - 重新編譯任何二進制文件以匹配最新的 Node.js 版本

將 node-red-start、node-red-stop 和 node-red-log 命令添加到 /usr/bin

添加菜單快捷方式和圖標

添加系統腳本并設置用戶

如果在 Pi 上添加 CPU 溫度 -》 IoT 示例

上面的 bash 腳本以sudo運行許多命令,并確實刪除了現有的 Node.js 和核心 Node-RED 目錄。您可以在運行之前檢查此GitHub 頁面上的腳本內容,以確保它不會影響您在 Pi 上已有的任何項目。

安裝完成后,您現在應該在菜單的編程應用程序列表下看到 Node-Red 圖標。

在 Raspberry Pi 中啟動 Node-RED

Node-Red 可以通過樹莓派桌面的菜單部分、終端或 ssh 啟動。

要在 raspberry pi 的桌面上啟動,請單擊 Raspberry 圖標,將鼠標懸停在 Programming 單擊 Node-RED ( Menu》Programming》NodeRed ) 以啟動它。

poYBAGMQZkKAT40fAAICElNEQ8o548.png

也可以通過ssh或終端運行啟動;

節點紅開始

pYYBAGMQZj-ARG-LAAGQzSmjBGw623.png

您應該會看到一個類似下圖的窗口,在桌面上顯示節點紅色啟動。

一旦你看到這個,去menu-》internet并啟動 chromium web browser。雖然您的 Raspberry pi 不需要互聯網來運行 Node-Red,但它使用瀏覽器作為其界面。

啟動 chromium 后,在地址欄中輸入localhost:1880,然后按 Enter 鍵。1880 是樹莓派上的端口,Node-Red 預設在其上進行通信。這應該會顯示Node-Red 界面,如下圖所示。

poYBAGMQZjqAMRtpAAEaAFs59qA489.png

了解 Node-RED 接口

Node-Red 界面包括流程面板、節點面板、調試控制臺和信息控制臺,如上圖所示。

流程面板是將節點連接在一起以創建程序的地方,在 Node-Red 中稱為流程,而節點面板由代表與設備相關的硬件、協議和軟件功能的對象組成。它包括用于 IoT 的 MQTT 等協議,以及用于 raspberry pi 等板的 GPIO 輸出和輸入模式。信息控制臺提供有關突出顯示/選定對象的信息,而調試控制臺就像 Arduino 串行監視器一樣工作,可以在流程運行時提供反饋。部署按鈕用于將流上傳到目標硬件。菜單按鈕包含不同的上傳類型,以幫助您充分利用您的項目。隨著 Node-Red 啟動并運行,我們現在可以繼續構建演示項目。

原理圖

正如在介紹中提到的,我們今天的演示項目將使用 Node-RED 流控制 Raspberry Pi 的 GPIO。為了顯示 GPIO 狀態的變化,我們將一個 LED 連接到 GPIO,這樣當特定的 GPIO 引腳打開時,LED 就會亮起,反之亦然。

如下圖所示,將 LED 連接到 Raspberry PI 。

poYBAGMQZjWAbg-AAAHUZkTKCuo019.png

我還使用面包板、LED、電阻器和一些連接線在我的硬件上構建了相同的東西。建立連接后,我的硬件設置看起來像這樣。

pYYBAGMQZjKAJ2RXAAR3mDoeB1A567.png

這個項目可以很容易地轉換成一個家庭自動化項目,只需用繼電器和任何交流電器替換 LED,通過各種家庭自動化項目了解如何做到這一點。

在 Node-RED 中創建流

連接 LED 后,我們可以繼續開發流程。NodeRed 中的程序稱為流,就像 Arduino IDE 將它們稱為草圖一樣。流是使用節點組合創建的。您可以創建多個可以同時運行的流程,但在本教程中,我們將創建一個流程來打開/關閉 LED。

poYBAGMQZi6AffeMAABwx5mUXpM000.png

首先,滾動到 Nodes 面板的底部,您將看到 raspberry pi 節點部分接近末尾,其中兩個節點標記為rpigpio。這些節點用于與樹莓派的 GPIO 通信。其中一個節點用于輸入,而另一個用于輸出,由樹莓派徽標的位置區分。對于輸入節點,徽標位于文本之前,而對于輸出節點,徽標位于文本之后,如下圖所示。

在本教程中,我們將使用輸出節點,將其拖到界面的流程部分。此步驟類似于使用pinMode()命令將 Arduino 的特定引腳聲明為輸出。雙擊輸出節點,將打開一個彈出窗口,如下所示,允許您編輯節點的屬性。

poYBAGMQZiqAIWmmAAD_TkIFbkc478.png

在 pin property 部分下,選擇 GPIO17(pin 11)。然后將類型屬性設置為“數字輸出”并勾選“初始化引腳狀態?” 復選框將“引腳的初始級別”選項保留為低 (0)。給節點起任何您喜歡的名稱,然后單擊完成按鈕。

節點的名稱應自動更改為您在屬性設置下輸入的名稱。例如,我將其命名為 LED,因此節點名稱也更改為 LED,如下所示。

pYYBAGMQZiaAHKBbAAAW0gieNds750.png

要打開/關閉 LED,我們需要使用輸入來驅動動作。雖然我們可以使用按鈕,但我想用它來介紹 Node-RED 中允許將消息注入流的功能。這些功能稱為注入節點。我們將使用兩個注入節點。一個是打開 LED,另一個是關閉它。

轉到節點面板并將注入節點拖到流中。它是調色板中帶箭頭的第一個節點,下圖中突出顯示了注入節點。

poYBAGMQZiOANgB3AAA9348JzsE168.png

雙擊它以編輯其屬性。通過單擊有效負載前面的下拉菜單將數據類型更改為字符串,然后在有效負載框中輸入 1。有效載荷框中的值是按下節點時將注入到流中的值。將節點名稱設置為“ON” 按“Done”按鈕保存。

poYBAGMQZh-AUP25AADCy-nkEPI519.png

對第二個節點重復上述操作,將有效負載值設置為“0”,并將其名稱設置為“off”,如下所示。

pYYBAGMQZhuAUx1CAACrhiJTTHY980.png

在屬性功能下,重復下拉菜單可用于自動注射,以便每隔一段時間按下按鈕。這可以用來創建眨眼效果。如下所示將節點連接在一起,方法是將其中一個節點上的灰點拖動到另一個節點以創建流。

pYYBAGMQZheAYEdVAAB32mH0Hsc413.png

完成后,我們現在已經完成了我們的第一個 Node-Red Flow。

下一步是讓我們在 raspberry pi 上部署流程。單擊紅色的部署按鈕。您應該會在屏幕頂部看到“成功部署”閃爍,如下所示。

pYYBAGMQZhOAWs2WAAAczo3uHuM995.png

單擊注入節點后面的灰色按鈕以激活每個節點。

pYYBAGMQZg-AMpEAAABy1ZkusHw087.png

通過單擊“on”注入節點,您應該看到成功注入“on”,并且 LED 亮起。單擊“關閉”注入節點時,LED 應熄滅。

poYBAGMQZguAYEy2AAB0YUpLIIM614.png

而已。此設置的完整工作可以在此頁面底部鏈接的視頻中找到。

使用 Raspberry Pi 在 Node-RED 接口中添加按鈕/開關

為了解釋如何將輸入元素連接/添加到您的流程中,我們將通過添加按鈕來替換注入節點來進一步處理上述流程。

將按鈕連接到樹莓派,這樣,按鈕的一個腳接地,另一腳連接到樹莓派的 GPIO 引腳 4(引腳 11),如下圖所示。

pYYBAGMQZgeAfA2fAAGHfWTNfq0864.png

完成此操作后,返回 Node-Red 并刪除我們之前使用的兩個注入節點,方法是單擊節點并按鍵盤上的刪除或雙擊節點并在彈出窗口中按刪除。完成后,向下滾動節點選項板到 raspberry pi 部分并選擇輸入節點。它是左邊有樹莓派圖標的那個,在節點名稱之前。

poYBAGMQZgKATtdKAABIaR6pqNY183.png

將節點拖到流中并雙擊它以編輯屬性。將引腳設置為 GPIO 4(引腳 11)并將電阻前面的下拉設置為上拉。這會將 GPIO 4“上拉”到高電平。設置好屬性后點擊完成按鈕。

pYYBAGMQZf6AZo_vAAFGRjNsMcA733.png

為了讓我們在按下開關時做出合乎邏輯的決定,而不僅僅是將 GPIO4 短接到地,我們將使用開關節點。在節點面板中的功能部分下搜索它并拖動到流中。

poYBAGMQZfmASOPbAABQ4rpt7eE851.png

切換節點允許您以類似于“if”語句的方式做出決策。它可以根據輸入值設置為具有不同的輸出。對于本教程,我們將為它配置兩個輸出路徑,這樣,當 msg.payload 屬性等于 1(未按下開關)時,它應該遵循第一個路徑,如果有任何其他輸入,則將遵循第二個路徑在輸入處觀察到除 1 以外的值(按下開關)。使用“+add”按鈕添加路徑。雙擊節點并按上述方式進行配置。完成后點擊完成。

poYBAGMQZfSAD03sAABtc0f0-Mo858.png

一旦你點擊完成按鈕,你應該會看到兩條路徑反映在switch node的外觀中,因為它現在在輸出端有兩個連接點。

pYYBAGMQZe6AfPbBAABgghbqvkg526.png

接下來,我們需要引入一個“更改”節點。更改節點將用于根據參數節點的結果設置 LED 的狀態。

pYYBAGMQZeqAcdEJAAA_rERyf3U066.png

我們將使用兩個變更節點。第一個的有效負載將設置為 0,如下圖所示,第二個的有效負載將設置為 1。編輯兩者的屬性后單擊完成。

pYYBAGMQZeWABzKjAABj4OdxGu8822.png

為了更好地解釋,還記得我們使用了上拉電阻嗎?因此,當按鈕沒有被按下時,該引腳的輸出將為 HIGH(1),這意味著如果我們將其通過開關節點,LED 將“打開”,因為這不應該是這樣,我們將使用“更改”節點將其設置為 LOW(0)。第二個“更改”節點用于將值設置為 1,這樣當檢測到 GPIO 引腳 4 的高電平狀態以外的任何其他狀態時,它應該將 LED “打開”,因為這意味著按鈕已被按下。將更改節點和其余節點連接在一起,如下圖所示。

poYBAGMQZeCAbneCAABqOUnS04Y671.png

完成后,我們現在可以部署項目了。檢查連接以確保一切正常,然后單擊部署按鈕。像往常一樣,如果成功,您應該看到部署成功彈出窗口,現在可以使用開關控制 LED。

雖然 Node-Red 可以讓您輕松快速地構建原型,而無需擔心代碼,但它實際上可能不是最合適的,尤其是對于需要靈活性和控制程序的經驗豐富的開發人員而言。盡管如此,它還是一個很棒的工具,可以讓您在幾分鐘內構建原型。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23347

    瀏覽量

    662902
  • 樹莓派
    +關注

    關注

    117

    文章

    1710

    瀏覽量

    105848
收藏 人收藏

    評論

    相關推薦

    Node-RED實現電表數據采集并上云

    本案例將通過Docker容器安裝DLT-645協議插件采集實現電表數據上云,前面已經講過ModbusRTU協議通過Node-RED上云,如果采用支持ModbusRTU電表可以參考之前的“Docker
    的頭像 發表于 06-07 08:21 ?2965次閱讀
    <b class='flag-5'>Node-RED</b>實現電表數據采集并上云

    基于node-RedRaspberry Pi的物聯網實驗設計

    基于node-RedRaspberry Pi的物聯網實驗設計,都是小實驗,有人會嗎?
    發表于 03-06 12:11

    Node-Red是什么?如何去學習Node-Red

    Node-Red是什么?如何去學習Node-Red?有哪些方法可以去學習Node-Red
    發表于 07-02 06:11

    新手求助如何去學習Node-Red

    如何去學習Node-Red?怎樣去安裝dashboard這個UI控件庫?
    發表于 09-01 06:53

    第2部分:使用Node-RED的程序

    Understand how to use the Node-RED* interface to add sensors and send data to the AWS* cloud.
    的頭像 發表于 10-26 07:17 ?6723次閱讀

    運用 Node-RED 開發 LoRa 應用

    之前的課程LoRa G-IoT模塊基礎應用,我們已經知道如何將從LoRa得到的數值上傳服務器,本文我們將學習撰寫Node-RED,將數據傳送到自己設計的網頁監測接口。
    的頭像 發表于 12-25 17:54 ?837次閱讀

    使用Node-REDRaspberry Pi實現按下按鈕即可發布天氣信息

    Node-RED是一種可視化編程工具,可以將Raspberry Pi的 GPIO引腳 上的組件與各種網站和在線服務進行接合。該軟件由IBM開發,具有開源許可證,并且它的使用只需要編寫很少的代碼。
    的頭像 發表于 03-01 10:50 ?1861次閱讀
    使用<b class='flag-5'>Node-RED</b>和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>實現按下按鈕即可發布天氣信息

    Node-REDARM嵌入式工控機上的應用

    BL302 ARM嵌入式工控機Node-RED使用教程
    的頭像 發表于 03-02 18:45 ?5058次閱讀
    <b class='flag-5'>Node-RED</b><b class='flag-5'>在</b>ARM嵌入式工控機上的應用

    Node-red啟動電腦攝像頭案例

    通過Node-red實現打開電腦自帶的攝像頭或者USB攝像頭
    的頭像 發表于 06-01 06:50 ?5324次閱讀
    <b class='flag-5'>Node-red</b>啟動電腦攝像頭案例

    搭建Node-RED環境,將開發板變身為工業控制網關——米爾基于NXP LS1028A開發板

    控制系統LED五、系統命令控制GPIO六、Node-RED控制GPIO七、開發板上的S3按鍵使用八、
    的頭像 發表于 12-05 09:47 ?3883次閱讀
    搭建<b class='flag-5'>Node-RED</b>環境,將開發板變身為工業<b class='flag-5'>控制</b>網關——米爾基于NXP LS1028A開發板

    物聯網與ESP32、Node-RED和InfluxDB與WebSocket

    電子發燒友網站提供《物聯網與ESP32、Node-RED和InfluxDB與WebSocket.zip》資料免費下載
    發表于 07-13 09:51 ?0次下載
    物聯網與ESP32、<b class='flag-5'>Node-RED</b>和InfluxDB與WebSocket

    Node-RED安裝本地教程

    Node-RED是一個基于流的開發工具,廣泛應用于物聯網(IoT)、家庭自動化和其他數據驅動的應用程序。它通過圖形化的編程界面,使得非專業程序員也能輕松上手。本文將介紹如何在本地環境安裝Node-RED,幫助你快速開始項目開發
    的頭像 發表于 06-24 12:10 ?2256次閱讀
    <b class='flag-5'>Node-RED</b>安裝本地教程

    Node-RED如何制作漂亮的界面

    Node-RED深度融合(如成都的縱橫智控和蘇州穩聯科技將Node-RED與物聯網網關深度融合,打造可視化、硬件加持的物聯網開發平臺,使用者無需編碼即可快速實現各類應用,開拓物聯網無限可能)。未來或許將會有越來越多的企業步入此行業
    的頭像 發表于 06-26 16:50 ?5144次閱讀
    <b class='flag-5'>Node-RED</b>如何制作漂亮的界面

    Node-RED初學者教程-三分鐘學習

    通過這短短三分鐘的教程,你已經掌握了Node-RED的基本操作。你可以利用Node-RED的強大功能來創建更復雜的數據流和自動化任務,無論是物聯網應用、API集成還是數據處理。Node-RED
    的頭像 發表于 06-27 17:09 ?3135次閱讀
    <b class='flag-5'>Node-RED</b>初學者教程-三分鐘學習

    利用ARMxy邊緣計算機BL340與Node-Red實現LED設備的開閉控制

    搭建了一個高效的原型開發與測試平臺。本文將帶您走進BL340系列與Node-Red的結合應用,探索如何通過這一組合控制設備執行Linux指令,進而控制設備上的LED狀態。 一、
    的頭像 發表于 08-15 14:12 ?314次閱讀
    <b class='flag-5'>利用</b>ARMxy邊緣計算機BL340與<b class='flag-5'>Node-Red</b>實現<b class='flag-5'>LED</b>設備的開閉<b class='flag-5'>控制</b>
    主站蜘蛛池模板: 抽插的日日液液H | 5g天天奭视频| 国产成人精品一区二区三区视频 | 中国女人精69xxxxxx视频 | 麻豆影视在线直播观看免费 | 久久久免费观成人影院 | 小蝌蚪视频在线观看免费观看WWW | 亚洲裸舞 hd| 6080yy亚洲久久无码 | 久久vs国产 | 久久er国产免费精品 | 亚洲午夜精品一区二区公牛电影院 | 欧美人禽Zozo动人物杂交 | 超碰久久国产vs | 最近日本MV字幕免费观看视频 | 亚洲精品国产精品精 | avove旗袍丝袜高跟啪啪 | 亚洲中文有码字幕日本 | 久草在线福利视频在线播放 | 被送到黑人性奴俱乐部 | 玖玖爱这里只有精品视频 | 午夜福利电影网站鲁片大全 | 高hnp全肉| 久久综合狠狠综合久久综合88 | 麻生希第一部快播 | 日本xxxxxxx| 曰本熟妇乱妇色A片在线 | 国产精品久久久久永久免费看 | 久久免费电影 | 蜜桃臀无码内射一区二区三区 | 亚洲欧洲日产国码中学 | 精品久久综合1区2区3区激情 | 边摸边吃奶边做下面视频 | 国产成人在线视频观看 | 日本韩国欧美一区 | 玩弄人妻少妇500系列网址 | 欧美一区二区日韩一区二区 | 巨乳中文无码亚洲 | 国产免费看黄的私人影院 | 亚洲国产精品无码中文字幕 | 久久视频在线视频 |