簡道云接入物聯(lián)網(wǎng)

物聯(lián)網(wǎng)技術(shù)的創(chuàng)新應(yīng)用使制造業(yè)能夠適應(yīng)未來并為未來做好準(zhǔn)備,物聯(lián)網(wǎng)通信是機(jī)器到用戶通信和客戶端-服務(wù)器交互,必須滿足嚴(yán)格的實時性和可靠性要求。如何在簡道云中發(fā)送指令給設(shè)備,可以接入物聯(lián)網(wǎng)確保實時性要求。簡道云可以通過webhook進(jìn)行數(shù)據(jù)推送,webhook是微服務(wù)api的使用范式之一,也被稱為反向api,即:前端不主動發(fā)送請求,完全由后端推送。?使用webhook,你可以實時接受到變化信息。
接下來就是要打通webhook和物聯(lián)網(wǎng)及數(shù)據(jù)庫之間的實時通信,需要安裝以下幾個工具。
安裝EMQX
EMQX開源云原生分布式物聯(lián)網(wǎng) MQTT 消息服務(wù)器
#下載鏡像 docker?pull?emqx/emqx # 后臺運(yùn)行鏡像 docker run?-dit?--name?emqx?-p?18083:18083?-p?1883:1883?-p?8083:8083?-p?8084:8084?emqx/emqx:latest # 訪問emqt的web管理頁面 http://服務(wù)器ip地址:18083 # 端口 1883:MQTT 協(xié)議端口 8883:MQTT/SSL 端口 8083:MQTT/WebSocket 端口 8080:HTTP API 端口 18083:Dashboard 管理控制臺端口

安裝Node-RED
構(gòu)建物聯(lián)?應(yīng)?程序的?個強(qiáng)??具,它使?可視化編程?法,允許開發(fā)?員將預(yù)定義的代碼塊(也叫做"節(jié)點(diǎn)")連接起來執(zhí)?任務(wù)。
# 拉取node-red的鏡像 docker pull nodered/node-red # 運(yùn)行node-red的鏡像成為容器 docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red #?啟動網(wǎng)址http://服務(wù)器ip地址:1880

創(chuàng)建webhookrelay?Tokens和Buckets
類似網(wǎng)關(guān)可以接收webhook并路由到連接的客戶端,避免將NodeRed暴露到互聯(lián)網(wǎng)中確保信息安全。
打開網(wǎng)址https://my.webhookrelay.com/tokens,可以用github或google賬號登陸。
點(diǎn)擊“CREATE TOKEN”創(chuàng)建

記住Key和Secret

選擇Buckets,點(diǎn)擊CREATE BUCKET創(chuàng)建

輸入Bucket名稱,保存創(chuàng)建

復(fù)制接受webhook的服務(wù)器網(wǎng)址

選擇簡道云表單擴(kuò)展功能的數(shù)據(jù)推送,點(diǎn)擊新建數(shù)據(jù)推送

將webhookrelay中創(chuàng)建的服務(wù)器地址復(fù)制過來,點(diǎn)擊連接測試并保存


在Node-RED中點(diǎn)擊右上角圖標(biāo),選擇設(shè)置

在控制板中點(diǎn)擊安裝選項,搜索webhookrelay并安裝

在控制板中點(diǎn)擊安裝選項,搜索mysql并安裝

點(diǎn)擊+按鈕創(chuàng)建新流程,并命名

拖著webhookrelay插件到面板,雙擊設(shè)置屬性,輸入webhookrelay創(chuàng)建的bucket、key和secret

拖拽函數(shù)插件到面板,并將兩個節(jié)點(diǎn)連接

雙擊函數(shù)插件,編輯函數(shù),將簡單云推送的數(shù)據(jù)進(jìn)行封裝處理

拖拽MQTT發(fā)送插件到面板,并與函數(shù)節(jié)點(diǎn)連接

雙擊mqtt out插件,添加物聯(lián)網(wǎng)服務(wù)端,輸入物聯(lián)網(wǎng)服務(wù)器地址并更新

輸入發(fā)送到物聯(lián)網(wǎng)平臺的主題,并保存

可以拖拽debug插件到面板,并與函數(shù)節(jié)點(diǎn)連接,然后部署

簡道云中提交一條數(shù)據(jù)

在Node-RED中就可以接收到一條調(diào)試信息

這樣可以在任意接入物聯(lián)網(wǎng)的設(shè)備中訂閱到這條簡道云新增的消息

接下來可以同時保存到數(shù)據(jù)庫的設(shè)置
拖拽函數(shù)插件到面板,并與前面一個函數(shù)節(jié)點(diǎn)連接

雙擊函數(shù)插件,編輯函數(shù)封裝SQL語句

拖拽mysql插件到面板,并與第二個函數(shù)節(jié)點(diǎn)連接

雙擊mysql插件,添加mysql數(shù)據(jù)庫信息并更新完成

點(diǎn)擊部署,確保webhookrelay,mqtt和mysql節(jié)點(diǎn)都已連接

簡道云上新增一條數(shù)據(jù)

這樣可以在物聯(lián)網(wǎng)平臺中訂閱到這條數(shù)據(jù)同時保存到數(shù)據(jù)庫。

以上是折騰出來的一種不成熟的方案,還需要實踐以后慢慢優(yōu)化。
本文使用 文章同步助手 同步