0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣連接到IBM Watson IoT

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-25 15:56 ? 次閱讀

步驟1:開始之前

確保已存在以下內(nèi)容:

您已經(jīng)完成了本教程的第1部分。

一個(gè)Bluemix帳戶。

愛(ài)迪生中已安裝Node-Red Watson IoT節(jié)點(diǎn)模塊。為此,請(qǐng)查看官方文檔。

步驟2:Watson IoT Application

此處的入口部分是創(chuàng)建Bluemix應(yīng)用程序它將收集設(shè)備的數(shù)據(jù),在這種情況下為LED狀態(tài)。為此,請(qǐng)轉(zhuǎn)到Bluemix目錄并選擇Internet of Things Platform Starter樣板,如果愿意,請(qǐng)轉(zhuǎn)到此鏈接并創(chuàng)建您的應(yīng)用程序。

https://console.ng.bluemix.net/catalog/starters/internet-of-things-platform-starter/

請(qǐng)注意,通過(guò)此樣板,您可以將Node.js運(yùn)行時(shí),物聯(lián)網(wǎng)平臺(tái)和Cloudant NoSQL DB服務(wù)綁定到該應(yīng)用程序。我們對(duì)本教程感興趣的是物聯(lián)網(wǎng)平臺(tái)和Node.js,因?yàn)樗鼛в蠳ode-Red。

創(chuàng)建應(yīng)用程序后,轉(zhuǎn)到物聯(lián)網(wǎng)平臺(tái)服務(wù)儀表板。在其中,您會(huì)找到按鈕啟動(dòng)儀表板。單擊它

在Watson IoT Platform儀表板中,轉(zhuǎn)到設(shè)備,然后選擇設(shè)備類型選項(xiàng)卡并創(chuàng)建設(shè)備類型。

在設(shè)備頁(yè)面中,現(xiàn)在選擇瀏覽標(biāo)簽,然后點(diǎn)擊添加設(shè)備。選擇您剛剛創(chuàng)建的設(shè)備類型并為其設(shè)置一個(gè)名稱。完成向?qū)?,然后在結(jié)果頁(yè)面中保存設(shè)備的詳細(xì)信息,因?yàn)槟枰鼈儊?lái)連接物理設(shè)備(此數(shù)據(jù)無(wú)法恢復(fù))。要存儲(chǔ)的重要數(shù)據(jù)是:

組織ID。

設(shè)備類型。

設(shè)備ID。

身份驗(yàn)證令牌。

步驟3:將電路連接到IoT

怎樣連接到IBM Watson IoT

將電路連接到IoT

在本部分中,您將在Edison中修改Node-Red中的流,以現(xiàn)在就可以從IoT實(shí)例向IoT實(shí)例發(fā)送數(shù)據(jù)和接收命令,并從IoT實(shí)例接收命令,從而使其可以從Internet(而不是互聯(lián)網(wǎng))進(jìn)行控制

此外,本節(jié)還假定Watson IoT節(jié)點(diǎn)已安裝在Edison的Node-Red中。如果沒(méi)有,請(qǐng)按照此處的說(shuō)明

https://www.npmjs.com/package/node-red-contrib-ibm 。..

在愛(ài)迪生中啟動(dòng)Node-Red添加和配置Watson IoT連接。在這里,LED將連接到IoT平臺(tái),因此它可以從設(shè)備收集數(shù)據(jù)并發(fā)送命令以通過(guò)Internet打開和關(guān)閉它。

步驟4:讀取LED狀態(tài)

在輸入抽屜中,選擇 gpio 節(jié)點(diǎn)并將其拖放到畫布上。雙擊它并指定:

電路板:您在第1部分中配置的電路板。

類型:數(shù)字(0/1)。

引腳:我使用了引腳6。

名稱:ReadLED。

步驟5:形成Watson IoT的消息

Watson IoT期望一個(gè)非常特殊的消息?;旧?,您需要從有效負(fù)載中讀取LED的狀態(tài),并將其分配給Watson IoT期望的屬性,這是JSON消息中的d屬性。

為此,請(qǐng)使用 功能抽屜中的“功能”節(jié)點(diǎn),然后在其中輸入以下代碼(不要忘記雙擊它)。

var ledState = msg.payload;

msg.payload = {

“d”: {

“l(fā)ed_state”: ledState

}

};

return msg;

現(xiàn)在

步驟6:將數(shù)據(jù)發(fā)送到IoT

選擇 Watson IoT 從 Output 抽屜中將其拖放到畫布上。雙擊它。

在將數(shù)據(jù)發(fā)送到IoT平臺(tái)之前,您需要配置連接。為此,請(qǐng)點(diǎn)擊憑據(jù)字段中的鉛筆圖標(biāo)。在生成的表單中,輸入本教程的 Watson IoT應(yīng)用程序部分中創(chuàng)建設(shè)備時(shí)獲得的憑據(jù)的信息。

一旦配置了憑據(jù),請(qǐng)指定其余字段:

連接為:設(shè)備

已注冊(cè):應(yīng)選擇已注冊(cè)的無(wú)線電

憑據(jù):您剛剛配置的憑據(jù)

事件類型:事件

格式:json

單擊完成,連接功能和該節(jié)點(diǎn)并部署更改。如果一切配置正確,ReadLED(如上圖)和Watson IoT節(jié)點(diǎn)都將有一個(gè)指示燈,指示它們已正確連接。

步驟7:從IoT讀取命令

現(xiàn)在將LED數(shù)據(jù)發(fā)送到IoT平臺(tái)。但是,尚無(wú)法從Internet對(duì)其進(jìn)行操作?;旧希皇菙?shù)據(jù)源,沒(méi)有采取任何措施。現(xiàn)在可以從Internet讀取狀態(tài)并將其反映在LED上。這就是命令。

在輸入抽屜中,找到 Watson IoT 節(jié)點(diǎn)并將其拖放到畫布上。雙擊它并指定以下內(nèi)容:

連接為:設(shè)備

憑據(jù):您剛剛使用的憑據(jù)配置

命令:閃爍

保存節(jié)點(diǎn)。

步驟8:格式化傳入消息

由于來(lái)自Watson IoT的傳入消息具有特定格式,因此您需要提取要反映在物理LED中的狀態(tài)。從 Functions 抽屜中拖放 function 節(jié)點(diǎn),然后輸入以下代碼。

var ledState = msg.payload.d.led_state;

msg.payload = ledState;

return msg;

連接兩個(gè)節(jié)點(diǎn)。最后,將功能節(jié)點(diǎn)與在本教程的第1部分中創(chuàng)建的LED節(jié)點(diǎn)連接起來(lái)。

最后,如果您遵循第1部分和第2部分中的這一部分,那么Edison中的流程應(yīng)類似于此步驟中的圖像。此圖像的前兩行節(jié)點(diǎn)已在第1部分中完成,而最后一行已在本節(jié)中完成。

步驟9:從IoT讀取和控制設(shè)備

一旦設(shè)備通過(guò)Edison中的Node-Red連接到Watson IoT平臺(tái),就該在Bluemix應(yīng)用程序中創(chuàng)建流以接收該信息并將命令發(fā)送到打開和關(guān)閉LED。這將使用與第1部分中使用的HTTP請(qǐng)求非常相似的HTTP請(qǐng)求來(lái)完成。

首先,您需要在Bluemix中啟動(dòng)Node-Red應(yīng)用程序。為此,請(qǐng)轉(zhuǎn)到Bluemix儀表板,然后在所有應(yīng)用程序中單擊應(yīng)用程序的 Route 。出現(xiàn)的頁(yè)面上有一個(gè)大按鈕,顯示轉(zhuǎn)到您的Node-RED流編輯器。單擊它,Node-Red編輯器將準(zhǔn)備就緒,可以開始創(chuàng)建流了。

步驟10:讀取數(shù)據(jù)

這是一項(xiàng)瑣碎的任務(wù)在Watson IoT節(jié)點(diǎn)中已經(jīng)預(yù)先安裝了Watson IoT節(jié)點(diǎn),因此可以在Bluemix中使用。就像從 Input 抽屜中添加 Watson IoT 節(jié)點(diǎn)并指定以下屬性一樣簡(jiǎn)單:

身份驗(yàn)證:Bluemix服務(wù)

輸入:設(shè)備事件

設(shè)備類型:您在憑證中使用的那個(gè)。

設(shè)備ID :您在憑據(jù)中使用的設(shè)備

事件:+

Format :json

我將此節(jié)點(diǎn)連接到 debug 節(jié)點(diǎn),只是為了在 Debug 窗格,但是通常的想法是,當(dāng)設(shè)備將數(shù)據(jù)發(fā)送到IoT實(shí)例時(shí),您應(yīng)該適當(dāng)?shù)貙?duì)待它,可能會(huì)向移動(dòng)設(shè)備或電子郵件發(fā)送通知,或者可能會(huì)向連接到IoT的設(shè)備觸發(fā)命令。

步驟11:HTTP請(qǐng)求

在Node-Red的 Input 抽屜中,選擇 HTTP 節(jié)點(diǎn),將其拖放到畫布上。雙擊畫布中的節(jié)點(diǎn)并指定以下參數(shù)

方法:GET

URL :/led/:state

步驟12:從HTTP請(qǐng)求中提取操作

您可以在上面的URL中看到,操作作為URL的最后一部分傳遞。因此,我們需要提取它。 Node-Red使您可以使用標(biāo)準(zhǔn)Express API從請(qǐng)求中獲取變量。

從 Function 抽屜中選擇 function 節(jié)點(diǎn)并拖動(dòng)并將其拖放到畫布上。雙擊并放置以下JavaScript代碼。

if (msg.req.path == “/led/on”) {

msg.payload = 1;

msg.httpMsg = “On”

} else if (msg.req.path == “/led/off”) {

msg.payload = 0;

msg.httpMsg = “Off”

} else {

msg = null;

}

return msg;

輸入代碼后,單擊完成并連接兩個(gè)節(jié)點(diǎn)。

步驟13:將命令發(fā)送到設(shè)備

消息正確形成后,您可以將該命令發(fā)送到設(shè)備。從“輸出”抽屜中拖放一個(gè)Watson IoT節(jié)點(diǎn),然后雙擊它。指定以下內(nèi)容:

身份驗(yàn)證:Bluemix服務(wù)

輸出類型:設(shè)備命令

設(shè)備類型:您憑據(jù)中的一個(gè)

設(shè)備ID :您憑據(jù)中的一個(gè)

命令 類型:閃爍

格式:json

數(shù)據(jù):{“ d” :{“錯(cuò)誤”:“有錯(cuò)誤”}}

單擊完成并將功能連接到該節(jié)點(diǎn)。

注意 Data 屬性正在使用形成的JSON消息。只要其中具有 d 屬性,該消息就會(huì)被替換。基本上是在說(shuō)如果在消息中沒(méi)有找到 d 屬性,然后將錯(cuò)誤消息發(fā)送到設(shè)備。在功能節(jié)點(diǎn)中,我們確保消息中存在該屬性。

步驟14:發(fā)回響應(yīng)

因?yàn)榇苏?qǐng)求是通過(guò)以下方式發(fā)起的:一個(gè)HTTP請(qǐng)求,您必須以HTTP響應(yīng)完成它。為此,在 Output 抽屜中選擇一個(gè) HTTP Response 節(jié)點(diǎn)并將其拖放到畫布上。將該節(jié)點(diǎn)連接到先前創(chuàng)建的功能以形成客戶端消息。

單擊部署以使流程栩栩如生。

第15步:測(cè)試流程

現(xiàn)在已經(jīng)創(chuàng)建了流程,您可以使用網(wǎng)站了瀏覽器或處理HTTP請(qǐng)求(例如cURL或WGET)的任何其他程序來(lái)對(duì)其進(jìn)行測(cè)試。

打開Web瀏覽器并使用這兩個(gè)URL之一。就我而言,我的Bluemix應(yīng)用程序的地址是https://vsiotll.mybluemix.net

https://vsiotll.mybluemix.net/led/on

https://vsiotll.mybluemix.net/led/off

注意:隨著我將自己的空間用于自己的空間,此網(wǎng)址很快就會(huì)消失教育目的。

第16步:結(jié)論

使用適當(dāng)?shù)钠脚_(tái)和工具,可以帶給您永久的價(jià)值。相對(duì)輕松地實(shí)現(xiàn)生活中任何瘋狂的想法。今天,與硬件和軟件進(jìn)行交互非常簡(jiǎn)單,此外,構(gòu)建有趣的東西可以幫助您使生活更輕松:也許是一種能夠感應(yīng)到植物的水分或濕度,然后在需要時(shí)澆水的設(shè)備,或者是一種寵物飼養(yǎng)設(shè)備,單擊移動(dòng)設(shè)備中的按鈕即可觸發(fā)??赡苄允菬o(wú)止境的!

您應(yīng)該牢記的一件重要事情是:安全是一個(gè)大話題,永遠(yuǎn)不可低估。這是諸如IBM Watson IoT之類的平臺(tái)幫助您保護(hù)和管理設(shè)備的機(jī)會(huì)。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IBM
    IBM
    +關(guān)注

    關(guān)注

    3

    文章

    1761

    瀏覽量

    74767
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    將ADS8320/ADS8325連接到TMS320C6711 DSP

    電子發(fā)燒友網(wǎng)站提供《將ADS8320/ADS8325連接到TMS320C6711 DSP.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 10:09 ?0次下載
    將ADS8320/ADS8325<b class='flag-5'>連接到</b>TMS320C6711 DSP

    將ADS8401/ADS8411連接到TMS320C6713 DSP

    電子發(fā)燒友網(wǎng)站提供《將ADS8401/ADS8411連接到TMS320C6713 DSP.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 10:09 ?0次下載
    將ADS8401/ADS8411<b class='flag-5'>連接到</b>TMS320C6713 DSP

    將ADS8383連接到TMS320C6711 DSP

    電子發(fā)燒友網(wǎng)站提供《將ADS8383連接到TMS320C6711 DSP.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 09:36 ?0次下載
    將ADS8383<b class='flag-5'>連接到</b>TMS320C6711 DSP

    將LCD控制器連接到DM642視頻端口

    電子發(fā)燒友網(wǎng)站提供《將LCD控制器連接到DM642視頻端口.pdf》資料免費(fèi)下載
    發(fā)表于 10-17 10:42 ?0次下載
    將LCD控制器<b class='flag-5'>連接到</b>DM642視頻端口

    連接到PGA900的電阻式電橋壓力傳感器的系統(tǒng)噪聲分析

    電子發(fā)燒友網(wǎng)站提供《連接到PGA900的電阻式電橋壓力傳感器的系統(tǒng)噪聲分析.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 14:45 ?0次下載
    <b class='flag-5'>連接到</b>PGA900的電阻式電橋壓力傳感器的系統(tǒng)噪聲分析

    涂鴉的Link SDK如何連接到涂鴉IOT平臺(tái)教程

    一 概述 Link SDK 涂鴉Link SDK,即tuya-connect-kit。使用 C 語(yǔ)言實(shí)現(xiàn),適用于開發(fā)者自主開發(fā)硬件設(shè)備邏輯業(yè)務(wù)接入涂鴉 IoT。Tuya Connect Kit 提供
    的頭像 發(fā)表于 09-25 16:41 ?648次閱讀
    涂鴉的Link SDK如何<b class='flag-5'>連接到</b>涂鴉<b class='flag-5'>IOT</b>平臺(tái)教程

    IBM助力圖靈新智算構(gòu)建全能AI平臺(tái)

    和watsonx.governance,以及 IBM 企業(yè)級(jí) AI 數(shù)字助理軟件 watsonx Assistant 和 AI 文檔理解與分析軟件 Watson Discovery, 構(gòu)建全能的 AI 平臺(tái),為各行各業(yè)提供平臺(tái)化的全棧智算算力服務(wù),加速擴(kuò)展生成式AI行業(yè)
    的頭像 發(fā)表于 08-02 14:53 ?611次閱讀

    esp_iot_sdk_v0.9.6_b1客戶端斷開連接導(dǎo)致WDT重置怎么解決?

    我正在使用 esp_iot_sdk_v0.9.6_b1 的固件 在服務(wù)器模式下,如果我使用 curl 連接到服務(wù)器,然后在 curl 上執(zhí)行 CTRL-C,服務(wù)器將重置并且程序停止運(yùn)行。 我認(rèn)為如果
    發(fā)表于 07-18 06:33

    使用ESP8266將arduino連接到thinkspeak云,無(wú)法將其連接到任何網(wǎng)頁(yè),為什么?

    我正在嘗試使用 ESP8266 將 arduino 連接到 thinkspeak 云。所以我能夠?qū)?esp 模塊連接到我的家庭 wifi,但我無(wú)法將其連接到任何網(wǎng)頁(yè)。 如果我嘗試與谷歌連接
    發(fā)表于 07-16 07:43

    使用mbedtls連接到aws iot,無(wú)法編譯代碼的原因?

    我正在使用 mbedtls 連接到 aws iot,但由于 mbedtls 缺少一些定義,我無(wú)法編譯代碼。 我使用的是 ESP8266_RTOS_SDK 1.5 中的原始 libmbedtls.a
    發(fā)表于 07-12 07:24

    NONOS SDK V2.2.0編譯了IoT_Demo程序并下載了它,連接到AP時(shí)未獲取IP地址,為什么?

    嗨,我正在使用 NONOS SDK V2.2.0,我編譯了 IoT_Demo 程序并下載了它,一切似乎都沒(méi)問(wèn)題,您可以連接到它的軟 AP 并使用 curl 命令檢查其版本信息等。但是當(dāng)我試圖讓它作為
    發(fā)表于 07-10 06:37

    esp8266已連接到Wifi但無(wú)法連接到互聯(lián)網(wǎng),為什么?

    首先,我想說(shuō)對(duì)不起,如果我的帖子在錯(cuò)誤的線程中。在那之后,我想問(wèn)一個(gè)問(wèn)題,我的 esp12E 已連接到 Wifi,但它無(wú)法連接到互聯(lián)網(wǎng),即使 wifi 連接到互聯(lián)網(wǎng)和其他設(shè)備,它仍然完美地使用互聯(lián)網(wǎng)
    發(fā)表于 07-09 07:11

    如何將LED連接到Arduino板并使其閃爍

     在本快速入門指南中,您將學(xué)習(xí)如何將 LED 連接到 Arduino 板并使其閃爍。
    的頭像 發(fā)表于 02-11 10:53 ?2296次閱讀
    如何將LED<b class='flag-5'>連接到</b>Arduino板并使其閃爍

    如何將按鈕連接到Arduino板

    在本快速入門指南中,您將學(xué)習(xí)如何將按鈕連接到Arduino板,并根據(jù)按鈕是否被按下來(lái)讀取HIGH或LOW。您將使用電路板上隨附的發(fā)光二極管 (LED)通過(guò)按鈕打開和關(guān)閉,以便驗(yàn)證按鈕按下代碼是否正常工作。
    的頭像 發(fā)表于 02-11 10:52 ?4018次閱讀
    如何將按鈕<b class='flag-5'>連接到</b>Arduino板

    什么是窄帶物聯(lián)網(wǎng)(NB-IoT)?應(yīng)用領(lǐng)域有哪些?

    的移動(dòng)網(wǎng)絡(luò)運(yùn)營(yíng)商頻段,將物聯(lián)網(wǎng)設(shè)備連接到互聯(lián)網(wǎng)。NB-IoT提供了更高的覆蓋范圍、更低的功耗和更低的連接成本,從而為各種物聯(lián)網(wǎng)應(yīng)用提供了理想的解決方案。 NB-IoT的主要特點(diǎn)包括:
    的頭像 發(fā)表于 02-01 10:13 ?4379次閱讀