帥建強(qiáng)
(北京云靴科技有限責(zé)任公司,北京 101204)
低代碼和無(wú)代碼是目前較新的IT 技術(shù),旨在解決目前軟件研發(fā)成本居高不下以及用戶的軟件需求差異巨大等問(wèn)題。最初IT 界生產(chǎn)的是各項(xiàng)可配置設(shè)計(jì),太復(fù)雜且擴(kuò)展性不強(qiáng),無(wú)法滿足用戶需求。低代碼和無(wú)代碼則可以實(shí)現(xiàn)各項(xiàng)可視化元素拖拽,盡可能不寫(xiě)代碼就完成新功能的構(gòu)建工作,從而降低研發(fā)成本和二次定義成本,最大限度滿足用戶的需求。施肥機(jī)在植物生產(chǎn)中是重要農(nóng)機(jī)設(shè)備之一,國(guó)內(nèi)發(fā)展迅速,品牌眾多,但是對(duì)構(gòu)建高品質(zhì)施肥機(jī)的深入研究相對(duì)貧乏,導(dǎo)致國(guó)內(nèi)施肥機(jī)在面對(duì)長(zhǎng)時(shí)間精確應(yīng)用的時(shí)候,大多表現(xiàn)乏力,用戶的設(shè)備不能得到快速且低成本的維護(hù)。
北京云靴科技有限責(zé)任公司(以下簡(jiǎn)稱“云靴科技”)對(duì)水肥一體機(jī)設(shè)定了精確研發(fā)目標(biāo),旨在可以進(jìn)行高精度EC、pH 控制,同時(shí)要求設(shè)備具有較低的維護(hù)成本以及較高的設(shè)備在線率。設(shè)備還需滿足使用者需要,可以進(jìn)行二次定義與設(shè)計(jì)。
在農(nóng)業(yè)設(shè)施設(shè)備領(lǐng)域,困難在于設(shè)備的技術(shù)支持、設(shè)備維護(hù)、設(shè)備維修,在不在現(xiàn)場(chǎng)的情況下,僅靠溝通,很難定位清楚問(wèn)題真正所在。
有鑒于此,云靴科技在開(kāi)始建設(shè)物聯(lián)網(wǎng)和施肥機(jī)的時(shí)候,就提出了設(shè)備虛擬化,即基于云靴科技自研的云計(jì)算平臺(tái),發(fā)展虛擬物聯(lián)網(wǎng)平臺(tái),把全國(guó)各地的農(nóng)業(yè)設(shè)施設(shè)備虛擬到系統(tǒng)工程師的電腦上,只要工程師一開(kāi)電腦,就完成在全國(guó)設(shè)備的遠(yuǎn)程故障實(shí)際定位,快速制定出維護(hù)維修的策略,最大限度遠(yuǎn)程解決維護(hù)維修,以達(dá)到設(shè)備維護(hù)成本最低、設(shè)備在線率最高的目標(biāo)。云靴科技虛擬物聯(lián)網(wǎng)的結(jié)構(gòu)設(shè)計(jì)如圖1。
圖1 虛擬物聯(lián)網(wǎng)結(jié)構(gòu)示意圖
云靴科技的農(nóng)業(yè)智能設(shè)施設(shè)備上均配備了工控機(jī)作為設(shè)備端運(yùn)行大腦,工控機(jī)為自編譯的Linux 系統(tǒng),對(duì)Linux 內(nèi)核進(jìn)行了裁剪和自設(shè)計(jì)的協(xié)議封裝,配套上安全設(shè)計(jì)(工程師要通過(guò)維護(hù)通道訪問(wèn)到設(shè)備,先申請(qǐng)專有的安全請(qǐng)求碼,由技術(shù)總監(jiān)或用戶完成授權(quán),否則禁止訪問(wèn))。
以下是筆者使用云靴科技的虛擬物聯(lián)網(wǎng)平臺(tái),在杭州分公司訪問(wèn)濟(jì)南商河的正在安裝的設(shè)備日志(圖2),從中可以清晰的分析問(wèn)題所在,并協(xié)助用戶定位問(wèn)題。
圖2 遠(yuǎn)程問(wèn)題查詢界面
想真正完成遠(yuǎn)程維修,除了虛擬物聯(lián)網(wǎng)協(xié)助(圖3),還需要設(shè)備廠家的配件自給率比較高,特別是主設(shè)備,設(shè)備需盡可能設(shè)計(jì)成拔插式。
圖3 云靴科技典型物聯(lián)網(wǎng)結(jié)構(gòu)
在這些基礎(chǔ)上,配合照片等手段,可以完成95% 以上的設(shè)備維修維護(hù)。此外,遠(yuǎn)程可升級(jí)軟件并查找問(wèn)題,使得系統(tǒng)版本盡可能統(tǒng)一。
云靴科技研發(fā)團(tuán)隊(duì)參考了PLC、阿里IOT物模型等經(jīng)典結(jié)構(gòu),設(shè)計(jì)了以內(nèi)存映射表為核心的指令交換結(jié)構(gòu),所有模塊的IO 數(shù)據(jù)接口,要求全部映射到數(shù)據(jù)內(nèi)存表中,使得腳本語(yǔ)言可以輕易完成各個(gè)模塊的數(shù)據(jù)交換,完成業(yè)務(wù)邏輯的驅(qū)動(dòng),且非常短小精干。
云靴科技的腳本驅(qū)動(dòng)語(yǔ)言,目前總計(jì)9 條指令,設(shè)計(jì)了工程師的配置接口,使得腳本語(yǔ)言可以被非編程專業(yè)的工程師使用。腳本驅(qū)動(dòng)語(yǔ)言未來(lái)即使擴(kuò)展需要,也預(yù)計(jì)不會(huì)超過(guò)15 條指令。
腳本驅(qū)動(dòng)語(yǔ)言只對(duì)內(nèi)存表進(jìn)行二次判斷、定義、賦值,專門(mén)設(shè)計(jì)了可視化的IDE,集成了開(kāi)發(fā)使用窗口,使得腳本的定義、編輯、編譯、上傳、調(diào)試簡(jiǎn)單化(圖4)。
圖4 施肥機(jī)低代碼平臺(tái)結(jié)構(gòu)圖
系統(tǒng)對(duì)外接口,系統(tǒng)遵循MQTT 協(xié)議作為標(biāo)準(zhǔn),方便與阿里云、騰訊、百度等系統(tǒng)對(duì)接。系統(tǒng)對(duì)內(nèi)接口,采用RS485 作為設(shè)備部件的通訊協(xié)議標(biāo)準(zhǔn)。無(wú)論對(duì)外還是對(duì)內(nèi)的接口,都提供了可視化定義的工具,不需要二次編寫(xiě)程序。
施肥機(jī)需要解決的核心問(wèn)題之一是提供平穩(wěn)精確的EC-pH 輸出。為此研發(fā)團(tuán)隊(duì)設(shè)計(jì)了數(shù)學(xué)的算法來(lái)對(duì)應(yīng),使得施肥機(jī)的輸出平穩(wěn)有效。在控制領(lǐng)域,最著名的是PID 比例微積分控制,EC 和pH 在施肥機(jī)的控制基本方式是,每多少單位的水,提供多少單位的母液和酸堿液量。EC 和pH 實(shí)際上也是個(gè)積分量的平衡控制,PID是個(gè)反饋控制的過(guò)程,從發(fā)起調(diào)節(jié)到獲得EC 和pH 目標(biāo),中間的時(shí)間是比較長(zhǎng),可能比我們需要灌溉的時(shí)間還要長(zhǎng)一點(diǎn),因此不能直接使用PID 來(lái)調(diào)配EC 和pH 的比例控制。
想穩(wěn)定輸出,首先應(yīng)該解決比例微積分的正向比例問(wèn)題,因此需要一個(gè)數(shù)學(xué)模型來(lái)快速計(jì)算。云靴科技經(jīng)過(guò)長(zhǎng)時(shí)間定量測(cè)定測(cè)試,多次數(shù)學(xué)模型矯正,提出了EC 精確控制正向快速計(jì)算的數(shù)學(xué)模型:
上述公式ec1 為原水的EC,v1 為原水的體積,ec2 為母液的EC,ec3 為目標(biāo)液體的EC。
計(jì)算機(jī)數(shù)據(jù)切片是很快的,上述參數(shù)的a 和b 的恒量,很容易很快累積計(jì)算出來(lái),作為后面PID 運(yùn)算的基本比例參數(shù),同樣也得出了pH 的類似累積計(jì)算公式
除去算法,還需要優(yōu)化執(zhí)行機(jī)構(gòu),因此云靴科技設(shè)計(jì)了施肥機(jī)母液比例控制器、改進(jìn)了母液流量計(jì)的PCB 電路使得信號(hào)傳輸與控制器更匹配,并采用了原裝進(jìn)口的母液控制電磁閥。在完成了這些結(jié)構(gòu)性改進(jìn)之后,數(shù)學(xué)模型的威力才真正得到體現(xiàn),從EC 和pH 的控制精度、系統(tǒng)長(zhǎng)時(shí)間穩(wěn)定性方面得到了大幅提升(圖5~9)。
圖5 施肥機(jī)的母液控制器(毫秒級(jí))
圖6 改進(jìn)的流量計(jì)脈沖
圖7 原裝進(jìn)口的施肥電磁閥
圖8 某施肥機(jī)(水培)EC 運(yùn)行跟蹤
圖9 某施肥機(jī)(水培)pH 運(yùn)行跟蹤
在研發(fā)施肥機(jī)的過(guò)程中,關(guān)于如何自動(dòng)化灌溉,是個(gè)極大難題。云靴科技在2019 年底開(kāi)始研究國(guó)外最先進(jìn)的基質(zhì)灌溉理論,成功完成了技術(shù)升級(jí)(圖10~12)。云靴科技設(shè)計(jì)了三種智能灌溉的策略:①定時(shí)灌溉;②按土壤,土壤濕度小于一定數(shù)額,觸發(fā)灌溉(包含基質(zhì)稱重);③按太陽(yáng)輻射,完成一定輻射累積量,即可觸發(fā)灌溉,用戶決策是1 次或多次。
圖10 灌溉邏輯中的限制因素
圖11 灌溉的次數(shù)設(shè)置
圖12 灌溉的時(shí)間設(shè)置
在施肥機(jī)系統(tǒng)中,用戶的應(yīng)用場(chǎng)景千變?nèi)f化,幾乎沒(méi)有一樣的項(xiàng)目,因此需設(shè)計(jì)成部分啞終端,或勉強(qiáng)應(yīng)用,或重新設(shè)計(jì)施肥機(jī)軟件。相對(duì)好一點(diǎn)的是,用組態(tài)PLC 來(lái)調(diào)度補(bǔ)充場(chǎng)景,跟各類系統(tǒng)的接口比較麻煩,還有成本高、技術(shù)復(fù)雜度、系統(tǒng)分離、后期運(yùn)維問(wèn)題等。
有鑒于此,施肥機(jī)低代碼平臺(tái),設(shè)計(jì)了精簡(jiǎn)腳本驅(qū)動(dòng)語(yǔ)言的設(shè)計(jì),通過(guò)腳本語(yǔ)言來(lái)二次定義施肥機(jī)的基本工作邏輯,使得內(nèi)部底層軟件系統(tǒng)不會(huì)隨著項(xiàng)目變動(dòng),用戶的需求又能容易實(shí)現(xiàn),配合界面層的無(wú)代碼設(shè)計(jì),讓系統(tǒng)的工作狀態(tài)與項(xiàng)目目標(biāo)高度一致。精簡(jiǎn)腳本驅(qū)動(dòng)語(yǔ)言,使得硬件工程可以根據(jù)項(xiàng)目定義工作流程。目前精簡(jiǎn)腳本驅(qū)動(dòng)語(yǔ)言只有9 條指令,每條指令的工作模式一模一樣,提供了簡(jiǎn)易的設(shè)計(jì)界面,可依次執(zhí)行。施肥機(jī)精簡(jiǎn)腳本驅(qū)動(dòng)語(yǔ)言,采用筆者多年總結(jié)的腳本語(yǔ)言實(shí)現(xiàn)之方法和理論,使得腳本運(yùn)行異常快速,甚至在自家設(shè)計(jì)11 MHZ 的51 單片機(jī)系統(tǒng)上都可快速運(yùn)行(圖13)。
圖13 精簡(jiǎn)腳本驅(qū)動(dòng)語(yǔ)言編輯器
通過(guò)精簡(jiǎn)施肥機(jī)驅(qū)動(dòng)腳本語(yǔ)言,可以驅(qū)動(dòng)滴灌、水培、潮汐灌溉與廢水回收以及其他非典型(如花卉多配方澆水) 的施肥機(jī)應(yīng)用場(chǎng)景,獲得較好的結(jié)果。隨著系統(tǒng)不斷應(yīng)用開(kāi)發(fā),逐漸形成了各式各樣的施肥機(jī)腳本驅(qū)動(dòng)模板。
在完成施肥機(jī)的精簡(jiǎn)腳本驅(qū)動(dòng)語(yǔ)言之后,又面臨用戶參數(shù)錄入、用戶界面修改、用戶的大數(shù)據(jù)展示等難題,需要施肥機(jī)有進(jìn)一步的無(wú)代碼可視化設(shè)計(jì)軟件。
施肥機(jī)的參數(shù)錄入,特別是配合腳本語(yǔ)言的參數(shù)界面設(shè)計(jì)器(圖14),編譯輸出之后的效果(圖15),實(shí)現(xiàn)了不寫(xiě)程序,完成了系統(tǒng)需要用戶輸入的參數(shù)錄入。
圖14 參數(shù)界面設(shè)計(jì)器
圖15 參數(shù)錄入實(shí)際運(yùn)行效果
很多時(shí)候,用戶并不喜歡千篇一律的界面,對(duì)于與自身關(guān)聯(lián)不大的界面比較排斥。在低代碼施肥機(jī)系統(tǒng),特別設(shè)計(jì)了設(shè)備端可視化設(shè)計(jì)器,基本上不需要寫(xiě)程序,就可以通過(guò)簡(jiǎn)單拖拽生成用戶需要的工作界面,分離了技術(shù)和設(shè)計(jì),使得界面實(shí)現(xiàn)不再依賴軟件設(shè)計(jì)人員(圖16)。設(shè)計(jì)完編譯上傳施肥機(jī)之后的效果如圖17 所示。
圖16 顯示模塊單元的可視化編輯器
圖17 幾組不同需求的施肥機(jī)界面
除此之外,還有485 傳感器配置(自動(dòng)進(jìn)入到系統(tǒng))、對(duì)外網(wǎng)關(guān)定義、歷史數(shù)據(jù)記錄定義(配合大數(shù)據(jù)形成展示曲線)、時(shí)間設(shè)備(比如卷模器)等。
用戶在大多數(shù)時(shí)候,需要在大屏幕展示其系統(tǒng),這對(duì)技術(shù)提出挑戰(zhàn)。云靴科技設(shè)計(jì)了大數(shù)據(jù)自定義顯示的可視化拖拽設(shè)計(jì)界面,集成了模塊(嵌入設(shè)備端界面及其他HTML 界面)、儀表盤(pán)、折線圖、餅圖、柱狀圖、視頻、圖片、文字等。使用者不需要編寫(xiě)代碼,就可完成其設(shè)備端的大數(shù)據(jù)展示。通過(guò)右側(cè)的屬性面板,綁定其數(shù)據(jù)來(lái)源,設(shè)置其數(shù)據(jù)格式,導(dǎo)出并使用工具上傳到設(shè)備端,就完成了大數(shù)據(jù)版本的展示工作(圖18),實(shí)際運(yùn)行如圖19。
圖18 大數(shù)據(jù)可視化編輯器
圖19 大數(shù)據(jù)展示實(shí)際運(yùn)行效果案例
山東東營(yíng)雙?;ɑ苡邢薰九c云靴科技最初合作1 hm2溫室,從溫室氣候控制到施肥機(jī),云靴科技為雙福花卉解決了標(biāo)準(zhǔn)版生產(chǎn)問(wèn)題,8年時(shí)間迅速擴(kuò)展到了25 hm2。園區(qū)使用云靴設(shè)計(jì)的潮汐灌溉與廢水回收系統(tǒng)(圖20),節(jié)省了大量人力物力,完成了花卉生產(chǎn)品質(zhì)與質(zhì)量的快速提升。
圖20 潮汐灌溉與廢水回收設(shè)備
北京彩冰花園藝科技有限公司、山西環(huán)美園林綠化有限公司,聯(lián)合在濟(jì)南商河運(yùn)營(yíng)了近十幾萬(wàn)平溫室,全面采用了云靴科技的溫室氣候控制系統(tǒng)和灌溉施肥系統(tǒng)(圖21),多年運(yùn)行良好,設(shè)備穩(wěn)定可靠,自動(dòng)化效果明顯。濟(jì)南鄉(xiāng)村綠洲農(nóng)業(yè)開(kāi)發(fā)有限公司,既往只采購(gòu)國(guó)外施肥機(jī),2021 年開(kāi)始連續(xù)采購(gòu)了云靴科技的最新款低代碼施肥機(jī),獲得良好的替代生產(chǎn)效果,機(jī)器運(yùn)行效果不次于國(guó)外同類產(chǎn)品,用戶的安裝成本、使用成本、維護(hù)成本大幅下降。臺(tái)州銘溢客農(nóng)業(yè)綜合體,2020 年開(kāi)始合作,應(yīng)用于草莓和番茄的自動(dòng)化生產(chǎn),種植效果良好,取得了明顯的經(jīng)濟(jì)和社會(huì)效應(yīng)。上海綠立方農(nóng)業(yè)科技開(kāi)發(fā)有限公司,是華東最大的水培蔬菜種植企業(yè),2020 年開(kāi)始雙方在水培蔬菜領(lǐng)域進(jìn)行多次成功的合作,運(yùn)行效果良好,效益明顯。其他還有數(shù)十家合作企業(yè),累計(jì)服務(wù)于400 多個(gè)溫室,并長(zhǎng)期在線運(yùn)行。
圖21 灌溉施肥設(shè)備
云靴科技經(jīng)過(guò)多輪次的升級(jí),各方面向國(guó)外最先進(jìn)的施肥機(jī)系統(tǒng)靠近,完成了多次的項(xiàng)目驗(yàn)證和實(shí)踐。施肥機(jī)升級(jí)到了低代碼平臺(tái),提供了無(wú)與倫比的擴(kuò)展性,降低了成本,增強(qiáng)了穩(wěn)定性,取得良好的實(shí)踐效果。