當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀] 摘要:本文開發(fā)一種基于電力線傳輸媒介的數(shù)據(jù)通信終端,該系統(tǒng)完全兼容HomePlug 標(biāo)準(zhǔn),具有成本低、速度高、保密性好的諸多優(yōu)勢,能夠用于構(gòu)建電力線網(wǎng)絡(luò),實(shí)現(xiàn)諸如視頻點(diǎn)播、VoIP、遠(yuǎn)程監(jiān)控等數(shù)字化、智能化系統(tǒng)

   摘要:本文開發(fā)一種基于電力線傳輸媒介的數(shù)據(jù)通信終端,該系統(tǒng)完全兼容HomePlug 標(biāo)準(zhǔn),具有成本低、速度高、保密性好的諸多優(yōu)勢,能夠用于構(gòu)建電力線網(wǎng)絡(luò),實(shí)現(xiàn)諸如視頻點(diǎn)播、VoIP、遠(yuǎn)程監(jiān)控等數(shù)字化、智能化系統(tǒng)的高速信息交互。網(wǎng)絡(luò)終端可以完成電力線數(shù)據(jù)包和以太網(wǎng)數(shù)據(jù)包的轉(zhuǎn)換,因此便于如同開發(fā)一般以太網(wǎng)應(yīng)用系統(tǒng)一樣地實(shí)現(xiàn)電力線通信的應(yīng)用系統(tǒng)開發(fā)。

  電力線寬帶通信技術(shù)(PowerLine Communication 簡稱PLC)是近幾年來迅速發(fā)展起來的一種新興的利用電力線網(wǎng)絡(luò)作為載體的通信技術(shù)。運(yùn)用嵌入式系統(tǒng)和電力線調(diào)制解調(diào)技術(shù)所構(gòu)建的電力線網(wǎng)絡(luò)通訊終端,人們可以很方便地在辦公室、家庭內(nèi)部、工業(yè)現(xiàn)場輕松地組建起局域網(wǎng)絡(luò),成為智能家庭、分布式工業(yè)過程控制的一種很好的系統(tǒng)構(gòu)造方式,具有廣闊的應(yīng)用前景和市場。本應(yīng)用系統(tǒng)利用電力線終端平臺和路由器構(gòu)建電力線家庭內(nèi)部網(wǎng)絡(luò),實(shí)現(xiàn)家電、安全防范及三表的集中管理;對外通過寬帶連接Internet,遠(yuǎn)程終端通過軟件就可以對家用電器進(jìn)行狀態(tài)查詢和控制。具體的構(gòu)建方式,在每個房間和客廳、廚房中安放一個電力線通訊終端平臺,掛載在電力線上形成家庭內(nèi)部網(wǎng)絡(luò),集中管理所有的電器,同時利用電力線調(diào)制解調(diào)模塊連接路由器,通過ADSL 上網(wǎng)的方式,把整個家庭內(nèi)部網(wǎng)絡(luò)與Internet 交互,使得遠(yuǎn)程終端可以通過Internet 網(wǎng)絡(luò)訪問家庭內(nèi)部局域網(wǎng)。

  一、系統(tǒng)的功能與設(shè)計(jì)

  本應(yīng)用系統(tǒng)實(shí)現(xiàn)的主要功能如下:1) 實(shí)時監(jiān)控客廳中的溫度,比如:在夏天如果超過33 度,系統(tǒng)會主動控制制冷空調(diào)打開;在冬天低于10 度則會打開制熱空調(diào)。2) 住宅安防系統(tǒng)能夠通過連接電力線通訊終端平臺和與之互連的GPRS 上傳安保信息,比如:當(dāng)發(fā)生有人非法進(jìn)入住宅,系統(tǒng)會實(shí)時通過Internet 網(wǎng)絡(luò)向事先設(shè)置的報警接收終端,如110 報警臺、物業(yè)服務(wù)公司監(jiān)控室、業(yè)主辦公室電話或業(yè)主手機(jī)等,發(fā)送預(yù)警信息。3) 主人可以通過遠(yuǎn)程終端訪問家用電器,并且實(shí)行遠(yuǎn)程控制,比如開關(guān)日光燈、打開電飯煲,這樣下班回家后就可以吃到香噴噴的米飯。

  為了實(shí)現(xiàn)上述功能,利用CPU 模塊上LPC2210 的GPIO(通用I/O)口連接繼電器控制家用電器的開關(guān),比如:電飯煲、空調(diào)和日光燈等;利用芯片外部中斷連接安防系統(tǒng),當(dāng)系統(tǒng)報警時觸發(fā)外部中斷通知ARM CPU 使用GPRS 發(fā)送報警信息;同時,在硬件電路上安裝有LED 燈、A/D 轉(zhuǎn)換電路用以實(shí)時測試、顯示當(dāng)前各種家用電器的運(yùn)行狀態(tài)。該應(yīng)用系統(tǒng)涉及到電力線通訊平臺的編程和PC 的編程兩方面。其中CPU 模塊(下位機(jī))作為服務(wù)器端,使用TCP 作為通訊協(xié)議,提供服務(wù)。在服務(wù)器端收到服務(wù)請求后,解析請求,根據(jù)不同的請求做出相應(yīng)的服務(wù)。而PC 作為客戶端發(fā)出服務(wù)請求,并且在收到服務(wù)器的響應(yīng)后把具體內(nèi)容在屏幕上顯示出來。在本例中,客戶端采用Qt 可視化編程環(huán)境。以下,首先介紹Qt 的相關(guān)知識,然后再具體分為服務(wù)器和客戶端具體的對該應(yīng)用設(shè)計(jì)進(jìn)行分析。

  二、Qt 介紹

  Qt 是一個全面的C++應(yīng)用程序開發(fā)框架。它包含一個類庫和用于跨平臺及國際化開發(fā)的工具。Qt 是一個全面的開發(fā)框架,它包括廣泛的特征,性能與工具,可以開發(fā)高性能,跨平臺的客戶端,以及服務(wù)器端的應(yīng)用程序。

  同時Qt 對不同平臺(Unix, Windows, and Mac)的專門API 進(jìn)行了封裝,如文件處理、網(wǎng)絡(luò)(操作,協(xié)議),進(jìn)程處理、線程、數(shù)據(jù)庫訪問等。統(tǒng)一的跨平臺API 讓程序員們集中精力致力于可增值的技術(shù)革新,而無須擔(dān)心維護(hù)和管理現(xiàn)有應(yīng)用程序多版本的基礎(chǔ)結(jié)構(gòu)與界面。Qt 已由成千上成商業(yè)與開放源應(yīng)用程序開發(fā)員,在多個操作系統(tǒng)與編譯器上進(jìn)行了測試,奠定了高性能與資源性應(yīng)用程序的基礎(chǔ)。Qt 無須“虛擬器”,模擬層或大容量的運(yùn)行時間環(huán)境。它如本地化的應(yīng)用程序一樣,直接寫入低級的圖形函數(shù),因而Qt 程序能以源代碼速度執(zhí)行。通過使用 Trolltech 的雙重授權(quán)模式,Qt 在商業(yè)支持并行之有效的框架下,呈現(xiàn)出開放源的所有優(yōu)勢:開放源優(yōu)勢包括一個活動的開放源開發(fā)員社團(tuán)。由于Qt的不間斷開發(fā),以及完整的代碼透明性,允許Qt 開發(fā)員進(jìn)行“徹底深入地查看” ,進(jìn)行自定義并擴(kuò)展Qt 來滿足其獨(dú)特的需求。 商業(yè)產(chǎn)品的擔(dān)保包括客戶認(rèn)可的產(chǎn)品支持,專門的Qt 開發(fā)小組,以及一個第三方工具、組件與服務(wù)的成長生態(tài)體系。

  (1)信號

  當(dāng)某個信號其客戶或所有者發(fā)生內(nèi)部狀態(tài)改變時,信號被一個對象發(fā)射。只有定義過這個信號的類及其派生類能夠發(fā)射這個信號。當(dāng)一個信號被發(fā)射時,與其相關(guān)聯(lián)的槽將被立刻執(zhí)行,就象一個正常的函數(shù)調(diào)用一樣。信號-槽機(jī)制完全獨(dú)立于 任何GUI 事件循環(huán)。只有當(dāng)所有的槽返回以后發(fā)射函數(shù)(emit)才返回。 如果存在多個槽與某個信號相關(guān)聯(lián),那么,當(dāng)這個信號被發(fā)射時,這些槽將會一個接一個地 執(zhí)行,但是它們執(zhí)行的順序?qū)请S機(jī)的、不確定的,我們不能人為地指定哪個先執(zhí)行、哪個后執(zhí)行。信號的聲明是在頭文件中進(jìn)行的,Qt 的signals 關(guān)鍵字指出進(jìn)入了信號聲明區(qū),隨后即可 聲明自己的信號。

 ?。?)槽

  槽是普通的C++成員函數(shù),可以被正常調(diào)用,它們唯一的特殊性就是很多信號可以與其相關(guān)聯(lián)。當(dāng)與其關(guān)聯(lián)的信號被發(fā)射時,這個槽就會被調(diào)用。槽可以有參數(shù),但槽的參數(shù)不能有缺省值。既然槽是普通的成員函數(shù),因此與其它的函數(shù)一樣,它們也有存取權(quán)限。槽的存取權(quán)限決定了誰能夠與其相關(guān)聯(lián)。同普通的C++成員函數(shù)一樣,槽函數(shù)也分為三種類型,即public slots、private slots 和protected slots。

  三、服務(wù)器端

  在本應(yīng)用中,電力線通訊終端平臺連接家用電器作為服務(wù)器端,在實(shí)時顯示用電器狀態(tài)的同時,需要構(gòu)建一個TCP 服務(wù)器來為遠(yuǎn)程終端提供服務(wù),實(shí)現(xiàn)遠(yuǎn)程控制和報警的功能。在基于QF 操作系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧中,由QL4 接口類來實(shí)現(xiàn)對L4 協(xié)議(傳輸層)的解析和處理抽象。本應(yīng)用中需要派生一個QTcp 類,實(shí)現(xiàn)傳輸層的TCP 協(xié)議。[!--empirenews.page--]

  處理抽象。本應(yīng)用中需要派生一個QTcp 類,實(shí)現(xiàn)傳輸層的TCP 協(xié)議。一般基于 TCP 的網(wǎng)絡(luò)應(yīng)用程序都要繼承QTcp 類,然后在ESTABLISHED 狀態(tài)中添加 子狀態(tài)完成特定的功能。在服務(wù)器端,利用量子框架實(shí)現(xiàn)一個QServer 類,是一個活動對象,繼承自QTcp 類。QServer 活動對象同客戶端TCP Socket 連接后,進(jìn)入ESTABLISHED狀態(tài)中,通過調(diào)用Recvfrom 函數(shù)接收客戶端的請求,然后解析請求的服務(wù)類型,根據(jù)不同請求做出不同的服務(wù)。其軟件流程圖如圖1 所示:

圖 1 QServer 活動對象狀態(tài)流程圖

  服務(wù)器端需要提供的具體服務(wù)包括:(1)當(dāng)接收到客戶端打開家用電器的請求是,使用GPIO口發(fā)出電平信號,通過繼電器打開相關(guān)的電器。(2)監(jiān)控客廳中的溫度,在夏天如果超過33 度,則會主動控制制冷空調(diào)打開。在冬天低于10度就會打開制熱空調(diào)。并及時地把空調(diào)開關(guān)的信息通過TCP 協(xié)議傳送給遠(yuǎn)程的終端。(3)當(dāng)有人觸發(fā)了安防系統(tǒng),發(fā)生外部中斷時,使用服務(wù)器向客戶端發(fā)送報警信號。并通過GPRS給110 報警臺、物業(yè)服務(wù)公司監(jiān)控室、業(yè)主辦公室電話或業(yè)主手機(jī)等,發(fā)送預(yù)警信息。

  四、 PC 客戶端

  PC 機(jī)作為遠(yuǎn)程客戶端,主要的工作是向服務(wù)器發(fā)出服務(wù)請求,并且在收到服務(wù)器的響應(yīng)或者報警信號后把收到的具體內(nèi)容在屏幕上顯示以達(dá)到遠(yuǎn)程控制和報警的功能。在本例中,我采用的是Qt 的可視化編程環(huán)境。以下介紹客戶端的具體功能以及實(shí)現(xiàn):在客戶端可視化界面上按下日光燈或者電飯煲按鈕,就可以向服務(wù)器端發(fā)送一個開關(guān)家用電器的請求,在服務(wù)器端收到請求后就會去執(zhí)行;同理,按下A/D 按鈕,就可以發(fā)送一個讀取A/D 的請求,在收到服務(wù)器端采集的A/D 數(shù)值后,客戶端就會在屏幕上顯示;溫度的測量則是每隔兩秒就會發(fā)送一個請求,讀取當(dāng)前的溫度,顯示在屏幕上,并且判斷是否要打開空調(diào),并從服務(wù)器端讀取其狀態(tài)信息,更新空調(diào)的開關(guān)狀態(tài)欄,顯示在文本框中;當(dāng)服務(wù)器端安防系統(tǒng)檢測到有人入侵時,就會向客戶端發(fā)送報警信號,客戶端需要相應(yīng)修改當(dāng)前的安防系統(tǒng)狀態(tài)為報警。[!--empirenews.page--]

  首先使用Qt 的工具Qt Designer 設(shè)計(jì)界面。然后進(jìn)入具體的客戶端編程階段,構(gòu)造一個窗體類為TcpClient 類,具體的軟件編寫如下:

  TcpClient::TcpClient(QWidget *parent)

  : QWidget(parent)

  {

  ui.setupUi(this);

  adsocket= new QTcpSocket(this); //用以傳輸A/D數(shù)據(jù)的TCP通道

  tempsocket= new QTcpSocket(this); //用以傳輸溫度數(shù)據(jù)的TCP通道

  applincesocket= new QTcpSocket(this); //用以控制家用電器的TCP通道

  securitysocket = new QTcpSocket(this); //用以安防系統(tǒng)報警的TCP通道

  QTimer *temptimer = new QTimer(this); //2S的定時器

  connect(temptimer,SIGNAL(timeout()),this,SLOT(temp_update()));

  temptimer->start(2000);

  connect( adsocket,SIGNAL( connected() ),this, SLOT( ad_request() ) );

  connect( adsocket,SIGNAL( readyRead() ), this, SLOT( ad_readresult() ) );

  connect( tempsocket,SIGNAL( connected() ),this,SLOT( lm_request() ) );

  connect( tempsocket,SIGNAL( readyRead() ),this,SLOT( lm_readresult() ) );

  connect(appliancesocket,SIGNAL( connected() ), this,SLOT( appliance_request() ) );

  connect(securitysocket,SIGNAL( readyRead() ),this,SLOT( security_readresult() ) );

  }

  動態(tài)分配四個QTcpSocket(Qt 內(nèi)部對于TCP 協(xié)議的封裝類)對象,分別用該類的對象指針adsocket、tempsocket、appliancesocket、securitysocket 來指向這四個對象。然后定義一個QTimer對象,用來實(shí)現(xiàn)2 秒的定時。接著對一些信號和槽進(jìn)行連接,從而完成各個組件之間的通訊,其中: QTimer 對象的timeout 信號和temp_update()槽連接、adsocket 對象的connected 信號和ad_request()連接,adsocket 對象的readyRead 信號和ad_readresult()槽。同理連接其他的幾個QTckSocket 對象的信號和槽。

  以下,具體描述如何實(shí)現(xiàn)溫度檢測和空調(diào)自動控制的功能(其他功能的實(shí)現(xiàn)類似,就不贅述):(1)定時器每隔2S 觸發(fā)一次,客戶端使用tempsocket 連接服務(wù)器端后發(fā)送測溫請求。(2)接收到服務(wù)器的溫度數(shù)據(jù)后在界面上顯示,并且根據(jù)要求決定是否需要啟動空調(diào)。(3)利用appliancesocket 發(fā)送開啟或者關(guān)閉空調(diào)的命令。并根據(jù)服務(wù)器端的執(zhí)行結(jié)果修改空調(diào)開關(guān)狀態(tài)欄顯示。

  五、結(jié)論

  在實(shí)際的測試中,服務(wù)器端運(yùn)行在實(shí)驗(yàn)室,連接有日光燈、電飯煲和空調(diào)??蛻舳诉\(yùn)行在寢室中。本應(yīng)用在實(shí)現(xiàn)所有功能的基礎(chǔ)上,電力線終端作為服務(wù)器連續(xù)開機(jī)一周,并進(jìn)行高流量的負(fù)荷測試,能夠穩(wěn)定運(yùn)行,所有功能均表現(xiàn)正常,沒有發(fā)生故障。從而驗(yàn)證了本終端的穩(wěn)定性和該智能家居應(yīng)用的可行性。


 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉