數智化物聯網平臺,從低代碼理念到物模型的演化
在數字化時代,物聯網和低代碼技術正逐漸改變著我們的工作和生活方式。本文將深入探討數智化物聯網平臺的發展,特別是低代碼理念在物聯網領域的應用和物模型的演化。
近期學習低代碼產品的設計理念,在不同平臺上看到了很多觀點,有的人認為低代碼技術是福音,特別是國內外IT大廠的官方說法,總體對其保持樂觀態度。也有很多人拋出了低代碼簡直就是“毒瘤”的觀點。
在學習過程中,尤其是了解新事物的過程中,我們始終都應該帶著批判性的思維去看待各種觀點,與直接認同某個看起來正確的觀點相比,深入了解發言人的立場、了解他為什么抱有這種觀點,才是更高層次的學習方式。
01 為什么不看好?
低代碼所處的位置比較尷尬,很多人認為其恰恰處于一個半吊子的位置。尤其是從大多數程序員的視角來看,低代碼這個東西的定位非常雞肋。
首先,對于非技術人員,比如產品、運營、銷售甚至是甲方客戶來說,低代碼的操控并不算便捷,上手是有一定難度的,并且還需要系統的學習,才能初步掌握其使用方法。
而對于開發者來說,低代碼的自由程度和靈活性跟真正的代碼肯定無法比擬,一些用戶的靈活需求,如果要是一開始設計的低代碼系統能配置還好,如果不能配置,最終還是得在底層進行修改,而且修改起來肯定比直接按需開發的系統費勁的多。
這個東西就像混動汽車一樣充滿爭議,混動汽車的動力系統介于油車和電車之間。認為它好的人,認為它平時既能燒電省錢,萬一充不上電還可以加油續航,不用擔心趴窩,滿眼都是它的優點??床黄鸹靹悠嚨娜耍J為它燒起油來比油車費油的多,動力又不太足,總之滿是槽點。
其實,無論是用來舉例的混動汽車也好,還是低代碼這個工具也好,處在中間位置的這類工具,必然是優劣兼具,甚至還將某些優勢和劣勢進行了放大。關鍵還是要明確使用場景和使用者,之后恰當地使用該工具,從而揚長避短。
講到這里,我們需要明確低代碼這一工具,真正的使用者應該是誰。筆者認為,應該是數字化轉型技術廠商的“產品運營”或“售后/售前技術支持”。總而言之,應該交給乙方的非技術人員使用。這些專門人員在經過合理的上崗培訓后,也會熟練使用低代碼工具。
與此相匹配的工作流程是:產品研發者在大量項目中不斷積累經驗,開發出不同場景下對應的低代碼產品,之后由乙方非技術人員操刀,通過與客戶進行持續溝通,使用低代碼工具為同場景下不同的客戶配置并交付符合其使用習慣的最終平臺,并在實際使用過程中發現問題,提出需求,為研發團隊迭代優化低代碼產品提供依據。
(圖片來源:點維數智PM原創)
02 數智化,走向標準還是定制
任何一家提供數字化轉型服務的技術廠商都會告訴你,不同行業、甚至同一個行業的不同公司,數字化產品的設計都是千差萬別的。然而等他們以各種方式拿下項目后,研發人員一定都會想著在做系統時,能不能照搬和復用之前做過的系統,實在不濟,參考著改一下也行。
數字化轉型產品,到底是走向標準化還是定制化,其實是一個難以抉擇的問題。對于數字化轉型解決方案提供商來說,走標準化路線意味著可以大量、快速地復制并推廣其產品,從而極大減少邊際成本,實現持續盈利,也可以薄利多銷,讓數字化轉型技術普惠更多受眾。
另一方面,基于用戶使用體驗來說,客戶也期望看到數字化轉型服務商深入其一線調研,并對其實際出現的問題進行深刻的理解,并最終交付與其業務流程高度匹配的產品。客戶的想法也很簡單:“既然我給你錢了,那你的眼里只能有我,不要拿給別人做的東西復制過來糊弄我。”
而筆者個人的看法是,數字化產品也趨向于走入標準和定制的中間態模式。當然,這種和稀泥的結論,也意味著產品設計者需要結合具體情況,審時度勢,能力要求和主動程度都需要進行大幅度的提升。
在瀏覽過大量的項目案例后,筆者發現,在很多產品場景中,使用低代碼可以很好地解決系統在標準化和定制化之間的平衡問題。
流程引擎其實就是一個非常好的例子。目前很多低代碼或零代碼產品,都習慣性地往OA工具上發展,這就是因為低代碼高度靈活性和可配置性的特點,實實在在解決了企業審批系統的痛點。
比如說,一個大型制造業企業中,不同事業部、不同部門和不同產線上,審批流程花樣百出。還有的需要加很多規則在里邊,例如“資金超過200需要領導審批,低于200自動通過”。再加上頻繁的人事調動,也意味著審批環節上的每個人都需要及時更新。
假如所有的流程都是研發同事們直接開發出來的,那對于這種變動非常頻繁,規則復雜且繁雜的應用場景,幾乎每天都需要不斷迭代,耗費大量開發精力。
所以,如果OA系統靈活可配置,在日常運營過程中,即使流程千變萬化,也只需要安排一些普通員工隨時配置即可?,F在的OA工具,低代碼基本已經占據主導,但在其他領域,筆者認為,這種產品理念貫徹地還不夠深入。
(圖片來源:點維數智PM原創)
接下來,筆者將通過自己設計的產品案例,來進行低代碼這一產品理念在產品設計中應用的復盤。在實際項目中,筆者對這兩個產品進行了大膽創新,雖然還有很多地方需要完善,但這兩個案例,在低代碼解決數字化項目中標準與定制之間矛盾的問題上,已初具雛形。
03 案例:樓宇自控項目復盤
樓宇自控系統一般會在智慧樓宇項目中體現。我們平日所見的高樓大廈,內部都安裝著復雜的電氣設備,來保障樓宇內環境的舒適。其中包括調節溫度的空調系統、保持室內環境清新的送排風系統、以及常見的給排水系統、變配電系統、照明系統等。
樓宇內各種系統的詳細工作原理,日后再與大家做詳細討論。在數字化項目中,針對樓宇自控系統,我們一般需要做如下功能:
- 設備臺賬管理,樓宇自控系統包含空調、送排風機、潛水泵等設備設施,照明、電梯、監控等電器也包含在內。按照統一標準為所有設備建立臺賬,構建逐一對應關系,并在其他流程中引用,確立系統與硬件之間的交互關系,都需要基于設備臺賬這一系統基礎。
- 數據監控,樓宇內各個系統的傳感器或數據監測點,都可以實時采集大量數據,例如當下的溫度、濕度、送風溫濕度、水箱水位等。數據監控系統也是大多數綜合解決方案提供商所能做到的層次,核心技術就是協議解析、數據采集與分析。
- 下發控制命令,有采集信息的點位,必然也有下發控制指令的點位,例如設置空調制冷溫度,打開送風閥,控制水泵開始運作等等。在產品設計層面,我們可以設計為手動控制,或根據一定的條件由系統自動控制。
- 可視化,無論是組態圖繪制,還是數字孿生技術的使用,都是可視化的一種。
- 自動調度,這也是最難但是能形成核心壁壘的東西,通過引入智能算法,根據現場條件,自動控制樓宇內各個環節,達到環境舒適的同時,又能節能,且可以延長設備使用壽命的目標。
筆者在設備臺賬管理、數據監控和下發控制命令層面,引入了低代碼的設計理念,設計了一套自由,可配置化程度比較高的通用型產品。
首先,要想實現樓宇自控的基礎功能,大體需要規劃兩個模塊,一個是軟件平臺,另一個是協議解析模塊。
先說協議解析模塊,如果我們遇到比較好的硬件商家,從系統平臺上直接提供API接口,那開發就可以直接寫代碼對接了,省時省力。如果硬件商家提供的是遵循某個協議的數據傳輸服務,那我們就需要解析協議,并封裝成標準接口或消息推送,常見的物聯網傳輸協議包括obix、modbus等。
總之,提供給軟件平臺的,必然是已經封裝好的標準化接口,按照以往的開發方式,我們都會先按照客戶需求,開發好對應的界面,之后由開發同事進行接口對接,提取數據進行分析,并做一些按鈕,下發控制指令。
這樣做的劣勢是,系統的定制化屬性太強,特別還是智慧樓宇這種,不同客戶差異性比較大的項目,幾乎每換一個客戶,都要重新開發一次。而且還需要拿到所有電氣及弱電系統的點位、設計圖之后,才能進行分析、開發,不僅開發量大,工期也難以保障。
所以,為了使系統更為靈活,筆者從數據角度出發,對點位數據進行分類整理,設計了一套智慧樓宇低代碼產品。產品部署完成后,可以由非技術人員進行配置,在拿到設備點表以及接口列表后,可以快速配置并上線。
(圖片來源:點維數智PM原創)
對智慧樓宇場景下的數據來說,如果按照數據類型來劃分,總共也就數字類型和模擬類型兩種。工科的同學可能清楚,數字類型無非就是0或1,例如設備的開和關,設備的在線/離線,就可以用0和1來代替。模擬類型則代表連續值,例如溫度值、濕度值等連續且可以在一定范圍內任意取值的數據指標。當然,在實際場景中,受制于設備采集精度,也只能取離散值。
如果按照功能類型來劃分,所有的數據分為兩種,采集數據和控制數據。例如某些接口中的數據,我們需要調用接口將其采集上來,而某些接口中的字段,我們可以通過調用進而控制其開關或進行溫度、濕度等數值的設定。
基于此,我們可以開始設計智慧樓宇低代碼管理系統的雛形。首先,在主頁面設置一個列表,列表橫向分為三個區,一是設備信息區,用來導入設備臺賬;二是數據采集區,用來讀取各個點位所檢測的數據;三是控制指令區,用來手動發送控制指令。
在設備信息區,我們可以添加一個導入功能,將設備臺賬中的設備導入進去,并且獲取其設備ID。這樣就可以明確,每一行數據在調接口時,采集的是哪個設備的信息。當然,在設備信息區,我們也可以隨設備臺賬加入其他設備屬性,例如設備名稱、設備位置、設備自定義編碼等。
在數據采集區,我們可以逐個為指定設備添加一個個需要采集上來的字段,在配置每一個字段時,我們需要配置以下幾點信息:
- 字段名稱:為這個數據指標起一個自定義的名稱,例如出風閥溫度,進水流量,室內溫度,設備在/離線狀態等。
- 字段類型:作為數據監測字段來說,字段類型共分為兩類,一類是模擬類型,這種類型的字段直接取返回值即可,例如溫度,濕度等。另一類是枚舉類型,該類型一般能夠包含數字類型,不同的是,數字類型一般就是0和1兩種枚舉,而廣泛的枚舉類型,一般可以有多個枚舉值。枚舉類型的數據,一般返回值都是枚舉值,例如0,1,2這樣的編碼,我們需要根據接口定義,對每一個枚舉值定義其含義,例如0代表關閉、1代表設備在線等等。
- 接口地址:對于系統來說,我們需要明確調用哪個接口,輸入對應的調用值以后,才能返回我們需要的監測數據,一般每個接口在一定網絡范圍內都會提供一個唯一的接口調用地址,我們將接口地址配置好,系統就知道找哪個接口去執行調用操作了。
- 對應字段:一個接口調用后,往往會返回一大堆值,那么具體返回的哪個值能對應上我們配置的這個字段呢?這時候就需要明確所配置字段與實際接口返回字段的映射關系,將接口中對應的返回值填入對應字段輸入框。
控制指令區與數據采集區的道理基本相同,我們在控制指令區配置控制字段時,每個字段都需要配置字段名稱、字段類型、接口地址和對應字段這幾項,不同的是,數據采集區錄入的對應字段要從接口的輸出值中找,而控制指令區錄入的對應字段要從接口的輸入值中找。
(圖片來源:點維數智PM原創)
04 物模型
以上章節都是在沒有相關理論知識儲備的情況下,作為一個新入門的產品經理,在行業通用產品的設計過程中普遍的思考邏輯。
在對市面上成熟的物聯網平臺產品進行使用和分析后,我們可以發現,雖然與低代碼工具有一定差別,但物聯網平臺要實現其靈活性,貫徹低代碼的理念是非常重要的。
面對復雜多樣的物聯網設備,現行的通用且先進的解決方案是將具有同一類功能的設備定義為一個產品,之后為這個產品匹配物模型。物模型在物聯網平臺中也是一個重要的概念,受篇幅限制,本次只進行簡單介紹,后續有機會我們可以詳細拆解。
當我們把同一類功能相同的設備集合成一個產品后,對產品物模型的定義,要從三個維度進行,分別是屬性、服務和事件。
- 屬性:設備的功能模型之一,一般用于描述設備運行時的狀態,如環境監測設備所讀取的當前環境溫度等。應用系統可發起對屬性的讀取和設置請求。(相當于給設備定義一個數據庫,并且把表頭寫好)
- 服務:設備的功能模型之一,設備可被外部調用的能力或方法,可設置輸入參數和輸出參數。相比于屬性,服務可通過一條指令實現更復雜的業務邏輯,如執行某項特定的任務。(相當于給設備定義好相關的功能接口)
- 事件:設備的功能模型之一,設備運行時的事件。事件一般包含需要被外部感知和處理的通知信息,可包含多個輸出參數。例如,某項任務完成的信息,或者設備發生故障或告警時的溫度等,事件可以被訂閱和推送。(相當于給設備加上幾個消息推送,并把消息體定義好)
物模型定義好以后,相當于在物聯網軟件平臺上構建好了相關設備的虛擬數字化實體,該虛擬實體實時映射實際設備,而我們接下來在搭建應用時,如設備臺賬、設備巡檢、組態可視化、邏輯編排等,可以直接面向已經設置好物模型的虛擬數字化實體進行操作。所謂數字化的第一步——數據采集,我們也算踏過了其中一個門檻。
本文由 @點維數智空間 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務
- 目前還沒評論,等你發揮!