技術(shù)
導(dǎo)讀:對(duì)于設(shè)備使用者而言,他們的工作時(shí)間通常很緊張,因此可能沒有關(guān)注設(shè)備在超負(fù)荷或者超時(shí)間使用。設(shè)備使用者也希望得到一個(gè)幫助管理設(shè)備的工具,因?yàn)樗麄儾幌M约撼袚?dān)破壞昂貴設(shè)備的責(zé)任。
我最近正在為一家設(shè)備租賃公司開發(fā)一個(gè)物聯(lián)網(wǎng)系統(tǒng),他們想監(jiān)測出租設(shè)備的運(yùn)行狀況,如發(fā)電機(jī),壓縮機(jī),推土機(jī),起重機(jī)等。
我的客戶提出的需求相當(dāng)直接:他們想知道設(shè)備的具體位置和操作記錄;他們想要知道設(shè)備位置不僅是因?yàn)樵O(shè)備偶爾可能被盜,也因?yàn)槭褂谜哂袝r(shí)將設(shè)備放到一些不應(yīng)該放的地方,導(dǎo)致設(shè)備難以收回。
他們想要知道操作記錄,因?yàn)樵O(shè)備使用者不一定遵循定期維護(hù)準(zhǔn)則,并且可能一直運(yùn)行設(shè)備直到崩潰。通過這個(gè)物聯(lián)網(wǎng)系統(tǒng),他們可以監(jiān)控設(shè)備運(yùn)行時(shí)間,并要求設(shè)備使用者在需要維護(hù)時(shí)重新啟動(dòng)設(shè)備,或到現(xiàn)場并對(duì)設(shè)備進(jìn)行維護(hù)。
對(duì)于設(shè)備使用者而言,他們的工作時(shí)間通常很緊張,因此可能沒有關(guān)注設(shè)備在超負(fù)荷或者超時(shí)間使用。設(shè)備使用者也希望得到一個(gè)幫助管理設(shè)備的工具,因?yàn)樗麄儾幌M约撼袚?dān)破壞昂貴設(shè)備的責(zé)任。
像發(fā)電機(jī)和壓縮機(jī)這樣的大型設(shè)備都是由卡特彼勒、康明斯或沃爾沃等大型引擎公司提供動(dòng)力。所有這些都具有CAN(控制器局域網(wǎng))總線接口,因此可以直接通過CAN總線控制器來查看操作記錄了解設(shè)備操作情況。
CAN總線在20世紀(jì)80年代初由德國博世公司開發(fā),以控制其在汽車應(yīng)用中的電子元件。車輛總線接口標(biāo)準(zhǔn)旨在允許微控制器和設(shè)備在沒有主機(jī)的情況下相互通信。第一款在汽車上安裝CAN總線的制造商是德國寶馬。
CAN總線是車載診斷(OBD)-II車輛診斷標(biāo)準(zhǔn)中使用的協(xié)議之一,經(jīng)銷商可以通過OBD了解車輛到底出了何種故障。
雖然大多數(shù)制造商都使用CAN總線,但一些發(fā)動(dòng)機(jī)制造商只使用Modbus通訊協(xié)議,Modbus以CAN總線為標(biāo)準(zhǔn),兩者非常相似。它是由Modicon開發(fā)的串行通信協(xié)議,與PLC(可編程邏輯控制器)進(jìn)行通信。 不同于CAN總線可以設(shè)備之間直接通訊,Modbus具有主/主依賴架構(gòu),包括一個(gè)主設(shè)備和多達(dá)247個(gè)串聯(lián)設(shè)備。
Modbus是一種開放協(xié)議,非常適用于從單個(gè)控制器監(jiān)測重型設(shè)備上的多個(gè)元器件。
監(jiān)控設(shè)備并不簡單
隨著這些設(shè)備上通訊協(xié)議的開放和公布,您認(rèn)為監(jiān)控和獲取設(shè)備數(shù)據(jù)是件容易事。
但是你錯(cuò)了!
比較麻煩的是這些通訊協(xié)議只是標(biāo)準(zhǔn)化通信組件,而不是想要的數(shù)據(jù)。制造商故意使用這種通訊標(biāo)準(zhǔn),設(shè)備制造商限制第三方訪問敏感數(shù)據(jù),讓第三方難以獲取。
制造商這樣做也是迫不得已,最近有案例表明,黑客通過無線監(jiān)控進(jìn)入系統(tǒng),然后控制了幾款車型的制動(dòng)、轉(zhuǎn)向和發(fā)動(dòng)機(jī)運(yùn)行,這使得制造商對(duì)這些問題尤為緊張。
黑客可以進(jìn)入控制總線,進(jìn)而打開引擎和開車,或者更糟的是,當(dāng)你在高速公路上以60英里每小時(shí)行駛時(shí)關(guān)閉你汽車的發(fā)動(dòng)機(jī)。
考慮到這些威脅存在,打造專有的封閉系統(tǒng)似乎非常必要。但是,如果您是設(shè)備租賃公司,您將50個(gè)不同設(shè)備租賃給你的客戶,希望只需一個(gè)平臺(tái)就可以監(jiān)控所有設(shè)備,而不需要分別登錄50個(gè)設(shè)備系統(tǒng)分別管理。
但制造商并不愿意授予這種訪問權(quán)限,因?yàn)檫@樣可能失去對(duì)設(shè)備的控制。所以他們嚴(yán)密控制對(duì)API平臺(tái)的訪問。即使他們讓您訪問他們的API,他們也盡量隱藏?cái)?shù)據(jù)的來源,也不會(huì)讓您知道哪些存儲(chǔ)器存放著哪些數(shù)據(jù)。
如果你想弄清楚這一點(diǎn),你可以監(jiān)控與API控件無關(guān)的東西,唯一的方法就是對(duì)數(shù)據(jù)進(jìn)行抽樣,然后開始嘗試找出這些數(shù)值代表的含義。
例如,如果您修改引擎數(shù)據(jù),并且您看到一個(gè)值從20的怠速狀態(tài)變?yōu)樵絹碓酱蟮臄?shù)字,然后返回到越來越小的數(shù)字,最終返回到20的怠速狀態(tài),那么您可以猜測該字段包含RPM(發(fā)動(dòng)機(jī)最高轉(zhuǎn)速)數(shù)據(jù)。如果您知道怠速數(shù)據(jù),那么您可以猜測哪些字段是代表哪些,但是字段太多,幾乎不可能全部進(jìn)行逆向工程。
那么怎么辦才好呢?
物聯(lián)網(wǎng)系統(tǒng)標(biāo)準(zhǔn)化并有效控制訪問
目前不同公司采用不同的系統(tǒng),因此用戶要將多個(gè)公司設(shè)備數(shù)據(jù)整合到物聯(lián)網(wǎng)系統(tǒng)平臺(tái)中并不容易,這不僅限于重型設(shè)備,其他領(lǐng)域也是如此,例如智能建筑領(lǐng)域,霍尼韋爾多年來已經(jīng)制定了封閉的智能建筑管理系統(tǒng),要求未經(jīng)許可任何公司不能接入訪問HVAC監(jiān)控系統(tǒng)。
現(xiàn)在您需要的不僅僅是一個(gè)允許安全訪問并獲取數(shù)據(jù)的API,更是一種有效管理控制API訪問的標(biāo)準(zhǔn)化方法,以便API平臺(tái)識(shí)別您為安全、受信任的用戶。有一些安全協(xié)議框架可供選擇,比如Etherium。
雖然這些措施和方法看起來像是為數(shù)十億的聯(lián)網(wǎng)設(shè)置障礙,但是,我們必須有效控制對(duì)物聯(lián)網(wǎng)系統(tǒng)的安全訪問,否則,整個(gè)聯(lián)網(wǎng)設(shè)備的生存能力就會(huì)大大降低,甚至崩潰。