新聞中心
PRESS CENTER邊緣計算網(wǎng)關(guān)是一種常見的物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備,是用來做數(shù)據(jù)采集和協(xié)議轉(zhuǎn)換的,通過支持常見PLC品牌的私有協(xié)議,可以協(xié)助采集和預(yù)處理PLC數(shù)據(jù)并且上傳到物聯(lián)網(wǎng)云平臺或者數(shù)據(jù)中心。EG系列邊緣計算網(wǎng)關(guān)將復(fù)雜的硬件接口、不同的工業(yè)網(wǎng)絡(luò)協(xié)議等抽象為一個個的“節(jié)點”,用戶可以靈活使用這些“節(jié)點”,深度定制開發(fā)的node-red 拖拽化的編程方式,代替了傳統(tǒng)復(fù)雜低效的編碼過程。真正的做到讓客戶專注業(yè)務(wù)邏輯,迅速打造出屬于自己的網(wǎng)關(guān)設(shè)備。設(shè)備支持免編譯,免燒錄,免調(diào)試,已開發(fā)出海量節(jié)點,免費自由使用,讓高效更高效。
在數(shù)據(jù)采集過程中,由于網(wǎng)絡(luò)情況不佳,出現(xiàn)臨時斷網(wǎng)的情況,這會造成數(shù)據(jù)丟失的風(fēng)險。邊緣計算網(wǎng)關(guān)通過緩存隊列實現(xiàn)數(shù)據(jù)的存儲和釋放,極大地避免了這一風(fēng)險。下面以EG8200邊緣計算網(wǎng)關(guān)為例,看下是怎么利用緩存隊列節(jié)點實現(xiàn)斷網(wǎng)續(xù)傳的吧。
第一個注入節(jié)點用來模擬數(shù)據(jù)傳入緩存隊列中,第二個注入節(jié)點用來設(shè)置暫停數(shù)據(jù)發(fā)送,第三個注入節(jié)點用來設(shè)置釋放存儲的數(shù)據(jù)。
設(shè)置參數(shù)使用的是bypassInterval,具體使用請參考緩存隊列節(jié)點說明。
從這個動畫中可以看出,當點擊存儲數(shù)據(jù)的時候,數(shù)據(jù)存儲在節(jié)點中不在發(fā)送。當點擊釋放時,數(shù)據(jù)將按照設(shè)定時間間隔依次釋放。
2.1. 實現(xiàn)步驟
第一步:檢測網(wǎng)絡(luò)狀態(tài)(ping節(jié)點)
第二步:根據(jù)ping節(jié)點返回值設(shè)置緩存參數(shù)(函數(shù)節(jié)點)
這里使用注入節(jié)點模擬ping節(jié)點,斷網(wǎng)注入布爾量false,網(wǎng)絡(luò)正常注入一個任意數(shù)字,真實場景請參考ping節(jié)點使用。
實際使用請將下圖紅色框部分替換為ping節(jié)點:
[{"id":"56399e866c8c08a2","type":"inject","z":"bcce8b29bb8d7dc7","name":"模擬數(shù)據(jù)","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":550,"y":260,"wires":[["4a5590970010ce16"]]},{"id":"9446d5730a907b87","type":"inject","z":"bcce8b29bb8d7dc7","name":"模擬斷網(wǎng)","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":300,"y":300,"wires":[["ef4bf5e52c56c713"]]},{"id":"b922a2f2dff79144","type":"inject","z":"bcce8b29bb8d7dc7","name":"網(wǎng)絡(luò)正常","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":300,"y":360,"wires":[["ef4bf5e52c56c713"]]},{"id":"ef4bf5e52c56c713","type":"function","z":"bcce8b29bb8d7dc7","name":"函數(shù)計算 19","func":"msg.bypassInterval = msg.payload ? 100 : 0\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":320,"wires":[["d28ee5af44f5c465"]]},{"id":"d28ee5af44f5c465","type":"rbe","z":"bcce8b29bb8d7dc7","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":false,"property":"bypassInterval","topi":"topic","x":650,"y":320,"wires":[["4a5590970010ce16"]]},{"id":"4a5590970010ce16","type":"queue","z":"bcce8b29bb8d7dc7","name":"","firstMessageBypass":false,"bypassInterval":"1000","x":790,"y":260,"wires":[["ce55f959e2caee3f"]]},{"id":"ce55f959e2caee3f","type":"debug","z":"bcce8b29bb8d7dc7","name":"調(diào)試 23","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":940,"y":260,"wires":[]}]
這里只演示了斷網(wǎng)續(xù)傳,可根據(jù)自己的應(yīng)用場景做修改,例如判斷MQTT或者TCP狀態(tài)去實現(xiàn)數(shù)據(jù)的緩存與發(fā)送:只需要將本示例的PING節(jié)點替換成狀態(tài)檢測節(jié)點(監(jiān)測MQTT/TCP狀態(tài))即可。
相信通過本文,大家已經(jīng)對邊緣計算網(wǎng)關(guān)斷網(wǎng)續(xù)傳的秘密有了清晰的了解,如果你對邊緣計算網(wǎng)關(guān)感興趣,歡迎共同探討!