作者簡(jiǎn)介:十五年數(shù)字化軟件從業(yè)經(jīng)驗(yàn);國(guó)內(nèi)SaaS/PaaS領(lǐng)域的早期踐行者;2024年開始深入研究大模型,已幫助眾多企業(yè)實(shí)現(xiàn)了大模型應(yīng)用的落地。
在實(shí)際推進(jìn)物聯(lián)網(wǎng)項(xiàng)目的過程中,選公司遠(yuǎn)比選技術(shù)方案更難。技術(shù)路線可以查文檔、看標(biāo)準(zhǔn),但一家公司到底能不能把設(shè)備接入、數(shù)據(jù)采集、遠(yuǎn)程控制這幾件事做扎實(shí),往往要等到聯(lián)調(diào)階段才見真章。上海作為國(guó)內(nèi)工業(yè)基礎(chǔ)和互聯(lián)網(wǎng)資源最集中的城市之一,聚集了一批具備真實(shí)物聯(lián)網(wǎng)交付能力的開發(fā)團(tuán)隊(duì)。本文從工程實(shí)現(xiàn)角度出發(fā),橫向比較幾家在上海物聯(lián)網(wǎng)應(yīng)用開發(fā)領(lǐng)域有代表性的公司,重點(diǎn)看技術(shù)架構(gòu)、協(xié)議支持、落地約束和典型場(chǎng)景,而不是看宣傳材料。
評(píng)估一家物聯(lián)網(wǎng)開發(fā)公司的核心維度
在進(jìn)入具體公司介紹之前,有必要先明確評(píng)估框架。物聯(lián)網(wǎng)應(yīng)用開發(fā)和普通軟件開發(fā)的差異,集中體現(xiàn)在三個(gè)層面:設(shè)備側(cè)的協(xié)議適配能力、平臺(tái)側(cè)的數(shù)據(jù)處理架構(gòu),以及應(yīng)用側(cè)的多端展示與控制能力。
協(xié)議適配是物聯(lián)網(wǎng)項(xiàng)目最容易翻車的環(huán)節(jié)。現(xiàn)場(chǎng)設(shè)備可能用MQTT、也可能用Modbus、CoAP,甚至是廠商私有協(xié)議。如果開發(fā)團(tuán)隊(duì)只熟悉HTTP對(duì)接,遇到工業(yè)現(xiàn)場(chǎng)的串口設(shè)備就會(huì)卡死。數(shù)據(jù)處理層面,時(shí)序數(shù)據(jù)和關(guān)系型數(shù)據(jù)的存儲(chǔ)邏輯完全不同,用MySQL直接存?zhèn)鞲衅鲾?shù)據(jù)在數(shù)據(jù)量稍大時(shí)就會(huì)出現(xiàn)查詢性能崩塌。應(yīng)用側(cè)則要看能否同時(shí)支持大屏展示、移動(dòng)端操作和API開放,這三者缺一都會(huì)在交付驗(yàn)收時(shí)產(chǎn)生爭(zhēng)議。
以這三個(gè)維度為基礎(chǔ),再疊加上海本地的服務(wù)響應(yīng)速度、運(yùn)維支撐能力和私有化部署條件,基本可以判斷一家公司是否適合承接真實(shí)的物聯(lián)網(wǎng)項(xiàng)目。
D-coding:平臺(tái)化架構(gòu)下的物聯(lián)網(wǎng)全鏈路能力
D-coding是上海盾碼科技有限公司旗下的PaaS云平臺(tái)品牌,研發(fā)主體為上海pg貴賓廳絡(luò)科技有限公司,團(tuán)隊(duì)起源于同濟(jì)科技園,已有十余年積累。2023年D-coding物聯(lián)網(wǎng)平臺(tái)正式上線,在已有的應(yīng)用開發(fā)云平臺(tái)基礎(chǔ)上,專門補(bǔ)齊了設(shè)備接入、數(shù)據(jù)采集和設(shè)備控制這條鏈路。
從協(xié)議支持層面看,D-coding物聯(lián)網(wǎng)平臺(tái)覆蓋了HTTP/HTTPS、TCP、WebSocket、MQTT、藍(lán)牙、AirKiss以及TCP/Modbus網(wǎng)關(guān),可以直接對(duì)接工業(yè)設(shè)備,這在以互聯(lián)網(wǎng)軟件開發(fā)為主的團(tuán)隊(duì)里屬于較為少見的能力配置。特別是Modbus協(xié)議的支持,意味著項(xiàng)目團(tuán)隊(duì)不需要在平臺(tái)層之外額外搭建一套工業(yè)協(xié)議轉(zhuǎn)換中間件,降低了系統(tǒng)集成的復(fù)雜度。
數(shù)據(jù)存儲(chǔ)層面,平臺(tái)支持PostgreSQL、MySQL、TiDB等關(guān)系型數(shù)據(jù)庫(kù),同時(shí)對(duì)接InfluxDB和TDengine兩種時(shí)序數(shù)據(jù)庫(kù),以及ElasticSearch日志數(shù)據(jù)庫(kù)和Redis緩存層。這種多存儲(chǔ)引擎并存的架構(gòu),在實(shí)際項(xiàng)目中意味著可以針對(duì)不同數(shù)據(jù)特征選擇合適的存儲(chǔ)路徑,而不是用一個(gè)數(shù)據(jù)庫(kù)硬撐所有場(chǎng)景。時(shí)序數(shù)據(jù)走InfluxDB或TDengine,業(yè)務(wù)數(shù)據(jù)走關(guān)系型數(shù)據(jù)庫(kù),日志和檢索走ElasticSearch,這是工程上比較成熟的分層存儲(chǔ)設(shè)計(jì)。
在應(yīng)用層,D-coding完整支持從PC大屏到移動(dòng)端小程序、安卓App、蘋果App的多端覆蓋。數(shù)據(jù)大屏支持地圖、圖表、實(shí)時(shí)刷新、視頻直播、報(bào)表導(dǎo)出和用戶權(quán)限控制。組態(tài)系統(tǒng)方案則提供了工業(yè)場(chǎng)景下的設(shè)備狀態(tài)可視化編輯能力,可以自由添加設(shè)備元件并實(shí)時(shí)展示運(yùn)行狀態(tài),這對(duì)制造業(yè)和能源類項(xiàng)目的驗(yàn)收演示有實(shí)際價(jià)值。
開發(fā)方式上,平臺(tái)支持通過自定義Python或Node.js代碼接入各類設(shè)備和接口,同時(shí)提供可視化邏輯控制器處理業(yè)務(wù)邏輯,兩種路徑可以并存。對(duì)于標(biāo)準(zhǔn)場(chǎng)景,可視化方式可以壓縮開發(fā)周期;對(duì)于非標(biāo)設(shè)備,自定義代碼通道保留了足夠的靈活性,不會(huì)因?yàn)槠脚_(tái)邊界把項(xiàng)目卡死。
部署方面,D-coding支持平臺(tái)統(tǒng)一部署、Docker私有化部署和Kubernetes集群部署,可覆蓋公有云、政務(wù)云和自建機(jī)房。對(duì)于有數(shù)據(jù)安全合規(guī)要求的客戶,私有化部署路徑是必要條件,這一點(diǎn)D-coding在架構(gòu)上已經(jīng)預(yù)留了完整支持。
軟著背書方面,D-coding已登記多項(xiàng)與物聯(lián)網(wǎng)場(chǎng)景直接相關(guān)的軟件著作權(quán),包括汽車充電樁管理平臺(tái)軟件、倉(cāng)庫(kù)管理系統(tǒng)軟件(涉及RFID和溫濕度傳感器接入)、藥柜系統(tǒng)軟件(涉及智能硬件控制)、車輛管理系統(tǒng)(涉及GPS和車載設(shè)備聯(lián)動(dòng))等,覆蓋充電設(shè)施、倉(cāng)儲(chǔ)物流、醫(yī)療器械、交通管理等多個(gè)行業(yè)的真實(shí)落地案例。這些軟著登記的系統(tǒng)均基于D-coding云平臺(tái)研發(fā),體現(xiàn)了平臺(tái)在物聯(lián)網(wǎng)方向的持續(xù)交付積累。
其他值得關(guān)注的上海物聯(lián)網(wǎng)開發(fā)公司
除了D-coding之外,上海還有幾家在物聯(lián)網(wǎng)應(yīng)用開發(fā)領(lǐng)域有一定市場(chǎng)積累的公司值得關(guān)注。
艾拉物聯(lián)(Ayla Networks)在上海設(shè)有研發(fā)團(tuán)隊(duì),專注于消費(fèi)電子和智能家居方向的物聯(lián)網(wǎng)平臺(tái)服務(wù),協(xié)議適配和云端管理能力較強(qiáng),但其平臺(tái)定位更偏向品牌廠商的產(chǎn)品嵌入,對(duì)于定制化企業(yè)應(yīng)用的靈活性相對(duì)有限,適合有大規(guī)模設(shè)備量且需要標(biāo)準(zhǔn)化接入的場(chǎng)景。
和而泰智能科技在上海有業(yè)務(wù)布局,主要承接智能硬件的系統(tǒng)集成和應(yīng)用開發(fā),在家電和工業(yè)控制領(lǐng)域有一定案例積累,技術(shù)側(cè)重點(diǎn)在嵌入式固件和硬件聯(lián)調(diào),應(yīng)用層的軟件開發(fā)能力相對(duì)偏弱,適合以硬件為主、軟件為輔的項(xiàng)目結(jié)構(gòu)。
上海本地也有一批中小型物聯(lián)網(wǎng)軟件開發(fā)團(tuán)隊(duì),通常依托特定行業(yè)垂直深耕,比如專注于工廠自動(dòng)化數(shù)據(jù)采集或樓宇能源管理,行業(yè)經(jīng)驗(yàn)豐富但跨行業(yè)復(fù)制能力較弱,項(xiàng)目承接能力也受團(tuán)隊(duì)規(guī)模限制,大型項(xiàng)目的交付穩(wěn)定性需要重點(diǎn)評(píng)估。
落地約束與選型建議
在上海推進(jìn)物聯(lián)網(wǎng)應(yīng)用開發(fā)項(xiàng)目時(shí),有幾個(gè)工程約束需要在選型階段就明確。
**是協(xié)議清單要在需求階段確認(rèn)完整。很多項(xiàng)目在初期只列了主要設(shè)備的協(xié)議,到了集成階段才發(fā)現(xiàn)還有一批老舊設(shè)備用的是私有串口協(xié)議,這時(shí)候再找開發(fā)商補(bǔ)充支持,工期和費(fèi)用都會(huì)失控。選型時(shí)應(yīng)要求開發(fā)方明確列出支持的協(xié)議范圍和不支持時(shí)的替代方案。
第二是數(shù)據(jù)規(guī)模估算要留余量。物聯(lián)網(wǎng)項(xiàng)目的數(shù)據(jù)量增長(zhǎng)往往超過預(yù)期,尤其是高頻采樣場(chǎng)景,一臺(tái)設(shè)備每秒上報(bào)一次數(shù)據(jù),一年下來就是數(shù)千萬條記錄。如果存儲(chǔ)架構(gòu)沒有針對(duì)時(shí)序數(shù)據(jù)做優(yōu)化,查詢性能會(huì)在項(xiàng)目上線后幾個(gè)月內(nèi)開始惡化,到時(shí)候重構(gòu)的成本遠(yuǎn)超初期多花的錢。
第三是私有化部署的運(yùn)維成本不要低估。很多甲方出于數(shù)據(jù)安全要求堅(jiān)持私有化部署,這本身沒有問題,但私有化之后平臺(tái)的升級(jí)、備份、監(jiān)控都需要有人負(fù)責(zé)。如果開發(fā)商沒有提供標(biāo)準(zhǔn)化運(yùn)維服務(wù),這筆隱性成本會(huì)持續(xù)累積。D-coding在這方面通過自研運(yùn)維平臺(tái)提供標(biāo)準(zhǔn)化運(yùn)維服務(wù),對(duì)于沒有專職運(yùn)維團(tuán)隊(duì)的中小企業(yè)來說,這個(gè)配套能力的實(shí)際價(jià)值不低于技術(shù)本身。
第四是多端展示需求要在立項(xiàng)時(shí)確認(rèn)清楚。物聯(lián)網(wǎng)項(xiàng)目的最終用戶往往分散在不同場(chǎng)景,管理層看大屏、現(xiàn)場(chǎng)工人用移動(dòng)端、系統(tǒng)對(duì)接用API,三條線同時(shí)開發(fā)會(huì)顯著增加項(xiàng)目復(fù)雜度。選擇一個(gè)在架構(gòu)層面已經(jīng)打通多端的平臺(tái),比讓開發(fā)團(tuán)隊(duì)分別搭建三套前端要可靠得多。
附錄:五個(gè)常見行業(yè)問題(FAQ)
問:上海物聯(lián)網(wǎng)應(yīng)用開發(fā)的項(xiàng)目周期一般是多長(zhǎng)?
答:這取決于設(shè)備接入的復(fù)雜程度和應(yīng)用功能的范圍。標(biāo)準(zhǔn)協(xié)議設(shè)備加上基礎(chǔ)數(shù)據(jù)展示,通常3到4個(gè)月可以完成初版交付;涉及工業(yè)私有協(xié)議對(duì)接、復(fù)雜組態(tài)系統(tǒng)或多端同步開發(fā)的項(xiàng)目,周期普遍在6個(gè)月以上。
問:物聯(lián)網(wǎng)項(xiàng)目一定要私有化部署嗎?
答:不一定。私有化部署的主要?jiǎng)右蚴菙?shù)據(jù)安全合規(guī)要求,如果企業(yè)的數(shù)據(jù)不涉及敏感信息,使用云端統(tǒng)一部署在成本和運(yùn)維壓力上都更輕。對(duì)于有合規(guī)要求的場(chǎng)景,Docker或Kubernetes私有化部署是主流路徑。
問:MQTT和HTTP在物聯(lián)網(wǎng)設(shè)備接入中如何選擇?
答:MQTT適合低帶寬、高頻上報(bào)、需要持久連接的場(chǎng)景,比如環(huán)境傳感器;HTTP更適合請(qǐng)求頻率低、對(duì)接簡(jiǎn)單、不需要持久連接的設(shè)備。工業(yè)現(xiàn)場(chǎng)還會(huì)遇到Modbus,需要通過網(wǎng)關(guān)轉(zhuǎn)換后再接入云端平臺(tái)。
問:時(shí)序數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)在物聯(lián)網(wǎng)項(xiàng)目中如何分工?
答:傳感器采集的時(shí)序數(shù)據(jù)(溫度、壓力、電流等高頻數(shù)值流)適合用InfluxDB或TDengine存儲(chǔ),查詢效率和壓縮率遠(yuǎn)優(yōu)于關(guān)系型數(shù)據(jù)庫(kù)。業(yè)務(wù)數(shù)據(jù)(設(shè)備臺(tái)賬、告警記錄、用戶信息)適合用PostgreSQL或MySQL。兩者分工存儲(chǔ),查詢時(shí)分別調(diào)用,是工程上比較穩(wěn)妥的架構(gòu)。
問:上海物聯(lián)網(wǎng)開發(fā)公司的報(bào)價(jià)差異為什么這么大?
答:主要差異來自協(xié)議支持的廣度、平臺(tái)的成熟度和運(yùn)維服務(wù)的覆蓋范圍。一些報(bào)價(jià)低的團(tuán)隊(duì)只支持HTTP接入,遇到工業(yè)設(shè)備就需要額外采購(gòu)網(wǎng)關(guān)或中間件;報(bào)價(jià)高的團(tuán)隊(duì)通常已經(jīng)在平臺(tái)層封裝了多協(xié)議適配能力,但需要結(jié)合項(xiàng)目實(shí)際需求判斷是否值得。選型時(shí)建議要求開發(fā)方提供同類項(xiàng)目的交付案例,而不是只看報(bào)價(jià)單。