Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
力網(wǎng)供電長(zhǎng)期以來(lái)依靠人力對(duì)商業(yè)用電和生活用電數(shù)據(jù)進(jìn)行抄讀,效率極其低下。抄表數(shù)據(jù)統(tǒng)計(jì)主要依靠人力,報(bào)表生成周期長(zhǎng),統(tǒng)計(jì)結(jié)果分析慢,獲得結(jié)果不能及時(shí)反映系統(tǒng)用電量需求分布,對(duì)供應(yīng)系統(tǒng)的網(wǎng)絡(luò)優(yōu)化沒(méi)有參考價(jià)值,嚴(yán)重限制了供電系統(tǒng)的供電效率和質(zhì)量的提高。
傳統(tǒng)抄表方式依靠人力抄表,電表數(shù)據(jù)抄取周期較長(zhǎng),無(wú)法獲得同一時(shí)刻所有用戶的電表數(shù)據(jù),使得電表數(shù)據(jù)的獲取具有不精確性和時(shí)間段的模糊性,導(dǎo)致電網(wǎng)用電量的時(shí)空分布結(jié)果可信度不高,從而無(wú)法給供電管理部門提供有效的參考數(shù)據(jù)和建議。
自動(dòng)抄表系統(tǒng)是供電系統(tǒng)監(jiān)管部門用來(lái)對(duì)工業(yè)和生活用電進(jìn)行監(jiān)測(cè)、管理和控制,以及對(duì)用戶用電情況進(jìn)行統(tǒng)計(jì)、分析的重要手段。本文提出了將 GPRS通訊技術(shù)與 J2EE 技術(shù)相結(jié)合的方案應(yīng)用到自動(dòng)抄表系統(tǒng)的設(shè)計(jì)中,構(gòu)成了網(wǎng)絡(luò)化的遠(yuǎn)程自動(dòng)抄表系統(tǒng)。在底層硬件設(shè)計(jì)中,采用一種基于通用分組無(wú)線業(yè)務(wù) GPRS(GeneralPacketRatioService)無(wú)線上網(wǎng)技術(shù)的自動(dòng)數(shù)據(jù)采集方案。在上層軟件設(shè)計(jì)中,采用美國(guó) Sun 公司推出的 J2EE(Java2Platform,EnterpriseEdition)平臺(tái)。該產(chǎn)品已應(yīng)用在實(shí)際抄表系統(tǒng)中,效果良好。
1、系統(tǒng)的整體結(jié)構(gòu)及工作原理
1.1 系統(tǒng)的組成
圖 1 是系統(tǒng)總體設(shè)計(jì)方案。系統(tǒng)由五部分組成:GPRS 數(shù)據(jù)采集模塊、通信服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、Web 服務(wù)器、客戶端。
GPRS 數(shù)據(jù)采集模塊:它是系統(tǒng)的硬件主要部分。GPRS 模塊上電后擁有一個(gè)動(dòng)態(tài)的 IP 地址,可以與通信服務(wù)器進(jìn)行 Socket 通信。它的功能就是將檢測(cè)到的電能流量以十六進(jìn)制數(shù)據(jù)格式發(fā)送給通信服務(wù)器。GPRS 終端也可以接受來(lái)之通信服務(wù)器的命令。
通信服務(wù)器:它打開(kāi)服務(wù)器的某一端口,監(jiān)聽(tīng)并接受所有 GPRS 終端向該端口發(fā)送的 UDP數(shù)據(jù)包,然后將數(shù)據(jù)包解析成流量等數(shù)據(jù),寫進(jìn)數(shù)據(jù)庫(kù)中。通訊服務(wù)器的另一任務(wù)是向 GPRS 終端發(fā)送命令的任務(wù),即向 GRPS 終端發(fā)送 UDP 數(shù)據(jù)包。
數(shù)據(jù)庫(kù)服務(wù)器:通信服務(wù)器從 GPRS 終端獲得的數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器上,同時(shí)數(shù)據(jù)庫(kù)服務(wù)器還需對(duì)數(shù)據(jù)進(jìn)行備份。
Web 服務(wù)器:它連接著數(shù)據(jù)庫(kù)服務(wù)器和客戶端。首先它向客戶端提供 Web 服務(wù)。響應(yīng)來(lái)之客戶端的請(qǐng)求,并根據(jù)客戶端的請(qǐng)求向數(shù)據(jù)庫(kù)服務(wù)器獲取數(shù)據(jù),然后再將數(shù)據(jù)以 html 格式返回給客戶端,使得客戶端可以瀏覽它所請(qǐng)求的數(shù)據(jù)。Web 服務(wù)器還可以直接向通信服務(wù)器提出請(qǐng)求,通信服務(wù)器根據(jù) Web 服務(wù)器的請(qǐng)求向 GPRS 終端發(fā)送命令。
客戶端:它采用瘦客戶端,只需要一個(gè) Internet 瀏覽器即可。客戶端的任務(wù)就是向 Web 服務(wù)器發(fā)出 http 請(qǐng)求,然后將 Web 服務(wù)器返回的 ht-ml 格式文件顯示給用戶。
1.2 系統(tǒng)的功能
系統(tǒng)的功能有:查看歷史數(shù)據(jù),讀取實(shí)時(shí)或整點(diǎn)數(shù)據(jù)。
查看歷史數(shù)據(jù):客戶端根據(jù)自己的需求,要求查看歷史上某一段數(shù)據(jù)的請(qǐng)求,該請(qǐng)求經(jīng)過(guò) Web 服務(wù)器轉(zhuǎn)送給數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)經(jīng)過(guò) Web 服務(wù)器轉(zhuǎn)接以 html 格式返回給客戶端。
讀取實(shí)時(shí)或整點(diǎn)數(shù)據(jù):客戶端要求讀取實(shí)時(shí)或整點(diǎn)數(shù)據(jù)請(qǐng)求,Web 服務(wù)器根據(jù)請(qǐng)求來(lái)通知通訊服務(wù)器,然后由通訊服務(wù)器通知 GPRS 數(shù)據(jù)采集模塊,GPRS 數(shù)據(jù)采集模塊通過(guò) GPRS 網(wǎng)絡(luò)向通訊服務(wù)器發(fā)送數(shù)據(jù)包。當(dāng)通訊服務(wù)器收到數(shù)據(jù)包時(shí),將數(shù)據(jù)包解析成流量參數(shù)寫到數(shù)據(jù)庫(kù)服務(wù)器中,然后由數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)發(fā)送給 Web 服務(wù)器,然后由 Web 服務(wù)器將數(shù)據(jù)以 html 格式返回給客戶端。
2、GPRS 通信模塊的設(shè)計(jì)及其功能
第 2.5 代通訊技術(shù) GPRS(GenealpacketRADIoService,通用分組無(wú)線業(yè)務(wù))作為第三代通訊技術(shù)的前奏,GPRS 技術(shù)是在現(xiàn)有 GSM 技術(shù)基礎(chǔ)上發(fā)展而來(lái)的一種新的分組交換的數(shù)據(jù)承載業(yè)務(wù),由英國(guó) BTCellent 公司在 1983 年提出。GSM 技術(shù)主要以提供話音業(yè)務(wù)為主,而 GPRS 技術(shù)在移動(dòng)終端與計(jì)算機(jī)通信網(wǎng)絡(luò)的路由器之間提供了分組傳遞業(yè)務(wù),這就是 GPRS 網(wǎng)絡(luò)與 GSM 網(wǎng)絡(luò)的最大區(qū)別。
GPRS 把分組交換技術(shù)引入現(xiàn)有 GSM 系統(tǒng),為移動(dòng)用戶和數(shù)據(jù)網(wǎng)絡(luò)之間提供語(yǔ)音通信。GPRS 采用分組交換技術(shù),主要提供非語(yǔ)音的數(shù)據(jù)業(yè)務(wù),特別適用于間斷的、突發(fā)性的和頻繁的、少量的數(shù)據(jù)傳輸,給移動(dòng)用戶提供高速無(wú)線 IP 和 x.25 服務(wù)。GSM 網(wǎng)絡(luò)采用電路交換的方式,也適用于偶爾的大數(shù)據(jù)量傳輸。
本系統(tǒng)就是利用 GPRS 的分組無(wú)線業(yè)務(wù),通過(guò)無(wú)線網(wǎng)絡(luò)連接到現(xiàn)場(chǎng)的自動(dòng)抄表裝置上進(jìn)行數(shù)據(jù)測(cè)量。
在系統(tǒng)中,關(guān)鍵之一是網(wǎng)絡(luò)協(xié)議的選擇。目前有兩種協(xié)議,即 TCP 協(xié)議和 UDP 協(xié)議。UDP 協(xié)議與 TCP 協(xié)議相比較,有以下幾個(gè)優(yōu)點(diǎn):適用于小數(shù)據(jù)量的傳輸;使用方便,不需要建立連接,是一種無(wú)連接的通訊方式;傳輸數(shù)據(jù)的效率高,實(shí)時(shí)性強(qiáng)。
考慮到 UDP 上述特點(diǎn)以及流量測(cè)量系統(tǒng)對(duì)實(shí)時(shí)性的高要求,本系統(tǒng)采用了 UDP 協(xié)議。
3、系統(tǒng)硬件設(shè)計(jì)
電能流量測(cè)量設(shè)備有兩種工作方式:一是按事先設(shè)定好的時(shí)間間隔,周期性地采集用戶數(shù)據(jù),實(shí)時(shí)地傳送到數(shù)據(jù)庫(kù)服務(wù)器;二是實(shí)時(shí)地響應(yīng)來(lái)自于通信服務(wù)器的控制命令,按照控制命令進(jìn)行特定的數(shù)據(jù)采集任務(wù)。這就要求作為數(shù)據(jù)傳輸模塊和終端設(shè)備控制模塊的 GPRS 終端能夠?qū)崟r(shí)地解析、處理各種控制命令并向數(shù)據(jù)傳輸服務(wù)提供盡可能大的吞吐率。另外考慮到系統(tǒng)的可擴(kuò)展性,本系統(tǒng)硬件設(shè)計(jì)時(shí)沒(méi)有采用傳統(tǒng)的低成本但是高開(kāi)發(fā)費(fèi)用且性能、功能受限制的單片機(jī)加 GPRS 通訊模塊的方案,而是使用了以高性能嵌入式 CPU 芯片為核心的設(shè)計(jì)方案。GPRS 數(shù)據(jù)傳輸終端的硬件組成和連接如圖 2 所示。CPU 采用了專為網(wǎng)絡(luò)解決方案設(shè)計(jì)的 SamsungARM74510B。GPRS 模塊采用目前比較流行的西門子 MC35 系列模塊。
傳輸終端的軟件采用了以嵌入式實(shí)時(shí)操作系統(tǒng)為平臺(tái)、自主知識(shí)產(chǎn)權(quán)的網(wǎng)絡(luò)組件為核心的體系結(jié)構(gòu)。操作系統(tǒng)選用了μclinux。μclinux 最大的特點(diǎn)就是沒(méi)有 MMU,很適合 ARM 嵌入式微處理器。該μclinux 的內(nèi)核版本是 Linux2.4,它具備完整的嵌入式 TCP/IP 網(wǎng)絡(luò)協(xié)議棧,操作系統(tǒng)所有代碼加起來(lái)編譯后的鏡像文件小于 1MB。
該系統(tǒng)以數(shù)字信號(hào)處理器 DSP 為核心,采用交流取樣技術(shù),可以連續(xù)地檢測(cè)和統(tǒng)計(jì)電量的有關(guān)參數(shù)。
抄表數(shù)據(jù)終端起著管理和協(xié)調(diào) GPRS 網(wǎng)絡(luò)和儀表數(shù)據(jù)通信的作用。由于無(wú)線傳輸是基于 GPRS 的,所以抄表數(shù)據(jù)傳輸終端也可以稱為 GPRS 終端,要完成硬件和軟件的設(shè)計(jì)。抄表終端的硬件設(shè)計(jì)一般都會(huì)選用世界知名廠商生產(chǎn)的 GPRS 模塊作為抄表終端與 GPRS 網(wǎng)絡(luò)連接的中間件,實(shí)現(xiàn)同基站空中接口的連接,選用高速微處理器連接儀表和 GPRS 模塊,處理兩者間的數(shù)據(jù)通信問(wèn)題。
4、系統(tǒng)軟件設(shè)計(jì)
4.1B/S 結(jié)構(gòu)
目前軟件結(jié)構(gòu)設(shè)計(jì)模式主要有兩大類:一是傳統(tǒng)的 Client/Server(客戶端/服務(wù)器)模式,它采用 Intranet 技術(shù),適用于局域網(wǎng)環(huán)境可連接用戶數(shù)有限,當(dāng)用戶數(shù)量增多時(shí),性能會(huì)明顯下降,客戶端都要安裝。一是正在不斷發(fā)展的 Browser/Server(瀏覽器/服務(wù)器)模式,它采用 Internet/Intranet 技術(shù),適用于廣域網(wǎng)環(huán)境,支持更多的客戶,可根據(jù)訪問(wèn)量動(dòng)態(tài)配置 Web 服務(wù)器、應(yīng)用服務(wù)器,以保證系統(tǒng)性能。客戶端只需要標(biāo)準(zhǔn)的 Internet 瀏覽器。
由于運(yùn)行該系統(tǒng)的物理平臺(tái)的復(fù)雜性,例如不同設(shè)備的操作系統(tǒng)、數(shù)據(jù)庫(kù)服務(wù)器等都具有相異性,各種專業(yè)網(wǎng)絡(luò)都有各自不同的網(wǎng)絡(luò)架構(gòu)和實(shí)現(xiàn)方式,因此必須選擇能夠較好支持跨平臺(tái)開(kāi)發(fā)的運(yùn)行環(huán)境進(jìn)行設(shè)計(jì)。此外,考慮到使用該系統(tǒng)的人員具有廣泛性,依據(jù)不同的權(quán)限隨時(shí)可以查看該系統(tǒng)的詳細(xì)情況,若仍完全采用傳統(tǒng)的固定 C/S 模式,就必須嚴(yán)格對(duì)每個(gè)客戶端進(jìn)行參數(shù)設(shè)置,這顯然是不可取的。
系統(tǒng)的軟件設(shè)計(jì)采用以 Web 技術(shù)為基礎(chǔ),以瀏覽器/服務(wù)器即 B/S 為體系結(jié)構(gòu)的方案。B/S 模式與傳統(tǒng)的 C/S 模式相比,優(yōu)點(diǎn)在于:主要工作是服務(wù)器端程序的開(kāi)發(fā)。服務(wù)器主要負(fù)責(zé)開(kāi)發(fā)、維護(hù)網(wǎng)上的內(nèi)容與資源,負(fù)責(zé)信息的收集、存儲(chǔ)、發(fā)布,不存在客戶端程序的開(kāi)發(fā)和維護(hù)。客戶端直接利用現(xiàn)有的局域網(wǎng)或 Internet 連接,不需要特殊設(shè)置和安裝,使用標(biāo)準(zhǔn)的 Internet 瀏覽器,直接訪問(wèn)專用 Web 服務(wù)器頁(yè)面,就可觀看監(jiān)測(cè)和分析電能質(zhì)量的實(shí)時(shí)數(shù)據(jù),并能查詢所需歷史數(shù)據(jù)。
4.2 系統(tǒng)運(yùn)行環(huán)境與工具的選擇
考慮到系統(tǒng)的移植性和跨平臺(tái)性,本系統(tǒng)選擇了 Sun 公司設(shè)計(jì)開(kāi)發(fā)的 J2EE 平臺(tái),使用 JSP(JavaServerPages)作為 B/S 模式的開(kāi)發(fā)工具。J2EE(Java2PlatformEnterpriseEdiTIon)是一個(gè)適用于企業(yè)級(jí)計(jì)算的支持多層、分布式應(yīng)用的全新概念的 Java 平臺(tái),它為搭建具有可伸縮性,靈活性、易維護(hù)性的企業(yè)信息系統(tǒng)提供了良好的機(jī)制,與傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用程序模型相比有著不可比擬的優(yōu)勢(shì)。J2EE 主要面向網(wǎng)絡(luò)應(yīng)用,它定義了一系列規(guī)范的標(biāo)準(zhǔn),使得 Java 程序員能夠共同的遵照這個(gè)標(biāo)準(zhǔn),開(kāi)發(fā)大型面向網(wǎng)絡(luò)的項(xiàng)目。它同時(shí)提供了龐大的開(kāi)發(fā)庫(kù),是面向電子商務(wù)開(kāi)發(fā)的企業(yè)級(jí)應(yīng)用平臺(tái)。Java 具有“編寫一次,到處運(yùn)行”的特性,能夠通過(guò) JDBC 方便連接各類數(shù)據(jù)庫(kù),調(diào)用各類 API,同時(shí)在 Internet 應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等。總結(jié)該系統(tǒng)的平臺(tái)解決方案如下:
計(jì)算模式:三層 B/S 模式;網(wǎng)絡(luò)操作系統(tǒng):Windows2000Server;數(shù)據(jù)庫(kù)服務(wù)器:Oracle8i;Web 服務(wù)器:ApacheTomcat5.O;數(shù)據(jù)庫(kù)驅(qū)動(dòng)接口:JDBC 驅(qū)動(dòng);主要的開(kāi)發(fā)環(huán)境及工具:J2EE,Java,JSP,Javascript。
4.3 連接池(ConnecTIonPool)機(jī)制
程序的效率問(wèn)題在 JSP 編程過(guò)程中是很重要的,即要考慮如何使有限的計(jì)算機(jī)系統(tǒng)資源為更多的客戶提供更好的服務(wù),保證客戶的響應(yīng)速度和服務(wù)質(zhì)量。如果有很多人訪問(wèn)該網(wǎng)站,每一次 Web 請(qǐng)求都需要與數(shù)據(jù)庫(kù)建立一個(gè)連接,那么數(shù)據(jù)庫(kù)就有可能要同時(shí)處理許多建立連接的請(qǐng)求,這對(duì)于數(shù)據(jù)庫(kù)服務(wù)器和 WebServer 來(lái)說(shuō)是一個(gè)很嚴(yán)重的負(fù)擔(dān),甚至?xí)?dǎo)致資源耗盡而死機(jī)。
本系統(tǒng)使用連接池機(jī)制來(lái)解決這個(gè)問(wèn)題。連接池最基本的思想就是預(yù)先建立一些連接放置于內(nèi)存對(duì)象中以備使用。當(dāng)程序中需要建立與數(shù)據(jù)庫(kù)的連接時(shí),只需到連接池中讀取即可,不需新建連接。當(dāng)程序不需該連接時(shí),只要將該連接放回到連接池中,以便其他程序或用戶使用。同時(shí)連接池機(jī)制對(duì)于位于池中的連接具有管理的功能,增加了與數(shù)據(jù)庫(kù)連接的強(qiáng)壯性。
4.4 數(shù)據(jù)庫(kù)的遠(yuǎn)程管理
數(shù)據(jù)庫(kù)內(nèi)容包括:現(xiàn)場(chǎng)流量參數(shù)的實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、不合格數(shù)據(jù)、人員的管理、權(quán)限的管理等。
數(shù)據(jù)庫(kù)遠(yuǎn)程管理按照如下流程來(lái)實(shí)現(xiàn):
(1)客戶端發(fā)出數(shù)據(jù)的查詢或修改指令;
(2)服務(wù)端接收指令,向客戶端返回結(jié)果;
(3)客戶端接收結(jié)果,顯示查詢數(shù)據(jù)。
當(dāng)客戶端請(qǐng)求查看實(shí)時(shí)數(shù)據(jù)的時(shí)候,客戶端向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器每隔 2s 就將實(shí)時(shí)數(shù)據(jù)發(fā)送給客戶端,客戶端接收并顯示該數(shù)據(jù)。該過(guò)程就是一個(gè)典型的數(shù)據(jù)庫(kù)遠(yuǎn)程管理過(guò)程。傳統(tǒng)的技術(shù)是頁(yè)面不斷刷新,來(lái)獲取新的數(shù)據(jù),以便讓用戶看到不斷變化的實(shí)時(shí)數(shù)據(jù)。但該方法的缺點(diǎn)一是當(dāng)數(shù)據(jù)量較大時(shí),占用服務(wù)器資源的消耗大;二是用戶能明顯感到頁(yè)面的不斷刷新,對(duì)用戶視覺(jué)和聽(tīng)覺(jué)都有很大影響。本系統(tǒng)采用了 Microsoft 開(kāi)發(fā)的 xmlhttp 技術(shù),它是 Microsoftxml 解析器(MSXML)中的一個(gè)客戶/服務(wù)通訊管道協(xié)議。運(yùn)用 xmlhttp 可以簡(jiǎn)單方便地實(shí)現(xiàn)數(shù)據(jù)庫(kù)遠(yuǎn)程管理。由于其傳送的是 XML 格式的數(shù)據(jù),大大減輕了對(duì)服務(wù)器的消耗,而且采用 xmlhttp 協(xié)議,可以實(shí)現(xiàn)頁(yè)面無(wú)刷新更新數(shù)據(jù),使界面更加友好。
要:基于STM32+華為云IoT設(shè)計(jì)的老人防摔倒報(bào)警系統(tǒng)。
本文分享自華為云社區(qū)《基于STM32+華為云IOT設(shè)計(jì)的老人防摔倒報(bào)警系統(tǒng)【玩轉(zhuǎn)華為云】-云社區(qū)-華為云》,作者: DS小龍哥 。
我國(guó)獨(dú)生子女,以及人口老齡化等問(wèn)題,正逐漸成為一個(gè)重大的社會(huì)問(wèn)題,老年人機(jī)體能力的下降,摔倒引起的安全和危害愈來(lái)愈突出,國(guó)家和社會(huì)越來(lái)越關(guān)注老年人的健康和安全,開(kāi)發(fā)一個(gè)能夠?qū)崟r(shí)檢測(cè)出老年人是否摔倒,并且能及時(shí)告知監(jiān)護(hù)人的摔倒檢測(cè)以及報(bào)警系統(tǒng)具有重要的現(xiàn)實(shí)意義。
本系統(tǒng)包括檢測(cè)摔倒模塊、GPS定位模塊和通信模塊三部分,通過(guò)檢測(cè)老年人日常狀態(tài),可以得知老年人的狀態(tài),如果監(jiān)測(cè)到老年人摔倒了,此時(shí)會(huì)通過(guò)網(wǎng)絡(luò)把檢測(cè)結(jié)果上傳到物聯(lián)網(wǎng)云平臺(tái),獲得老年人摔倒地點(diǎn)的GPS定位,并且通過(guò)GPRS通訊發(fā)短信給預(yù)設(shè)的監(jiān)護(hù)人。
(1)采用STM32單片機(jī)作為主控芯片,配合其他模塊完成功能設(shè)計(jì)
(2)通信模塊采用SIM800C,支持上傳采集的GPS經(jīng)緯度數(shù)據(jù)到云端服務(wù)器,云端采用華為云物聯(lián)網(wǎng)平臺(tái)。
(3)老人摔倒檢測(cè)采用MPU6050陀螺儀檢測(cè),當(dāng)檢測(cè)到老人摔倒之后,會(huì)通過(guò)SIM800C發(fā)送短信到緊急聯(lián)系人,設(shè)備上的蜂鳴器會(huì)發(fā)出警報(bào)聲,周圍行人聽(tīng)到也可以進(jìn)行幫助;并且會(huì)將GPS數(shù)據(jù)上傳到云端,通過(guò)地圖顯示老人的位置,家人通過(guò)短信知道老人摔倒后,通過(guò)云端地圖顯示的位置,可以快速趕到老人身邊,或者報(bào)警求助,報(bào)告位置。
(4)老人摔倒后,如果自己能行動(dòng),沒(méi)有大問(wèn)題,可以自己按下設(shè)備上的按鍵取消蜂鳴器報(bào)警,并且通過(guò)SIM800C向家人發(fā)送一條短信,報(bào)平安。
為了快速驗(yàn)證方案的可行性,這里采用現(xiàn)成的模塊采用杜邦線連接完成整個(gè)預(yù)想的功能設(shè)計(jì)。
下面就是硬件連接好之后的效果圖,選用的硬件型號(hào)在第4章節(jié)已經(jīng)全部貼出來(lái)了;為了方便戶外測(cè)試,這里的供電電源采用了充電寶,也可以采用電池盒供電。
可以設(shè)置電子圍欄,坐標(biāo)超出之后進(jìn)行提示。
主控芯片采用STM32RCT6,通信模塊采用SIM800C,GPS采集使用ATGM336北斗BDS+GPS雙模模塊,老人摔倒檢測(cè)模塊采用MPU6050陀螺儀。
這些都是采用現(xiàn)成的成品模塊,都是在淘寶上買的,下面都貼出了模塊的型號(hào),模塊的實(shí)物截圖,如果自己想做一個(gè),可以在淘寶上找到一樣的模塊型號(hào)購(gòu)買。
SIM800C模塊是一款高性能高性價(jià)比工業(yè)級(jí)的GSM/GPRS模塊。本模塊采用SIMCOM公司的工業(yè)級(jí)四頻850/900/ 1800/1900MHz SM800芯片,可以低功耗實(shí)現(xiàn)語(yǔ)音、SMS、數(shù)據(jù)和傳真信息的傳輸。
模塊特點(diǎn):
1、支持極限D(zhuǎn)C5V-18V寬電壓輸入
2、有電源使能開(kāi)關(guān)引腳EN
3、支持鋰電池供電接口VBAT3.5-4.5V
4、輸入支持移動(dòng)和聯(lián)通手機(jī)卡Micro SIM卡
5、送51/STM32/ARDUINO驅(qū)動(dòng)例程
6、DC 5V-18V電源輸入,推薦使用DC 9V
7、電源開(kāi)始使能引腳默認(rèn)使能
8、電源地
9、GSM模塊的TXD引腳接其它模塊的RXD
10、GSM模塊的RXD引腳接其它模塊的TXD
11、數(shù)據(jù)終端準(zhǔn)備
12、內(nèi)核音頻輸出引腳
13、內(nèi)核音頻輸出引腳
14、鋰電池輸入引腳,DC 3.5 - 4.5V
15、電源地
?
16、啟動(dòng)引腳和GND短路可實(shí)現(xiàn)開(kāi)機(jī)自啟動(dòng)
17、電源地
18、RTC外置電池引腳
19、內(nèi)核振鈴提示引腳
20、內(nèi)合音頻輸入引腳
21、內(nèi)核音頻輸入引腳
加粗的引腳一般都用到。
建議使用V_IN單獨(dú)供電DC5-18V輸入(推薦使用9V),或者VBAT供電鋰電池兩種供電方式這兩種供電方式最穩(wěn)定。如果只是簡(jiǎn)單調(diào)試,也可使用USB-TTL或者開(kāi)發(fā)板的5V直接給模塊供電。不過(guò)一般電腦或者開(kāi)發(fā)板的功率有限,可能會(huì)不穩(wěn)定。請(qǐng)根據(jù)具體情況自己取舍選擇合適電源。
總結(jié):
模塊本身支持自適應(yīng)波特率,可以自動(dòng)根據(jù)發(fā)送過(guò)去的指令計(jì)算對(duì)應(yīng)的波特率,一般使用115200即可。
?
模塊調(diào)試總結(jié):
(1)供電電壓5V也可以,采用電腦USB供電(直接插電腦USB口)。正常供電之后,模塊上有電源指示燈。
(2)SIM800C的TX腳接單片機(jī)的RX腳
(3)SIM800C的RX腳接單片機(jī)的TX腳
(4)SIM800C的第11個(gè)引腳(PWK)和12個(gè)引腳(GND)短接接在一起,才可以開(kāi)機(jī)。
?
電源正常后,右上角有一個(gè)黃色的電源燈。
?
通過(guò)串口發(fā)送AT指令過(guò)去測(cè)試模塊效果。
?
?
GPS模塊正常定位后,模塊上的LED燈會(huì)按照1秒鐘閃爍一次。
返回的字段里GNRMC表示當(dāng)前定位的GPS經(jīng)緯度,解析代碼只需要解析GNRMC表示當(dāng)前定位的GPS經(jīng)緯度,解析代碼只需要解析GNRMC字段。
第一次啟動(dòng)GPS模塊,定位差不多要幾分鐘時(shí)間,定位成功后,第二次啟動(dòng)定位就很快,最好是在室外,室內(nèi)信號(hào)差,定位時(shí)間更久。
?
陀螺儀選擇的是正點(diǎn)原子的模塊,比較穩(wěn)定,質(zhì)量較好。
?
蜂鳴器選擇的高電平觸發(fā)。
?
為了方便查看老人摔倒之后的位置,需要通過(guò)SIM800C將設(shè)備采集的GPS數(shù)據(jù)上傳到云平臺(tái)服務(wù)器保存,就算老人沒(méi)有跌倒,也可以實(shí)時(shí)關(guān)注老人的位置,在地圖上繪制出軌跡線路,方便家人隨時(shí)聯(lián)系,了解老人的情況。
這里物聯(lián)網(wǎng)的平臺(tái)選擇是華為云物聯(lián)網(wǎng)平臺(tái),目前是免費(fèi)使用的,在云端創(chuàng)建產(chǎn)品等信息后,設(shè)備再通過(guò)MQTT協(xié)議連接云平臺(tái)上傳GPS數(shù)據(jù)。目前華為云的拖拽試網(wǎng)頁(yè)開(kāi)發(fā)頁(yè)面已經(jīng)下架,目前要開(kāi)發(fā)對(duì)應(yīng)的上位機(jī),可以采用最近主推的低代碼開(kāi)發(fā)平臺(tái)或者自己通過(guò)云平臺(tái)的應(yīng)用側(cè)開(kāi)發(fā)接口自己開(kāi)發(fā)上位機(jī),我這里是自己開(kāi)發(fā)的上位機(jī),通過(guò)QT編寫的上位機(jī)APP,支持windows、Android、Linux等多個(gè)平臺(tái)運(yùn)行,跨平臺(tái)使用還是比較方便。
下面接著就介紹如何登陸官網(wǎng)創(chuàng)建產(chǎn)品、設(shè)備、完成云端的產(chǎn)品部署。
官網(wǎng)地址: https://www.huaweicloud.com/product/iothub.html
打開(kāi)官網(wǎng)后沒(méi)有華為云賬號(hào)需要先注冊(cè)賬號(hào),這些步驟就不多說(shuō)了,接下來(lái)就直接介紹如何創(chuàng)建產(chǎn)品、設(shè)備、配置屬性、完成數(shù)據(jù)上傳交互的流程。
?
點(diǎn)擊免費(fèi)使用進(jìn)去頁(yè)面。
?
點(diǎn)擊左邊產(chǎn)品選項(xiàng),點(diǎn)擊右上角創(chuàng)建產(chǎn)品按鈕,彈出參數(shù)填充對(duì)話框。
?
根據(jù)自己的設(shè)備情況填入信息之后保存。
?
產(chǎn)品創(chuàng)建成功,點(diǎn)擊查看詳細(xì)信息。
?
?
在現(xiàn)在的詳情頁(yè)面往下翻,可以看到模型創(chuàng)建的選項(xiàng)。
點(diǎn)擊自定義模型選項(xiàng),創(chuàng)建模型。
這里的模型就是設(shè)備上傳的數(shù)據(jù)屬性。
添加服務(wù)ID。
?
點(diǎn)擊創(chuàng)建屬性,這里選擇JSON類型的數(shù)據(jù),上傳的GPS有經(jīng)緯度兩個(gè)數(shù)據(jù),方便保存。
?
創(chuàng)建成功。
點(diǎn)擊下方,閱讀學(xué)習(xí)完整實(shí)驗(yàn)步驟~~
華為云博客_大數(shù)據(jù)博客_AI博客_云計(jì)算博客_開(kāi)發(fā)者中心-華為云
廣超1,馬尚昌1,劉鈞2
(1.成都信息工程大學(xué) 電子工程學(xué)院,四川 成都 610225; 2. 華云升達(dá)(北京)氣象科技有限責(zé)任公司,北京 102200)
:針對(duì)目前在氣象研究領(lǐng)域中日照采集系統(tǒng)作業(yè)質(zhì)量效果和實(shí)時(shí)性差、系統(tǒng)智能化程度低以及科技含量低等問(wèn)題,對(duì)日照采集系統(tǒng)的通信方式、傳輸平臺(tái)、通信形式、位置定位及數(shù)據(jù)存儲(chǔ)等方面進(jìn)行了研究,提出了一種基于 GPRS 的遠(yuǎn)程無(wú)線采集日照數(shù)據(jù)系統(tǒng)。該系統(tǒng)以 GPRS 網(wǎng)絡(luò)和Internet作為遠(yuǎn)程信號(hào)的傳輸平臺(tái),采用了 STM32 處理器和 SIM900A 作為基本的硬件平臺(tái)。日照傳感器采用良好的感應(yīng)元件和材料,其感應(yīng)部件和數(shù)據(jù)采集處理單元集成在光筒內(nèi);計(jì)算機(jī)端軟件實(shí)現(xiàn)了對(duì)日照數(shù)據(jù)的定時(shí)接收處理和查詢歷史數(shù)據(jù)操作等功能。
:TP399文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.024
引用格式:張廣超,馬尚昌,劉鈞.日照數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2017,36(10):85-88.
0引言
*基金項(xiàng)目:國(guó)家重大科學(xué)儀器設(shè)備開(kāi)發(fā)專項(xiàng)(2012YQ110205)
世界氣象組織對(duì)日照時(shí)數(shù)的定義是:在給定時(shí)段內(nèi)直接太陽(yáng)輻照度達(dá)到或超過(guò)120 W/m2的各分段時(shí)間的總和[12]。日照時(shí)長(zhǎng)數(shù)據(jù)的測(cè)量是太陽(yáng)輻射時(shí)間分布測(cè)量的重要組成部分。日照時(shí)數(shù)資料的主要用途是表征當(dāng)?shù)氐臍夂蚝兔枋鲞^(guò)去的天氣狀況,可以認(rèn)為日照時(shí)數(shù)較長(zhǎng)的地區(qū)有強(qiáng)烈的太陽(yáng)光,產(chǎn)生使人可以保持良好狀態(tài)的心理效應(yīng);另外,合理利用氣候資源,研究每日的日照時(shí)長(zhǎng)數(shù)據(jù)的變化趨勢(shì),在農(nóng)業(yè)上也有很大用途。同時(shí)日照時(shí)長(zhǎng)數(shù)據(jù)的采集有助于了解太陽(yáng)、地球表面和大氣間的輻射過(guò)程、能量轉(zhuǎn)換規(guī)律以及各輻射量的時(shí)空分布,研究大氣成分如懸浮微粒、水汽、臭氧等的分布和變化,滿足醫(yī)學(xué)、農(nóng)業(yè)、建筑、工業(yè)和家庭等對(duì)太陽(yáng)能技術(shù)和輻射資料的要求。此外,輻射的分光譜測(cè)量可用來(lái)取得氣溶膠的光學(xué)厚度和大氣渾濁度,在農(nóng)業(yè)生物和醫(yī)療衛(wèi)生方面有著廣泛的用途。
1系統(tǒng)總體設(shè)計(jì)
日照數(shù)據(jù)采集系統(tǒng)研究主要針對(duì)硬件平臺(tái)的建立、通信系統(tǒng)的搭建、上位機(jī)的編寫三大部分來(lái)展開(kāi),其中硬件平臺(tái)核心采用STM32處理器[3],通用分組無(wú)線服務(wù)技術(shù) (General Packet Radio Service, GPRS)通信芯片采用客戶識(shí)別模塊(Subscriber Identification Module,SIM900A),SIM900A是緊湊型、高可靠性的無(wú)線模塊,采用表面貼裝技術(shù)(Surface Mount Technology,SMT)封裝的雙頻全球移動(dòng)通信系統(tǒng)(Global System for Mobile Communication,GSM)/GPRS模塊,上位機(jī)框架采用WinForm[4]形式編寫,主要負(fù)責(zé)日照數(shù)據(jù)、全球定位系統(tǒng)(Global Positioning System,GPS)數(shù)據(jù)的遠(yuǎn)程采集以及終端設(shè)備的定位,并且對(duì)數(shù)據(jù)進(jìn)行分析處理。數(shù)據(jù)傳輸(含日照數(shù)據(jù)和GPS數(shù)據(jù))的設(shè)計(jì)采用Socket通信方式完成數(shù)據(jù)通信,由于傳輸?shù)臄?shù)據(jù)量不是很大,但要求數(shù)據(jù)可靠,故采用傳輸控制協(xié)議(Transmission Control Protocol,TCP)進(jìn)行數(shù)據(jù)傳輸,保證傳輸?shù)目煽啃浴2杉瘮?shù)據(jù)時(shí),輸入的端口號(hào)與IP(Internet Protocol)配置正確時(shí),上位機(jī)啟動(dòng),等待接收數(shù)據(jù)。數(shù)據(jù)庫(kù)采用SQL Server 2008設(shè)計(jì)。系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
2系統(tǒng)硬件設(shè)計(jì)
2.1GPRS模塊
系統(tǒng)選擇了SIMCOM公司的SIM900A作為GPRS數(shù)據(jù)傳輸?shù)暮诵哪K,SIM900A模塊傳輸速度一般在20 kb/s左右,本系統(tǒng)采集數(shù)據(jù)的速率大概為2 kb/s,所以SIM900A可以很好地滿足需求。SIM900A出廠默認(rèn)設(shè)置TCP/IP協(xié)議,用戶可以通過(guò)擴(kuò)展的標(biāo)準(zhǔn)指令集輕松地使用該模塊進(jìn)行基于TCP/IP協(xié)議的數(shù)據(jù)傳輸。同時(shí),SIM900A模塊在低功耗和高度節(jié)能方面也非常出色,當(dāng)模塊處于待機(jī)狀態(tài)時(shí),系統(tǒng)電流僅為1 mA。SIM900A支持標(biāo)準(zhǔn)的8線制串行接口,同時(shí)也支持2線制串行接口,便于調(diào)試測(cè)試。SIM900A模塊支持外部SIM卡,直接與3.0 V SIM卡或1.8 V SIM卡連接。模塊自動(dòng)檢測(cè)和適應(yīng)SIM卡類型。SIM卡電路如圖2所示。
2.2GPS模塊
由于日照采集站點(diǎn)要布設(shè)多個(gè),分布廣且數(shù)量多,因此需要將采集站點(diǎn)位置信息發(fā)送給監(jiān)控中心。同時(shí)日照數(shù)據(jù)分析時(shí)也需要采集站點(diǎn)經(jīng)緯度信息。基于成本、開(kāi)發(fā)難度及產(chǎn)品現(xiàn)狀的考慮,系統(tǒng)中采用美國(guó)GPS定位系統(tǒng)作為采集系統(tǒng)的定位模塊。其中,本系統(tǒng)采用UBLOX公司的NEO6M作為日照采集系統(tǒng)GPS模塊接收芯片,這款芯片能夠在偏遠(yuǎn)或信號(hào)較弱的地區(qū)接收到衛(wèi)星信號(hào),定位精度最高可達(dá)2.5 m,能夠很好地滿足本系統(tǒng)的需要;能夠提供較高的時(shí)間脈沖,其提供的脈沖時(shí)間精度能夠達(dá)到15 ns,同時(shí)能夠接收GPS完整信號(hào);具有接收50個(gè)衛(wèi)星信號(hào)通道的功能,能夠接收不同系統(tǒng)的定位信號(hào);接口通信協(xié)議簡(jiǎn)單,易于集成。GPS與STM32模塊的通信[5]是通過(guò)串口實(shí)現(xiàn)的,本系統(tǒng)利用USART接收GPS模塊的經(jīng)緯度信息。GPS模塊及其外圍電路如圖3所示。
2.3日照采集設(shè)計(jì)
2.3.1采集模塊設(shè)計(jì)
日照采集模塊是基于總輻射散射輻射測(cè)量原理實(shí)現(xiàn)日照的自動(dòng)觀測(cè)。日照采集模塊要實(shí)現(xiàn)兩大功能:一是感應(yīng)太陽(yáng)輻射的變化;二是完成數(shù)據(jù)的采集運(yùn)算處理[6]、存儲(chǔ)和傳輸,與STM32芯片進(jìn)行通信。
數(shù)據(jù)采集核心控制電路板以TI公司的MSP430F1611低功耗微處理器為控制核心。MSP430F1611內(nèi)部具有一個(gè)強(qiáng)大的16位RISC CPU、16位的寄存器以及常數(shù)發(fā)生器,能夠最大限度地提高代碼效率;系統(tǒng)在短時(shí)間內(nèi)采集到一定量的數(shù)據(jù)需要緩存,而MSP430F1611的RAM達(dá)到10 KB,足夠提供緩存空間;MSP430F149內(nèi)部帶有12位ADC模塊,可以用來(lái)實(shí)現(xiàn)對(duì)光電感信號(hào)的采集;MSP430F1611系列微控制器工作環(huán)境溫度范圍為-40℃~80℃,能夠適應(yīng)氣象探測(cè)所需求的外界環(huán)境。綜上,其性能指標(biāo)能夠很好地滿足系統(tǒng)需求。
2.3.2光電傳感器原理
光電感應(yīng)元件由濱松高性能光電二極管和特殊透光材料組成。光電二極管能夠?qū)⒐庑盘?hào)轉(zhuǎn)化為電流信號(hào),而且成一定比例關(guān)系。基于總輻射散射輻射測(cè)量原理測(cè)量日照,對(duì)三個(gè)光電感應(yīng)器件排布有特殊要求。三個(gè)光電感應(yīng)元件應(yīng)安放于一個(gè)透明玻璃罩內(nèi),避免外界環(huán)境影響;其中一個(gè)光電感應(yīng)器件用于測(cè)量總輻射,另外兩個(gè)光電感應(yīng)器件分別用于測(cè)量上午和下午的散射輻射,其遮光罩采用特殊的全分天空方式,使二者不能同時(shí)暴露于陽(yáng)光下。
3系統(tǒng)上位機(jī)設(shè)計(jì)
3.1軟件設(shè)計(jì)與流程
上位機(jī)數(shù)據(jù)接收軟件是在Visual Studio環(huán)境下開(kāi)發(fā)的[78],用戶可在該環(huán)境下運(yùn)用不同的程序語(yǔ)言進(jìn)行開(kāi)發(fā)。本設(shè)計(jì)選用了Visual C#2010,它是一種面向?qū)ο蟮木幊陶Z(yǔ)言,它編寫的應(yīng)用程序可運(yùn)行于.NET Framework上。本設(shè)計(jì)的上位機(jī)軟件希望能夠利用多線程去處理下位機(jī)發(fā)來(lái)的日照數(shù)據(jù)和GPS數(shù)據(jù)并且顯示到不同的接收窗口中,在GPS信息窗口通過(guò)將定位的坐標(biāo)轉(zhuǎn)換后調(diào)用百度地圖API實(shí)現(xiàn)位置的顯示,同時(shí)將顯示在上位機(jī)界面的數(shù)據(jù)存放本地計(jì)算機(jī),也可以上傳數(shù)據(jù)庫(kù),本系統(tǒng)采用SQL Server建立數(shù)據(jù)庫(kù)及數(shù)據(jù)表[9]。整個(gè)軟件系統(tǒng)流程圖如圖4所示。
3.2上位機(jī)通信
目前大部分的網(wǎng)絡(luò)數(shù)據(jù)通信都是采用上位機(jī)端和客戶端的形式完成的。這種數(shù)據(jù)通信方式一般通過(guò)兩個(gè)不同的應(yīng)用程序?qū)崿F(xiàn),它們運(yùn)行于不同的機(jī)器上并且通過(guò)建立網(wǎng)絡(luò)連接實(shí)現(xiàn)數(shù)據(jù)傳輸。通常客戶端與上位機(jī)的通信方式一般有兩種形式,一種是HTTP的形式,另一種是基于Socket的方式。HTTP通信方式是客戶端先向上位機(jī)發(fā)起連接請(qǐng)求,然后等待上位機(jī)對(duì)其做出應(yīng)答,此時(shí)客戶端才能與上位機(jī)傳輸數(shù)據(jù),一旦這次數(shù)據(jù)傳輸結(jié)束后就會(huì)自動(dòng)釋放本次連接,下次傳輸數(shù)據(jù)時(shí)客戶端還需要重新與上位發(fā)起連接,再次等待上位機(jī)的應(yīng)答。而Socket通信形式是客戶端發(fā)起與上位機(jī)建立連接的請(qǐng)求后,上位機(jī)處理請(qǐng)求并與之建立連接,一旦連接建立好了之后即可以進(jìn)行數(shù)據(jù)的傳輸,免除了許多拆包、封包等復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)傳輸過(guò)程,采用數(shù)據(jù)流的格式進(jìn)行數(shù)據(jù)的發(fā)送,一旦建立連接后不需要每次向上位機(jī)建立連接請(qǐng)求,并且具有數(shù)據(jù)傳輸準(zhǔn)確率高的優(yōu)點(diǎn),因此 Socket 這種通信模式被廣泛地運(yùn)用于網(wǎng)絡(luò)數(shù)據(jù)的傳輸。本系統(tǒng)就是采用基于Socket通信方式來(lái)完成數(shù)據(jù)通信。本系統(tǒng)服務(wù)器與客戶端之間的通信模型如圖5所示。
Socket的通信模型有兩種[10]:TCP和UDP。TCP(面向連接方式)采用IP流的形式數(shù)據(jù)發(fā)送,數(shù)據(jù)的傳輸過(guò)程當(dāng)中丟包少,傳輸可靠。UDP(無(wú)連接服務(wù))采用數(shù)據(jù)報(bào)文的方式實(shí)現(xiàn)數(shù)據(jù)的收送,不保證數(shù)據(jù)的可靠性。由于本系統(tǒng)傳輸?shù)臄?shù)據(jù)量不是很大,但是要求數(shù)據(jù)可靠,因此為了確保傳輸?shù)目煽啃裕瑴p少丟包,本系統(tǒng)采用了TCP的形式進(jìn)行數(shù)據(jù)的傳輸。
3.3Socket編程
由于本設(shè)計(jì)選用的GPRS模塊內(nèi)部包含TCP協(xié)議,只需要通過(guò)AT指令操作GPRS模塊以TCP客戶端的方式發(fā)送數(shù)據(jù),因此只需要完成上位機(jī)數(shù)據(jù)接收的應(yīng)用程序編寫即可。由于本系統(tǒng)采用的是C#語(yǔ)言來(lái)編寫應(yīng)用程序,里面包含許多網(wǎng)絡(luò)編程所需的類和方法,在編程的過(guò)程中可調(diào)用這些類和方法。首先要實(shí)例一個(gè)Socket對(duì)象[11],設(shè)置其傳輸?shù)母袷胶推鋫鬏攨f(xié)議,然后創(chuàng)建一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)象要包含其IP地址和端口號(hào),再把實(shí)例好的套接字綁定到對(duì)應(yīng)的IP和端口號(hào)上,并開(kāi)始監(jiān)聽(tīng)來(lái)自下位機(jī)的連接,此處要設(shè)置一下監(jiān)聽(tīng)隊(duì)列長(zhǎng)度即同時(shí)處理請(qǐng)求連接的個(gè)數(shù),由于本次只實(shí)現(xiàn)了一個(gè)客戶端,但是上位機(jī)軟件監(jiān)聽(tīng)的客戶端數(shù)量可以自由設(shè)置(為了以后組網(wǎng),方便擴(kuò)展),最后調(diào)用Accept函數(shù)處理客戶的連接,當(dāng)有客戶向服務(wù)器發(fā)起連接的時(shí)候,就會(huì)分配一個(gè)新的套接字,通過(guò)Send和Recv函數(shù)實(shí)現(xiàn)與客戶端之間的通信,循環(huán)接收和送數(shù)據(jù),為了防止掉線,收到數(shù)據(jù)后自動(dòng)回復(fù)內(nèi)容,相當(dāng)于系統(tǒng)已經(jīng)做了心跳處理。
3.4上位機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)
本系統(tǒng)不僅能夠把數(shù)據(jù)實(shí)時(shí)顯示到界面系統(tǒng)上,同時(shí)還能夠把顯示的數(shù)據(jù)實(shí)時(shí)存儲(chǔ)起來(lái),因此需要設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù)來(lái)存放日照數(shù)據(jù)。本設(shè)計(jì)選用微軟公司SQL Server數(shù)據(jù)庫(kù)[12]來(lái)存放數(shù)據(jù)。本程序采用SQL Server 2008R2版本設(shè)計(jì)日照存儲(chǔ)數(shù)據(jù)庫(kù)Sundata。同時(shí)能將數(shù)據(jù)庫(kù)的數(shù)據(jù)同步到上位機(jī)軟件的DataGridView控件中,能夠按照時(shí)間查詢歷史數(shù)據(jù),并且實(shí)現(xiàn)了數(shù)據(jù)導(dǎo)出至Excel表格。導(dǎo)出表格并沒(méi)有采用官方提供的Excel專門類庫(kù),在試驗(yàn)中發(fā)現(xiàn)用此種方法與Office版本及其卸載殘留有很大關(guān)系,經(jīng)常出錯(cuò),移植性不好,所以采用了第三方的NPOI.dll,這樣不會(huì)因計(jì)算機(jī)的Office的不同版本而出現(xiàn)問(wèn)題,便于程序的移植和分析數(shù)據(jù)。
3.5地圖功能實(shí)現(xiàn)
3.5.1GPS坐標(biāo)解析
GPS坐標(biāo)解析輸出數(shù)據(jù)采用的是ASCII碼,內(nèi)容包含了緯度、經(jīng)度、高度、速度、日期、時(shí)間、航向以及衛(wèi)星狀況等信息,常用語(yǔ)句有6 種,包括GGA、GLL、GSA、GSV、RMC 和 VTG。根據(jù)設(shè)計(jì)的需求來(lái)選擇不同的格式,這里采用了常見(jiàn)的GPRMC格式的語(yǔ)句,$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>各個(gè)字符依次代表著不同的信息,根據(jù)需要提取了重要的經(jīng)度、緯度信息,由于上述經(jīng)度、緯度數(shù)據(jù)格式采用的是:度度分分.分分分分(ddmm.mmmm)格式,在程序中通過(guò)編寫函數(shù)將其轉(zhuǎn)化為度的格式,為后面的坐標(biāo)轉(zhuǎn)換提供方便。
3.5.2地圖顯示
上位機(jī)地圖是是利用百度地圖API來(lái)實(shí)現(xiàn)的[13],由于GPS模塊傳來(lái)的GPS信息中的經(jīng)度、緯度信息是真實(shí)的坐標(biāo),利用地圖服務(wù)商提供的地圖顯示偏差會(huì)很大,因?yàn)槭艿絿?guó)家一些法律法規(guī)限制,所有的電子地圖服務(wù)提供商都需要給地圖數(shù)據(jù)加上偏移和加密。所謂的地圖數(shù)據(jù)加密偏移,其實(shí)就是用一個(gè)偏移算法對(duì)地圖的經(jīng)緯度做一個(gè)加減偏移量,從而達(dá)到與實(shí)際地圖不一致。偏移算法本身是沒(méi)有什么規(guī)律可言的,每家地圖服務(wù)商都有一套自己的加密偏移算法,國(guó)內(nèi)地圖應(yīng)用顯示的都不是真實(shí)的GPS坐標(biāo),所以百度對(duì)外提供的坐標(biāo)系是百度自己的坐標(biāo)系,而GPS獲得的是原始坐標(biāo),兩者不在一個(gè)坐標(biāo)系上,所以有很大的誤差,誤差在千米之外,這顯然不能滿足需要。所以必須進(jìn)行坐標(biāo)轉(zhuǎn)換,把兩者換成統(tǒng)一坐標(biāo)系。換成原始GPS坐標(biāo)在國(guó)內(nèi)原則上是違法的,所以只能統(tǒng)一成各個(gè)地圖運(yùn)營(yíng)商自己的坐標(biāo)系,本文選擇百度坐標(biāo)系。
4結(jié)論
針對(duì)目前日照采集作業(yè)通信方式單一、作業(yè)場(chǎng)景有缺陷的問(wèn)題,本文以嵌入式系統(tǒng)為平臺(tái),提出了一種基于 GPRS 的遠(yuǎn)程無(wú)線采集日照數(shù)據(jù)系統(tǒng),對(duì)當(dāng)?shù)亟?jīng)緯度、直接輻射輻照度、日照分鐘累計(jì)、小時(shí)累計(jì)、日累計(jì)等信息采集獲取技術(shù)進(jìn)行了研究,建立了一套現(xiàn)代化的、適合多場(chǎng)合的數(shù)據(jù)采集和處理系統(tǒng)。整個(gè)作業(yè)數(shù)據(jù)采集系統(tǒng)由ARM中央處理器、采集作業(yè)數(shù)據(jù)的相關(guān)傳感器、供電管理電路及GPS模塊、GPRS通信模塊組成。采集的日照數(shù)據(jù)通過(guò)GPRS通信傳送至計(jì)算機(jī),用計(jì)算機(jī)當(dāng)作數(shù)據(jù)中心對(duì)獲取的數(shù)據(jù)信息整合處理。用計(jì)算機(jī)不僅可以實(shí)時(shí)獲取所需要的信息,而且提供了對(duì)已有歷史數(shù)據(jù)查詢的功能。
參考文獻(xiàn)
[1] CARTER E A, CHRISTENSEN D L, 李麗. 全球太陽(yáng)輻射測(cè)量的概況[J]. 氣象科技, 1982,6(5):73-75.
[2] 謝偉. 太陽(yáng)輻射計(jì)技術(shù)分析[J]. 紅外, 2003,12(3):9-15.
[3] 劉火良,楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013.
[4] SOLIS D M.C#4.0圖解教程[M].蘇林,朱曄,等,譯.北京:人民郵電出版社,2011.
[5] 鄭杰,趙敬鳳,王海江,等.基于 STM32 的多功能抄表機(jī)[J].微型機(jī)與應(yīng)用,2016,35(8):79-81, 85.
[6] 楊寧, 惠曉強(qiáng). 微弱信號(hào)高精度數(shù)據(jù)采集技術(shù)研究[J]. 現(xiàn)代電子技術(shù),2013,24 (9):71-73.
[7] MACDONALD M, FREEMAN A, SZPUSZTA M. Pro ASP.NET 4.0 in C#2010[M]. New York: Apress, 2012.
[8] 金旭亮.NET4.0面向?qū)ο缶幊堂嬲剳?yīng)用篇[M].北京:電子工業(yè)出版社,2010.
[9] 秦婧.SQL Server 2012王者歸來(lái)[M].北京:清華大學(xué)出版社,2014.
[10] 劉蓓莉,劉大紅.基于Visual C#的網(wǎng)絡(luò)通信編程技術(shù)[J].電子科技,2013,26(11):151-153.
[11] 謝斌. MS.Net Visual C#在Socket網(wǎng)絡(luò)開(kāi)發(fā)上的應(yīng)用化計(jì)算機(jī)與網(wǎng)絡(luò)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2002,24(10):74-79
[12] 劉俊強(qiáng).SQL Server 2008入門與提高[M].北京:清華大學(xué)出版社,2014.
[13] GPS坐標(biāo)換算為百度坐標(biāo)[EB/OL].(2014-11-17)[2016-11-17]http://www.cnblogs.com/soundcode/p/4104281.html.
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。