亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用畫(huà)流程圖的方式開(kāi)發(fā)物聯(lián)網(wǎng)應(yīng)用

        2020-08-09 08:55:11張敬云謝作如
        中國(guó)信息技術(shù)教育 2020年16期
        關(guān)鍵詞:流程圖郵箱實(shí)例

        張敬云 謝作如

        物聯(lián)網(wǎng)(IoT)可以理解為“萬(wàn)物相連的互聯(lián)網(wǎng)”,其目標(biāo)是讓萬(wàn)物溝通對(duì)話。例如,在電視機(jī)上裝傳感器,可以用手機(jī)通過(guò)網(wǎng)絡(luò)控制電視機(jī)的使用;在空調(diào)、電燈上裝傳感器,計(jì)算機(jī)可以精確調(diào)控、開(kāi)關(guān),實(shí)現(xiàn)有效節(jié)能;在窗戶上裝傳感器,你就可以坐在辦公室里通過(guò)計(jì)算機(jī)打開(kāi)家里的窗戶透氣等。

        流程圖是對(duì)系統(tǒng)應(yīng)用的工作流程的一種可視化表達(dá),便于準(zhǔn)確判斷各個(gè)步驟之間的邏輯關(guān)系。有時(shí)為了說(shuō)明某個(gè)物聯(lián)網(wǎng)應(yīng)用的數(shù)據(jù)流轉(zhuǎn)或工作流程,我們常常會(huì)使用流程圖來(lái)表示。一些對(duì)物聯(lián)網(wǎng)有著濃厚興趣的非計(jì)算機(jī)專業(yè)的創(chuàng)客,往往空有各種奇妙的想法,原因是他們無(wú)法撰寫(xiě)艱深難懂的程序代碼?,F(xiàn)在,Node-RED的出現(xiàn)給創(chuàng)客們提供了一個(gè)很好的解決途徑——用基于流程圖的可視化界面開(kāi)發(fā)工具,開(kāi)發(fā)物聯(lián)網(wǎng)應(yīng)用(如圖1)。

        ● Node-RED和MQTT簡(jiǎn)介

        1.Node-RED簡(jiǎn)介

        Node-RED是IBM開(kāi)發(fā)的一個(gè)基于“流”的可視化界面編程工具。因?yàn)榫幊毯?jiǎn)單、流程清晰,這個(gè)工具很快發(fā)展成為一種通用的物聯(lián)網(wǎng)編程工具。Node-RED提供基于網(wǎng)頁(yè)的編程環(huán)境,通過(guò)拖拽已定義的節(jié)點(diǎn)到工作區(qū),并用線條連接節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)流來(lái)實(shí)現(xiàn)編程。程序代碼則以JSON字符串的格式保存,方便用戶分享與修改。

        Node-RED是基于Nodejs開(kāi)發(fā)的,所以要先安裝Node環(huán)境,再通過(guò)命令安裝Node-RED。詳細(xì)的安裝過(guò)程可以參考一些網(wǎng)絡(luò)教程,或者“虛谷物聯(lián)”項(xiàng)目的官方文檔(文檔地址:https://github.com/vvlink/SIoT)。

        2.Node-RED連接MQTT服務(wù)器

        MQTT是物聯(lián)網(wǎng)應(yīng)用的核心協(xié)議之一。EasyIoT、SIoT都是典型的MQTT服務(wù)器。本文中,使用SIoT作為MQTT服務(wù)器,具體的操作過(guò)程可參考“虛谷物聯(lián)”項(xiàng)目的官方文檔。在Node-RED中,我們只需將MQTT輸入節(jié)點(diǎn)拖出,雙擊修改其中參數(shù),設(shè)置好服務(wù)端、主題、用戶名和密碼(SIoT登錄的用戶名和密碼),就可以接收到從MQTT服務(wù)器傳來(lái)的數(shù)據(jù)。當(dāng)然,也可以通過(guò)MQTT輸出節(jié)點(diǎn)從Node-RED發(fā)送信息到MQTT服務(wù)器。

        ● Node-RED的Arduino插件

        Node-RED與Arduino可通過(guò)串口進(jìn)行交互,但默認(rèn)的Node-RED界面是沒(méi)有Arduino節(jié)點(diǎn)的,需要另外安裝。此外,還要給Arduino燒錄標(biāo)準(zhǔn)的Firmata協(xié)議,在Arduino IDE中可以找到(Files-Examples-Firmata-Standard Firmata)。

        安裝Arduino插件后,即可看到Arduino in和Arduino out兩個(gè)節(jié)點(diǎn)。顧名思義,in是引腳信息的輸入,out是引腳信號(hào)的輸出。

        1.傳感器信息的輸入

        通過(guò)輸入節(jié)點(diǎn)Arduino in,可以將傳感器感知到的外界信息,如光照、溫度、聲音等輸入到Node-RED中。本實(shí)例是將光線傳感器的值輸入到Node-RED中,按住鼠標(biāo)左鍵將節(jié)點(diǎn)拖至流程圖中,發(fā)現(xiàn)節(jié)點(diǎn)的名字發(fā)生了改變,這是由于節(jié)點(diǎn)被實(shí)例化,代表了某個(gè)具體的數(shù)值。我們可以通過(guò)修改節(jié)點(diǎn)的名稱屬性來(lái)改變其在流程圖中的名字,并不影響整個(gè)流程中的其他數(shù)據(jù)。為了方便觀察數(shù)據(jù),我們加入了debug節(jié)點(diǎn)(如圖2)。

        雙擊Arduino in節(jié)點(diǎn)進(jìn)行編輯,需要選擇Arduino的端口號(hào)、引腳類(lèi)型(Type)以及引腳號(hào)(Pin)。然后單擊“部署”運(yùn)行程序,在調(diào)試窗口便能看到實(shí)時(shí)輸入的光線值信息了(如圖3)。

        2.控制信號(hào)的輸出

        通過(guò)Node-RED,還可以控制Arduino的引腳電平變化,從而控制設(shè)備的打開(kāi)或關(guān)閉,實(shí)現(xiàn)信號(hào)的輸出。本實(shí)例是控制一個(gè)LED燈的打開(kāi)或關(guān)閉,用到了Arduino out節(jié)點(diǎn)和inject(注入)節(jié)點(diǎn)(如圖4)。

        雙擊inject節(jié)點(diǎn)進(jìn)行編輯,將“內(nèi)容”設(shè)置為數(shù)字1(也可以選擇布爾值);雙擊Arduino out節(jié)點(diǎn)進(jìn)行編輯,選擇引腳類(lèi)型Type以及引腳號(hào)Pin,上一個(gè)步驟中已經(jīng)設(shè)置了Arduino的端口號(hào),這里就不用再寫(xiě)了。單擊“部署”運(yùn)行程序,便可以看到LED亮起來(lái)了。同理,也可以控制LED的熄滅。如果將Arduino out節(jié)點(diǎn)的引腳類(lèi)型Type選擇為模擬輸出,則還可以控制LED的亮度輸出。

        ● 典型的物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)

        1.采集數(shù)據(jù)到服務(wù)器

        數(shù)據(jù)采集是探究性問(wèn)題研究過(guò)程中的關(guān)鍵環(huán)節(jié)。通過(guò)Node-RED,我們可以將傳感器感知到的外界數(shù)據(jù)實(shí)時(shí)上傳到MQTT服務(wù)器上,便于數(shù)據(jù)的分析處理。本實(shí)例是將光線傳感器的值上傳到MQTT服務(wù)器。該過(guò)程需要用到Arduino in節(jié)點(diǎn)和MQTT out節(jié)點(diǎn)。雙擊相應(yīng)的節(jié)點(diǎn),修改其中的參數(shù),然后單擊部署運(yùn)行程序,便可以看到流程圖中“已連接”的標(biāo)識(shí)(如圖5),同時(shí),也可以在MQTT服務(wù)器端看到實(shí)時(shí)上傳的數(shù)據(jù)。

        2.遠(yuǎn)程控制LED模塊

        遠(yuǎn)程控制是物聯(lián)網(wǎng)應(yīng)用最常見(jiàn)的操作。本實(shí)例將實(shí)現(xiàn)從MQTT服務(wù)器發(fā)送信息遠(yuǎn)程控制LED燈亮或滅。該過(guò)程需要用到Arduino out節(jié)點(diǎn)和MQTT in節(jié)點(diǎn)。雙擊相應(yīng)的節(jié)點(diǎn),修改其中的參數(shù),然后單擊部署運(yùn)行程序,便可以看到流程圖中“已連接”的標(biāo)識(shí)。此時(shí)我們就可以在MQTT服務(wù)端發(fā)送消息1或者0來(lái)控制LED燈的亮或者滅了。

        3.發(fā)送異常信息到郵箱

        利用運(yùn)動(dòng)傳感器及蜂鳴器,即可制作一個(gè)檢測(cè)到家里有人出入,便有警報(bào)聲響起,同時(shí)通過(guò)E-mail的方式向主人發(fā)送消息的“安防”系統(tǒng)(如圖6)。

        這個(gè)應(yīng)用的編寫(xiě),需要用到Arduino in節(jié)點(diǎn)、Arduino out節(jié)點(diǎn)、switch節(jié)點(diǎn)、change節(jié)點(diǎn)及E-mail的發(fā)送節(jié)點(diǎn)。(Arduino in和Arduino out節(jié)點(diǎn)之前的實(shí)例已學(xué)過(guò),不再贅述;Node-RED默認(rèn)是沒(méi)有安裝郵箱節(jié)點(diǎn)的,這里也略過(guò)安裝方式)

        ①“switch”節(jié)點(diǎn)可實(shí)現(xiàn)是否有人的判斷。若檢測(cè)到有人,即運(yùn)動(dòng)傳感器的值為1時(shí),“switch”節(jié)點(diǎn)的值輸出1,同時(shí)蜂鳴器響起,并通過(guò)E-mail發(fā)送消息給主人,否則一切正常。為了增加整個(gè)流程的可讀性,還可為節(jié)點(diǎn)取個(gè)名字,如“判斷”(如圖7)。

        ②“change”節(jié)點(diǎn)可改變上一節(jié)點(diǎn)流入的內(nèi)容。為了增加郵件的可讀性,將上一節(jié)點(diǎn)流入的數(shù)據(jù)“1”改變?yōu)槲淖帧坝腥岁J入”,發(fā)送給下一個(gè)E-mail節(jié)點(diǎn)(如圖8)。

        ③“E-mail”的發(fā)送節(jié)點(diǎn)編輯。我們只要知道收件人的郵箱地址,就可以通過(guò)發(fā)件人的郵箱地址和密碼向收件人發(fā)送消息。不同的郵箱地址,需設(shè)置不同的郵箱服務(wù)器及端口。這里我們是以QQ郵箱用戶向QQ郵箱用戶發(fā)送消息,發(fā)件服務(wù)器是smtp.qq.com,端口默認(rèn)為465。

        需要注意的是,現(xiàn)在國(guó)內(nèi)大多數(shù)的免費(fèi)郵箱在默認(rèn)情況下是關(guān)閉SMTP和POP協(xié)議的,因此在使用“E-mail”節(jié)點(diǎn)收發(fā)電子郵件時(shí),需首先開(kāi)啟SMTP和POP協(xié)議,具體操作可打開(kāi)QQ郵箱,到“設(shè)置”-“賬戶”里去開(kāi)啟。如圖9所示,Password一欄輸入的是QQ郵箱的授權(quán)碼,而非QQ郵箱的密碼。我們可打開(kāi)QQ郵箱,在“設(shè)置”-“賬戶”里生成授權(quán)碼。

        至此,單擊部署運(yùn)行流程圖,如果檢測(cè)到有人,則會(huì)發(fā)送一封郵件提醒主人(如圖10)。

        ● Node-RED的應(yīng)用思考

        Node-RED能夠成為眾多工程師喜歡的物聯(lián)網(wǎng)應(yīng)用程序開(kāi)發(fā)工具,原因是它具備兩大優(yōu)勢(shì):一是Node-RED基于流的編程模型?;诹鞯木幊棠P涂梢院芎玫赜成涞降湫偷奈锫?lián)網(wǎng)應(yīng)用中。二是Node-RED內(nèi)置了豐富的節(jié)點(diǎn)(Node)。通過(guò)構(gòu)建一套強(qiáng)大的輸入和輸出節(jié)點(diǎn),為開(kāi)發(fā)人員提供了強(qiáng)大的構(gòu)建模塊,使其能夠快速組合完成大量的流程,實(shí)現(xiàn)與現(xiàn)實(shí)世界的交互及控制設(shè)備,而無(wú)需擔(dān)心編程細(xì)節(jié)。

        目前,Node-RED在工業(yè)物聯(lián)網(wǎng)和控制中已經(jīng)開(kāi)始廣泛應(yīng)用,如西門(mén)子公司的IoT2000、研華公司的WISE PaaS 網(wǎng)關(guān)、美國(guó)的OPTO? Groov EPIC等設(shè)備中都安裝了Node-RED。簡(jiǎn)而言之,Node-RED是一款值得學(xué)習(xí)的物聯(lián)網(wǎng)工具,其入門(mén)簡(jiǎn)單且功能強(qiáng)大。為了方便更多人使用Node-RED,開(kāi)源硬件虛谷號(hào)的新固件上集成了Node-RED、SIoT等軟件,開(kāi)機(jī)即可使用,對(duì)更多的創(chuàng)客來(lái)說(shuō),物聯(lián)網(wǎng)的學(xué)習(xí)門(mén)檻更低了。

        猜你喜歡
        流程圖郵箱實(shí)例
        沒(méi)問(wèn)題郵箱
        專利申請(qǐng)審批流程圖
        河南科技(2016年8期)2016-09-03 08:08:22
        專利申請(qǐng)審批流程圖
        河南科技(2016年6期)2016-08-13 08:18:29
        關(guān)于停止使用dianxunjishu@china.com郵箱的通知
        郵箱變更
        寧??h村級(jí)權(quán)力清單36條
        完形填空Ⅱ
        完形填空Ⅰ
        《天津醫(yī)藥》稿件處理流程圖
        給你個(gè)Gmail玩玩
        国产黄色污一区二区三区| 免费99精品国产自在在线| 成年在线观看免费视频| 亚洲AV无码一区二区三区精神| 日本国产一区二区在线| 亚洲日韩精品无码av海量| 丰满少妇高潮惨叫正在播放| 亚洲欧美日韩国产精品网| 久久精品伊人久久精品| 亚洲av综合av一区二区三区| 国产乱人视频在线播放| 亚洲熟妇乱子伦在线| 在线观看亚洲AV日韩A∨| 人妻一区二区三区免费看| 精品国产a一区二区三区v| 无码爆乳护士让我爽| 猫咪免费人成网站在线观看| 无码视频一区二区三区在线播放| av新型国产在线资源| 人妻洗澡被强公日日澡电影| 欧美日韩中文国产一区| 一级一级毛片无码免费视频| 澳门精品一区二区三区| 亚洲成在人线视av| 欧洲人妻丰满av无码久久不卡 | 中文字幕视频二区三区| 日本视频二区在线观看| 国产精品va无码一区二区| 中出高潮了中文字幕| 男女深夜视频网站入口| 国产乱妇无乱码大黄aa片| 午夜家庭影院| 国产三级三级三级看三级日本| 91露脸半推半就老熟妇| 国产va在线观看免费| 精品亚洲少妇一区二区三区| 国产色视频在线观看了| 日韩国产精品无码一区二区三区 | 国产一区二区三区在线观看黄 | 在线播放国产女同闺蜜| 成人av一区二区亚洲精|