
產(chǎn)品名稱(chēng): | 極簡(jiǎn)物聯(lián)網(wǎng)平臺(tái)方案 |
---|---|
規(guī) 格: | |
產(chǎn)品備注: | |
產(chǎn)品類(lèi)別: | 極簡(jiǎn)物聯(lián)網(wǎng)平臺(tái)方案 無(wú)需處理物聯(lián)網(wǎng)協(xié)議 |
點(diǎn)擊量: | 2157 |
本方案以SQL數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程、表、記錄、PHP、Ajax、HTML5等成主流技術(shù)作為技術(shù)基礎(chǔ)。不需要學(xué)習(xí)新概念和技術(shù),同時(shí)還可以確保平臺(tái)具備良好的可靠性和兼容性。物聯(lián)網(wǎng)終端的編程方式也與PC編程類(lèi)似,可以快速上手。
方案優(yōu)勢(shì)包括:
1、物聯(lián)網(wǎng)終端直接讀寫(xiě)數(shù)據(jù)庫(kù),無(wú)需開(kāi)發(fā)上位機(jī)軟件適配硬件。
2、無(wú)需處理任何物聯(lián)網(wǎng)協(xié)議。
3、物聯(lián)網(wǎng)終端支持各類(lèi)串口協(xié)議,使Modbus及各類(lèi)串口下位機(jī)迅速具備豐富的物聯(lián)網(wǎng)功能,可快速提供現(xiàn)有設(shè)備的手機(jī)端實(shí)際效果演示。
4、基于SQL數(shù)據(jù)庫(kù)+PHP主流技術(shù)打造,可使用低成本的PHP+數(shù)據(jù)庫(kù)網(wǎng)站空間(虛擬機(jī)主機(jī))搭建物聯(lián)網(wǎng)平臺(tái)。
5、支持PHP控制硬件,快速實(shí)現(xiàn)二維碼支付控制。
6、幾乎不需要維護(hù)
可快速實(shí)現(xiàn):
1、工業(yè)、環(huán)保、農(nóng)業(yè)、智能家居等各種數(shù)據(jù)的遠(yuǎn)程傳輸、存儲(chǔ)、查詢(xún)、控制。
2、手機(jī)、平板、電腦的多種終端同時(shí)監(jiān)控、查詢(xún)、控制。
3、微信、支付寶的掃碼付費(fèi)控制。類(lèi)似地鐵掃碼的預(yù)付費(fèi)控制系統(tǒng)。
4、基于數(shù)據(jù)庫(kù)模型的全自動(dòng)、自適應(yīng)AI控制系統(tǒng)。
購(gòu)買(mǎi)我公司物聯(lián)網(wǎng)PLC、物聯(lián)網(wǎng)網(wǎng)關(guān),可免費(fèi)獲得本文中的架構(gòu)代碼,經(jīng)過(guò)簡(jiǎn)單修改即可使用,所以請(qǐng)勿拍下此寶貝。
我公司同時(shí)承接物聯(lián)網(wǎng)平臺(tái)軟硬件建設(shè)服務(wù),以平臺(tái)功能數(shù)來(lái)收取費(fèi)用。如有需求,請(qǐng)聯(lián)系掌柜。
本方案以物聯(lián)網(wǎng)終端調(diào)用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的方式作為基礎(chǔ)。同時(shí)也支持在物聯(lián)網(wǎng)終端內(nèi)運(yùn)行標(biāo)準(zhǔn)的SQL語(yǔ)句作為輔助。
效果演示網(wǎng)址口令用戶(hù)名均為admin:www.illudiamoci.net/aic
物聯(lián)網(wǎng)終端產(chǎn)品:
AiMaker600W 無(wú)線物聯(lián)網(wǎng)可編程控制器
AiMaker600 物聯(lián)網(wǎng)可編程控制器
AiMaster300 物聯(lián)網(wǎng)可編程串口網(wǎng)關(guān)
AiMaster600W 無(wú)線物聯(lián)網(wǎng)可編程串口網(wǎng)關(guān)
一、HTML5網(wǎng)頁(yè)手機(jī)查詢(xún)控制截圖,可媲美APP。而且不需要開(kāi)發(fā)上位機(jī)軟件,不需要處理任何物聯(lián)網(wǎng)協(xié)議。數(shù)據(jù)來(lái)自Modbus及各類(lèi)串口下位機(jī)。
使用PHP網(wǎng)頁(yè)+數(shù)據(jù)庫(kù)控制硬件
HTML5+Ajax實(shí)現(xiàn)可媲美電腦的實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)顯示
同一個(gè)用戶(hù)可掛接多個(gè)不同型號(hào)和功能的物聯(lián)網(wǎng)終端
二、所需的運(yùn)行環(huán)境
1、使用租用網(wǎng)站空間(虛擬主機(jī)),成本最低。
此方式適用于物聯(lián)網(wǎng)終端都安裝在同一地點(diǎn)的情況(例如某個(gè)機(jī)房、別墅等)。
在局域網(wǎng)內(nèi)使用一臺(tái)可以上網(wǎng)的電腦運(yùn)行DBGW數(shù)據(jù)庫(kù)網(wǎng)關(guān)軟件,所有物聯(lián)網(wǎng)終端都通過(guò)此電腦來(lái)操作網(wǎng)站空間的后臺(tái)數(shù)據(jù)庫(kù),然后以PHP+HTML5網(wǎng)頁(yè)形式提供給手機(jī)、平臺(tái)等終端遠(yuǎn)程訪問(wèn)。
租用的網(wǎng)站空間都已經(jīng)自動(dòng)建好了SQL數(shù)據(jù)庫(kù)和PHP運(yùn)行環(huán)境,而且成本很低,小型物聯(lián)網(wǎng)系統(tǒng)每年只需幾百塊錢(qián)費(fèi)用。網(wǎng)站空間服務(wù)器由服務(wù)商進(jìn)行維護(hù),不需要專(zhuān)人運(yùn)維。幾乎沒(méi)有部署難度。
2、 租用云服務(wù)器方案,擁有獨(dú)立公網(wǎng)IP,靈活性最好。
此方案適用于物聯(lián)網(wǎng)終端分散安裝在各地,統(tǒng)一連接至云服務(wù)器的情況。
低成本低配置云服務(wù)器方案
此方案中的云服務(wù)器僅用于數(shù)據(jù)轉(zhuǎn)發(fā),在云服務(wù)器只運(yùn)行DBGW數(shù)據(jù)庫(kù)網(wǎng)關(guān)軟件即可,但仍需要綁定公網(wǎng)IP。
同時(shí)再租用支持PHP+SQL數(shù)據(jù)庫(kù)的網(wǎng)站空間(虛擬主機(jī)),手機(jī)、平臺(tái)、電腦等終端通過(guò)此網(wǎng)站查詢(xún)數(shù)據(jù)、控制硬件。
物聯(lián)網(wǎng)終端通過(guò)寬帶或手機(jī)線路連接云服務(wù)器上的DBGW數(shù)據(jù)庫(kù)網(wǎng)關(guān)軟件來(lái)操作網(wǎng)站空間數(shù)據(jù)庫(kù)。云服務(wù)器上也可以運(yùn)行小型的Windows上位機(jī)軟件,來(lái)滿(mǎn)足特殊功能要求。幾乎沒(méi)有部署難度。
多合一高配置云服務(wù)器方案
在云服務(wù)器上同時(shí)運(yùn)行DBGW數(shù)據(jù)庫(kù)網(wǎng)關(guān)軟件、SQL數(shù)據(jù)庫(kù)、PHP網(wǎng)站,并且綁定公網(wǎng)IP和域名,部署難度與自建網(wǎng)站基本相同。
物聯(lián)網(wǎng)終端通過(guò)寬帶或手機(jī)線路連接云服務(wù)器上的DBGW數(shù)據(jù)庫(kù)網(wǎng)關(guān)軟件來(lái)操作數(shù)據(jù)庫(kù)。手機(jī)、平板、電腦通過(guò)云服務(wù)器上的PHP網(wǎng)站查詢(xún)數(shù)據(jù)、控制硬件。云服務(wù)器上也可以運(yùn)行Windows上位機(jī)軟件,來(lái)滿(mǎn)足特殊功能要求。
3、自建數(shù)據(jù)中心方案。
如果數(shù)據(jù)不宜存儲(chǔ)在第三方空間,則需要自建數(shù)據(jù)中心。需要單獨(dú)購(gòu)買(mǎi)服務(wù)器、防火墻等硬件設(shè)備。并且租用專(zhuān)用線路。自行搭建軟硬件環(huán)境。成本很高,但是性能、可靠性、安全性均為最佳。再配合物聯(lián)網(wǎng)終端使用,也可實(shí)現(xiàn)相同功能。
4、局域網(wǎng)內(nèi)自建服務(wù)器。
如果不允許接入公網(wǎng),可在局域網(wǎng)服務(wù)器上自行搭建數(shù)據(jù)庫(kù)和PHP運(yùn)行環(huán)境,再配合物聯(lián)網(wǎng)終端使用,也可實(shí)現(xiàn)相同功能。
三、實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)顯示
本節(jié)以temp溫度數(shù)據(jù)為例子來(lái)說(shuō)明實(shí)時(shí)動(dòng)態(tài)顯示數(shù)據(jù)的原理。
首先由物聯(lián)網(wǎng)終端讀取溫度傳感器,得到溫度值25.4攝氏度,然后物聯(lián)網(wǎng)終端調(diào)用存儲(chǔ)過(guò)程upsensdata更新數(shù)據(jù)庫(kù)中的temp列值為25.4攝氏度。
使用PHP+Ajax+ HTML5技術(shù)編寫(xiě)“設(shè)備狀態(tài)”網(wǎng)頁(yè),將Ajax刷新周期設(shè)置為1.5秒(或所需的周期)。在手機(jī)、平板、電腦上打開(kāi)“設(shè)備狀態(tài)”網(wǎng)頁(yè)后,此網(wǎng)頁(yè)將以1.5秒的頻率自動(dòng)從數(shù)據(jù)庫(kù)中讀取temp列值,然后實(shí)時(shí)顯示出來(lái),其實(shí)時(shí)性和動(dòng)態(tài)效果與電腦端軟件完全相同。
整個(gè)過(guò)程中無(wú)需物聯(lián)網(wǎng)平臺(tái)對(duì)接任何物聯(lián)網(wǎng)通訊協(xié)議,所有功能完全通過(guò)數(shù)據(jù)庫(kù)實(shí)現(xiàn)。
四、通過(guò)PHP+數(shù)據(jù)庫(kù)實(shí)時(shí)控制硬件
本節(jié)以控制1路燈光為例子來(lái)說(shuō)明實(shí)時(shí)控制原理。
首先用戶(hù)通過(guò)手機(jī)、平板、電腦打開(kāi)“設(shè)備控制”網(wǎng)頁(yè),然后將“機(jī)房1燈光”選擇為ON開(kāi)燈。此操作會(huì)將數(shù)據(jù)表plc_ctrldata中的lightrelay列值設(shè)置為1,在選擇為OFF關(guān)燈時(shí)設(shè)置為0。同時(shí)將apply列值設(shè)置為1通知物聯(lián)網(wǎng)終端有新的控制數(shù)據(jù)。
物聯(lián)網(wǎng)終端以1秒的周期(或所需周期)調(diào)用get_ctrldata存儲(chǔ)過(guò)程,從plc_ctrldata表中讀取控制數(shù)據(jù)并判斷執(zhí)行。當(dāng)apply為1時(shí),物聯(lián)網(wǎng)終端判斷l(xiāng)ightrelay列值,如果為1接通繼電器1,如果為0斷開(kāi)繼電器1。執(zhí)行成功后,再次調(diào)用get_ctrldata存儲(chǔ)過(guò)程,將apply列值設(shè)置為0,表示本次控制成功完成。
控制數(shù)據(jù)也可以是數(shù)值,例如通過(guò)“設(shè)備控制”將adjlightuart列設(shè)置為76,表示將燈光調(diào)至76%亮度。物聯(lián)網(wǎng)終端會(huì)將此值通過(guò)串口發(fā)送給調(diào)光控制器。
整個(gè)控制過(guò)程完全通過(guò)PHP+數(shù)據(jù)庫(kù)實(shí)現(xiàn),無(wú)需平臺(tái)軟件對(duì)接任何協(xié)議。
五、由硬件數(shù)據(jù)觸發(fā)服務(wù)(例如二維碼掃碼控制)
典型的應(yīng)用是類(lèi)似地鐵的二維碼掃碼控制。簡(jiǎn)而言之,物聯(lián)網(wǎng)終端從二維碼掃描槍讀取到二維碼后,將二維碼數(shù)據(jù)傳遞給存儲(chǔ)過(guò)程并執(zhí)行,再由存儲(chǔ)過(guò)程返回控制數(shù)據(jù)給物聯(lián)網(wǎng)終端進(jìn)行控制,完成一次服務(wù)。
任何硬件數(shù)據(jù)都可以很方便的用于觸發(fā)服務(wù),例如從讀取二維碼數(shù)據(jù)、讀取IC卡數(shù)據(jù)、按下按鈕導(dǎo)致的開(kāi)關(guān)量輸入變化、溫濕度模擬量變化等。
下圖簡(jiǎn)單描述了如何快速完成此類(lèi)應(yīng)用。首先物聯(lián)網(wǎng)終端從二維碼掃描器讀取數(shù)據(jù),并放進(jìn)變量2dbar,再將此變量賦值給SQLDB服務(wù)中的2bar。然后將2bar作為參數(shù)調(diào)用存儲(chǔ)過(guò)程get2dbarservice(紅線流程)。
數(shù)據(jù)庫(kù)執(zhí)行存儲(chǔ)過(guò)程get2dbarservice,并判斷2bar數(shù)據(jù)如果為open1,向物聯(lián)網(wǎng)終端返回opendoor=1,物聯(lián)網(wǎng)終端根據(jù)此結(jié)果,接通繼電器1,打開(kāi)門(mén)1(綠線流程),
六、定時(shí)向數(shù)據(jù)庫(kù)添加歷史記錄數(shù)據(jù)
本節(jié)以物聯(lián)網(wǎng)終端每30分鐘向數(shù)據(jù)庫(kù)添加一條溫度歷史數(shù)據(jù)的例子來(lái)說(shuō)明原理。
首先物聯(lián)網(wǎng)終端從傳感器讀取溫度數(shù)據(jù),并放進(jìn)變量temp。然后將此變量賦值給SQLDB服務(wù)中的數(shù)據(jù)庫(kù)列Temp。
接著從本機(jī)時(shí)鐘模塊讀取時(shí)間日期信息,判斷是否達(dá)到30分鐘間隔,如果達(dá)到間隔,將時(shí)間日期信息賦值給rectimedate列。
然后使用函數(shù)sql_procinsert調(diào)用存儲(chǔ)過(guò)程proc_insert向數(shù)據(jù)庫(kù)添加一條溫度記錄。sql_procinsert函數(shù)支持?jǐn)?shù)據(jù)補(bǔ)發(fā)。如果向數(shù)據(jù)庫(kù)添加數(shù)據(jù)失敗,此函數(shù)將數(shù)據(jù)存儲(chǔ)在物聯(lián)網(wǎng)終端的flash存儲(chǔ)區(qū)中,待通訊恢復(fù)后,自動(dòng)補(bǔ)發(fā)數(shù)據(jù)進(jìn)數(shù)據(jù)庫(kù)。可以確保不丟失關(guān)鍵數(shù)據(jù)。
物聯(lián)網(wǎng)終端每隔30分鐘執(zhí)行一次上述操作,即可生成30分鐘一次的溫度歷史數(shù)據(jù)。此數(shù)據(jù)可以用于生成曲線圖、進(jìn)行大數(shù)據(jù)分析等用途。