攀多物聯創始人告訴你如何從零開始搭建物聯網系統

周彤 10年前 (2015-10-16)

為了降低物聯網硬件的開發成本,攀多物聯基于esp8266設計了物聯網開發板Tisan,并在Tisan實現了他們的嵌入式開發框架及物聯網協議。

物聯網的概念一直游走在媒體人和科技工作者之間,卻總是不溫不火的,沒有出現一個巨頭,也沒有什么好的可商業化的平臺。

就在去年的某個周末,攀多物聯創始人曾銳和幾個技術小伙伴聚在了一起,決定啟動全套可商用物聯網系統的設計和研發,更重要的是,他們打算在不久的將來全部開源。

攀多物聯創始人告訴你如何從零開始搭建物聯網系統1

一群基情滿滿的小伙伴便開始了他們的事業,一開始不是所有的人都全職,但是項目慢慢也啟動了起來。幾個月后,第一個商用版本的研發成功完成。這期間,好幾個小伙伴辭去了工作,全職進行研發。他們在沒有融資、沒有資源的情況下一路走到現在,如今系統已經有模有樣了,我們一起來看一下攀多物聯是如何從零開始搭建物聯網系統的。

一、整體設計

一個物聯網系統涉及硬件、軟件、云端、app各個環節,必須從整體進行頂層設計,只倚重某個單一的環節進行設計的系統都不具備良好的適用性和擴展性。團隊在設計時為了避免這種情況,使系統能夠適應最廣泛的物聯網場景(甚至包括工業場景),每次的架構設計討論都是所有團隊成員參與并進行多次的修改和驗證。系統架構如下:

攀多物聯創始人告訴你如何從零開始搭建物聯網系統2

二、協議

在一個物聯網系統中,協議是串通上下層的關鍵紐帶。它分為通信層和業務層。通信層基本上是傳統互聯網的網絡基礎設施,負責將數據在物聯網系統節點中的傳輸業務層分為兩層,底層是負責物聯網場景下數據交換格式的規范,上層是物聯網場景需要具體傳輸的業務數據規范。

攀多物聯創始人告訴你如何從零開始搭建物聯網系統3

通信層互聯網基礎架構目前已經非常成熟且通用,但是業務層協議目前還是種類繁多??梢源_定的一點是,最終能在物聯網應用中稱霸的協議,一定也像互聯網時代的TCP/IP一樣是開放的、免費的。目前符合此特性并使用比較多的有XMPP、MQTT、COAP等。

攀多物聯的這套系統最終選擇基于MQTT來作為業務傳輸層主要協議。但是MQTT協議本身的設計是針對開放設備,對于可商用的物聯網系統不得不保證設備的安全性和完善的授權機制。所以在實現的過程中進行了一些定制和限制。

目前的物聯網系統都是各自針對自己的業務場景設計協議規范。但是曾銳堅持要有一個統一的業務數據規范,只有統一了標準,行業才能更好更健康的發展。他們抽象出物聯網節點中傳感器和執行器的業務場景,并設計出含有物聯網業務數據語義的業務層協議,曾銳說業務層協議目前是全部開源的,目的就是希望能夠為廣大愛好者和從業者帶來參考價值。

三、云端平臺

互聯網時代,用戶上網主要還是靠PC和手機,在未來的物聯網時代,上網終端會呈現多樣化、海量化趨勢。保守估計每人擁有數十套聯網設備,數據規模必然也是幾何倍增長。所以物聯網云端平臺注定是一個大規模的海量分布式系統。

目前很多愛好者或者廠商通過用php、nodejs、python實現簡單的web接口可以實現設備的聯網,但是可以想象,在真正的商用場景中,穩定性、性能、擴展性都必然遭受挑戰。攀多物聯采用microservice分布式架構,并使用docker降低運維成本。大體的云端架構如下圖

攀多物聯創始人告訴你如何從零開始搭建物聯網系統4

對于海量物聯網設備的場景,系統的可用性和擴展性將面臨巨大的挑戰。曾銳表示目前攀多物聯的系統基于go語言開發,已經發布到0.8.0版本,后續會在安裝和運維的便捷性上進行優化,并計劃在1.0版本時開源發布。

四、嵌入式

物聯網硬件的嵌入式軟件除了傳統部分,必須加入聯網邏輯以及傳感器、控制器的管理。為了提高開發效率、方便復用,攀多物聯設計并開發了輕量級的物聯網嵌入式開發框架,并對物聯網業務進行了抽象,以便移植到不同的硬件平臺。這樣就可以保證在不需要更改任何業務層代碼的情況下,一個物聯網嵌入式應用可以在不同的硬件平臺運行。

攀多物聯創始人告訴你如何從零開始搭建物聯網系統5

曾銳說:“當前很多大企業包括華為、惠普、谷歌等都紛紛推出了物聯網操作系統,后續物聯網領域會出現多種操作系統共存的局面。不同的操作系統能運行的最低系統資源以及具體應用場景都不盡相同,但是在物聯網的上層業務是通用的,這也是我們設計物聯網嵌入式開發框架的原因。”

五、安全

近些日子,各種廠商的物聯網設備紛紛傳出被黑的消息。從TCL到特斯拉,黑客都成功實現破解和隨意操控。和互聯網時代一樣,安全在物聯網目前的早期階段注定是容易被忽略的問題。安全不是一朝一夕的事情,需要從系統開始構建時就考慮,并不斷完善安全手段和規則。這方面,攀多物聯做了充足的工作:

所有接入層通信都采用tls進行加密,包括對app、業務服務器的開放接口;

用戶、設備關鍵信息進行加密保存;

針對設備有完善的用戶鑒權機制;

針對互聯網安全場景的其他安全措施。

六、開發板

為了降低物聯網硬件的開發成本,攀多物聯基于esp8266設計了物聯網開發板Tisan,并在Tisan實現了他們的嵌入式開發框架及物聯網協議。開發板相關的代碼已經全部開源,目前在淘寶進行眾籌。

攀多物聯創始人告訴你如何從零開始搭建物聯網系統6

如果你也是物聯網和開源技術愛好者,可以和攀多物聯聯系學習交流:qq交流群488074716。

最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!

鎂客網


科技 | 人文 | 行業

微信ID:im2maker
長按識別二維碼關注

硬科技產業媒體

關注技術驅動創新

分享到