本方案以SQL數據庫存儲過程、表、記錄、PHP、Ajax、HTML5等成主流技術作為技術基礎。不需要學習新概念和技術,同時還可以確保平臺具備良好的可靠性和兼容性。物聯網終端的編程方式也與PC編程類似,可以快速上手。
方案優勢包括:
1、物聯網終端直接讀寫數據庫,無需開發上位機軟件適配硬件。
2、無需處理任何物聯網協議。
3、物聯網終端支持各類串口協議,使Modbus及各類串口下位機迅速具備豐富的物聯網功能,可快速提供現有設備的手機端實際效果演示。
4、基于SQL數據庫+PHP主流技術打造,可使用低成本的PHP+數據庫網站空間(虛擬機主機)搭建物聯網平臺。
5、支持PHP控制硬件,快速實現二維碼支付控制。
6、幾乎不需要維護
可快速實現:
1、工業、環保、農業、智能家居等各種數據的遠程傳輸、存儲、查詢、控制。
2、手機、平板、電腦的多種終端同時監控、查詢、控制。
3、微信、支付寶的掃碼付費控制。類似地鐵掃碼的預付費控制系統。
4、基于數據庫模型的全自動、自適應AI控制系統。
購買我公司物聯網PLC、物聯網網關,可免費獲得本文中的架構代碼,經過簡單修改即可使用,所以請勿拍下此寶貝。
我公司同時承接物聯網平臺軟硬件建設服務,以平臺功能數來收取費用。如有需求,請聯系掌柜。
本方案以物聯網終端調用數據庫存儲過程的方式作為基礎。同時也支持在物聯網終端內運行標準的SQL語句作為輔助。
效果演示口令用戶名均為admin:/aic
物聯網終端產品:
AiMaker600W 無線物聯網可編程控制器
AiMaker600 物聯網可編程控制器
AiMaster300 物聯網可編程串口網關
AiMaster600W 無線物聯網可編程串口網關
一、HTML5網頁手機查詢控制截圖,可媲美APP。而且不需要開發上位機軟件,不需要處理任何物聯網協議。數據來自Modbus及各類串口下位機。
使用PHP網頁+數據庫控制硬件

HTML5+Ajax實現可媲美電腦的實時動態數據顯示

同一個用戶可掛接多個不同型號和功能的物聯網終端
二、所需的運行環境
1、使用租用網站空間(虛擬主機),成本。
此方式適用于物聯網終端都安裝在同一地點的情況(例如某個機房、別墅等)。
在局域網內使用一臺可以上網的電腦運行DBGW數據庫網關軟件,所有物聯網終端都通過此電腦來操作網站空間的后臺數據庫,然后以PHP+HTML5網頁形式提供給手機、平臺等終端遠程訪問。
租用的網站空間都已經自動建好了SQL數據庫和PHP運行環境,而且成本很低,小型物聯網系統每年只需幾百塊錢費用。網站空間服務器由服務商進行維護,不需要專人運維。幾乎沒有部署難度。

2、 租用云服務器方案,擁有獨立公網IP,靈活性。
此方案適用于物聯網終端分散安裝在各地,統一連接至云服務器的情況。
低成本低配置云服務器方案
此方案中的云服務器僅用于數據轉發,在云服務器只運行DBGW數據庫網關軟件即可,但仍需要綁定公網IP。
同時再租用支持PHP+SQL數據庫的網站空間(虛擬主機),手機、平臺、電腦等終端通過此網站查詢數據、控制硬件。
物聯網終端通過寬帶或手機線路連接云服務器上的DBGW數據庫網關軟件來操作網站空間數據庫。云服務器上也可以運行小型的Windows上位機軟件,來滿足特殊功能要求。幾乎沒有部署難度。

多合一高配置云服務器方案
在云服務器上同時運行DBGW數據庫網關軟件、SQL數據庫、PHP網站,并且綁定公網IP和域名,部署難度與自建網站基本相同。
物聯網終端通過寬帶或手機線路連接云服務器上的DBGW數據庫網關軟件來操作數據庫。手機、平板、電腦通過云服務器上的PHP網站查詢數據、控制硬件。云服務器上也可以運行Windows上位機軟件,來滿足特殊功能要求。

3、自建數據中心方案。
如果數據不宜存儲在第三方空間,則需要自建數據中心。需要單獨購買服務器、防火墻等硬件設備。并且租用專用線路。自行搭建軟硬件環境。成本很高,但是性能、可靠性、安全性均為。再配合物聯網終端使用,也可實現相同功能。
4、局域網內自建服務器。
如果不允許接入公網,可在局域網服務器上自行搭建數據庫和PHP運行環境,再配合物聯網終端使用,也可實現相同功能。
三、實時動態數據顯示
本節以temp溫度數據為例子來說明實時動態顯示數據的原理。
首先由物聯網終端讀取溫度傳感器,得到溫度值25.4攝氏度,然后物聯網終端調用存儲過程upsensdata更新數據庫中的temp列值為25.4攝氏度。
使用PHP+Ajax+ HTML5技術編寫“設備狀態"網頁,將Ajax刷新周期設置為1.5秒(或所需的周期)。在手機、平板、電腦上打開“設備狀態"網頁后,此網頁將以1.5秒的頻率自動從數據庫中讀取temp列值,然后實時顯示出來,其實時性和動態效果與電腦端軟件相同。
整個過程中無需物聯網平臺對接任何物聯網通訊協議,所有功能通過數據庫實現。

四、通過PHP+數據庫實時控制硬件
本節以控制1路燈光為例子來說明實時控制原理。
首先用戶通過手機、平板、電腦打開“設備控制"網頁,然后將“機房1燈光"選擇為ON開燈。此操作會將數據表plc_ctrldata中的lightrelay列值設置為1,在選擇為OFF關燈時設置為0。同時將apply列值設置為1通知物聯網終端有新的控制數據。
物聯網終端以1秒的周期(或所需周期)調用get_ctrldata存儲過程,從plc_ctrldata表中讀取控制數據并判斷執行。當apply為1時,物聯網終端判斷lightrelay列值,如果為1接通繼電器1,如果為0斷開繼電器1。執行成功后,再次調用get_ctrldata存儲過程,將apply列值設置為0,表示本次控制成功完成。
控制數據也可以是數值,例如通過“設備控制"將adjlightuart列設置為76,表示將燈光調至76%亮度。物聯網終端會將此值通過串口發送給調光控制器。
整個控制過程通過PHP+數據庫實現,無需平臺軟件對接任何協議。

五、由硬件數據觸發服務(例如二維碼掃碼控制)
典型的應用是類似地鐵的二維碼掃碼控制。簡而言之,物聯網終端從二維碼掃描槍讀取到二維碼后,將二維碼數據傳遞給存儲過程并執行,再由存儲過程返回控制數據給物聯網終端進行控制,完成一次服務。
任何硬件數據都可以很方便的用于觸發服務,例如從讀取二維碼數據、讀取IC卡數據、按下按鈕導致的開關量輸入變化、溫濕度模擬量變化等。
下圖簡單描述了如何快速完成此類應用。首先物聯網終端從二維碼掃描器讀取數據,并放進變量2dbar,再將此變量賦值給SQLDB服務中的2bar。然后將2bar作為參數調用存儲過程get2dbarservice(紅線流程)。
數據庫執行存儲過程get2dbarservice,并判斷2bar數據如果為open1,向物聯網終端返回opendoor=1,物聯網終端根據此結果,接通繼電器1,打開門1(綠線流程),

六、定時向數據庫添加歷史記錄數據
本節以物聯網終端每30分鐘向數據庫添加一條溫度歷史數據的例子來說明原理。
首先物聯網終端從傳感器讀取溫度數據,并放進變量temp。然后將此變量賦值給SQLDB服務中的數據庫列Temp。
接著從本機時鐘模塊讀取時間日期信息,判斷是否達到30分鐘間隔,如果達到間隔,將時間日期信息賦值給rectimedate列。
然后使用函數sql_procinsert調用存儲過程proc_insert向數據庫添加一條溫度記錄。sql_procinsert函數支持數據補發。如果向數據庫添加數據失敗,此函數將數據存儲在物聯網終端的flash存儲區中,待通訊恢復后,自動補發數據進數據庫??梢源_保不丟失關鍵數據。
物聯網終端每隔30分鐘執行一次上述操作,即可生成30分鐘一次的溫度歷史數據。此數據可以用于生成曲線圖、進行大數據分析等用途。
