物聯(lián)網(wǎng)容易失敗的原因就是客戶化協(xié)議园蝠,尤其是設(shè)備端團隊占據(jù)主導(dǎo)地位時,特別容易犯這個錯誤糕伐。這個錯誤的成本是時間砰琢,往往以年計算蘸嘶,而且后患無窮良瞧。我手頭的典型案例中陪汽,呼吸機和電子門鎖各有一例。
- 呼吸機褥蚯,定制協(xié)議挚冤,導(dǎo)致一年時間花費在協(xié)議對接上;
- 電子門鎖赞庶,定制協(xié)議训挡,導(dǎo)致一年半時間花費在協(xié)議對接上。
如果基于標(biāo)準(zhǔn)的接入標(biāo)準(zhǔn)歧强,如MQTT/CoAP澜薄,配合TLS,可以基于開源方案很容易地搭建起來摊册,根據(jù)標(biāo)準(zhǔn)協(xié)議寫起來相對容易肤京。如果是基于Raw TCP/UDP,還要設(shè)計合理的安全接入方案茅特,則其中的變更無法避免忘分。由于是應(yīng)用協(xié)議編程,對應(yīng)的序列化標(biāo)準(zhǔn)化就無法標(biāo)準(zhǔn)化白修,也必須一起變更妒峦。最后工程往往都是失敗的。
各種語言都可以協(xié)議定制兵睛,無論是Netty/Mina/Twisted/Node...這都不是問題肯骇。問題在于定制協(xié)議真的不如標(biāo)準(zhǔn)協(xié)議,尤其體現(xiàn)在工程變更和進度管理這一個關(guān)鍵點上祖很。
現(xiàn)在凡是無法在一個月內(nèi)對接成功的工程累盗,基本上都可以放棄了。