亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多線程的智能家居控制軟件應(yīng)用分析

        2014-03-06 09:40:08袁曉磊張福東李帥華李劍鋒
        河北電力技術(shù) 2014年2期
        關(guān)鍵詞:線程智能家居短信

        袁曉磊,彭 鋼,馬 瑞,張福東,李帥華,李劍鋒

        (國網(wǎng)河北省電力公司電力科學(xué)研究院,石家莊 050021)

        家居的智能化技術(shù)[1-2]涉及到現(xiàn)代信息、網(wǎng)絡(luò)、通信、計算機、自動控制等多項技術(shù)[3-6]。以下提出的智能家居系統(tǒng)是以ARM-Linux嵌入式架構(gòu)為核心主機[7-9],對下通過無線射頻網(wǎng)絡(luò)或RS485網(wǎng)絡(luò)與各家居子系統(tǒng)通信,實現(xiàn)設(shè)備控制和報警信息的采集;對上通過Internet網(wǎng)絡(luò)或GPRS短信接收來自用戶智能手機或平板電腦上運行的終端軟件所發(fā)出的控制指令,上傳報警信息,從而全面實現(xiàn)智能家居的燈光控制、家電控制、情景模式、安防報警等各項功能。在軟件實現(xiàn)上,基于Linux多任務(wù)操作系統(tǒng)在一個進程中多個線程并發(fā)運行,按照功能劃分的不同,每個線程實現(xiàn)一種特定功能;線程間通過全局變量數(shù)組傳遞信息,通過互斥(Mutex)保護共享數(shù)據(jù)的完整性,實現(xiàn)了軟件功能的模塊化以及軟件運行的高效性和實時性。

        1 系統(tǒng)硬件總體架構(gòu)

        智能家居主機共使用了3個CPU,主CPU采用基于ARM核的AT91SAM9263,運行Linux 2.6.3操作系統(tǒng);2個從CPU都采用PIC16F1829。

        主CPU具有片上的以太網(wǎng)控制器和多個異步串行口,通過以太網(wǎng)口接收來自Internet的用戶控制指令;通過串口COM1將用戶的控制指令發(fā)給設(shè)備控制從CPU,進而通過射頻網(wǎng)絡(luò)(如433 MHz)將控制命令傳給各智能控制單元(智能插座、智能開關(guān)、智能電動窗簾、智能電動開窗器等);通過串口COM2與安防系統(tǒng)的從CPU通信,以接收來自射頻網(wǎng)絡(luò)(如315 MHz)的安防報警信息(門磁、紅外、煙感、煤氣泄露等);通過COM3口與GPRS模塊通信,向用戶手機發(fā)送安防報警短信或安防照相機拍照彩信,同時接收設(shè)備控制短信;通過COM4口與安防照相機通信,實現(xiàn)短信召喚拍照功能。智能家居主機系統(tǒng)架構(gòu)如圖1所示。

        圖1 智能家居主機系統(tǒng)架構(gòu)

        2 Linux控制進程架構(gòu)

        基于以上ARM主CPU架構(gòu),在Linux多任務(wù)操作系統(tǒng)上開發(fā)了智能家居控制軟件進程,采用多線程并發(fā)運行方式,共創(chuàng)建了5個線程:主線程(起始線程/433 MHz射頻控制命令發(fā)送)、433 MHz射頻設(shè)備狀態(tài)接收線程、315 MHz射頻安防報警接收線程、UDP控制命令接收/設(shè)備狀態(tài)更新線程、安防報警/短信控制線程。各線程通過進程中定義的int型全局?jǐn)?shù)組變量交換數(shù)據(jù),數(shù)組劃分為3個不同的數(shù)據(jù)區(qū):控制命令區(qū)、設(shè)備狀態(tài)區(qū)、安防報警狀態(tài)區(qū),從而實現(xiàn)控制命令的下傳和報警信息向用戶終端(智能手機或平板電腦)的上傳。Linux控制進程多線程軟件架構(gòu)如圖2所示。

        圖2 Linux控制進程多線程軟件架構(gòu)

        3 系統(tǒng)功能及實現(xiàn)

        3.1 主線程

        主線程是初始線程,由它完成所有硬件的初始化(包括COM1、COM2、COM3、COM4 4個串行口設(shè)置,UDP Socket的設(shè)置)、共享全局變量的初始化(包括控制命令區(qū)、設(shè)備狀態(tài)區(qū)、安防報警狀態(tài)區(qū)),然后創(chuàng)建其它4個線程,最后進入主循環(huán),負責(zé)通過433 MHz無線射頻網(wǎng)絡(luò)向智能控制單元(如智能插座、智能開關(guān)、智能開窗通風(fēng)設(shè)備等)發(fā)送控制指令,其軟件控制流程如圖3所示。

        3.2 433 MHz射頻設(shè)備狀態(tài)接收線程

        設(shè)備狀態(tài)接收線程不斷監(jiān)視并讀取COM1口的串口輸入緩沖區(qū),如果有正確的數(shù)據(jù)幀,進行解析,并將各設(shè)備狀態(tài)(如燈的開關(guān)狀態(tài)、智能插座的通斷狀態(tài)等)存入共享全局變量數(shù)組的設(shè)備狀態(tài)區(qū),供UDP狀態(tài)上報線程讀取并發(fā)往用戶終端。線程的軟件流程如圖4所示。

        3.3 315 MHz射頻安防報警接收線程

        安防報警狀態(tài)接收線程不斷監(jiān)視并讀取COM2口的串口輸入緩沖區(qū),如果有正確的數(shù)據(jù)幀,進行解析,并將各安防報警狀態(tài)(如門磁、紅外、煙感、燃氣泄露等)存入共享全局變量數(shù)組的安防報警狀態(tài)區(qū),供UDP狀態(tài)上報線程讀取并發(fā)往用戶終端。線程的軟件流程如圖5所示。

        圖3 主線程軟件控制流程

        圖4 433 MHz射頻設(shè)備狀態(tài)接收線程軟件流程

        3.4 UDP控制命令接收/設(shè)備狀態(tài)更新線程

        UDP控制命令接收線程不斷監(jiān)視并讀取UDP Socket的輸入緩沖區(qū),如果有正確的數(shù)據(jù)幀,進行解析,并將控制命令存入共享全局變量數(shù)組的控制命令區(qū),供主線程讀取并通過433 MHz射頻對各類家居設(shè)備實施控制;另外,每隔固定間隔,通過UDP Socket寫入設(shè)備狀態(tài)幀,由遠方智能終端接收后完成用戶界面設(shè)備狀態(tài)的更新。線程的軟件流程如圖6所示。

        圖5 315 MHz射頻安防報警接收線程軟件流程

        圖6 UDP控制命令接收/設(shè)備狀態(tài)更新線程軟件流程

        3.5 安防報警/短信控制線程

        安防報警/短信控制線程定時讀取共享全局變量數(shù)組的安防報警狀態(tài)區(qū),并通過GPRS調(diào)制解調(diào)模塊SIM900短信發(fā)往用戶智能終端;同時,該線程也讀取來自用戶終端的短信命令,寫入公共內(nèi)存的命令區(qū),供主線程讀取、執(zhí)行,如用戶命令為彩信拍照,則通過COM4口啟動安防照相機拍照,將圖像數(shù)據(jù)通過SIM900以彩信的方式發(fā)往用戶手機。線程的軟件流程如圖7所示。

        圖7 安防報警/短信控制線程軟件流程

        3.6 線程間共享數(shù)據(jù)保護

        在控制進程中,多個線程有可能并發(fā)訪問共享數(shù)據(jù)區(qū),為了保護數(shù)據(jù)的完整性,采用了互斥(Mutex)機制保證同時只能有一個線程對共享數(shù)據(jù)區(qū)進行讀寫操作。

        在進程中使用了靜態(tài)分配的互斥量,其定義及初始化代碼如下:

        在各線程中,訪問共享數(shù)據(jù)前,首先調(diào)用pthread_mutex_lock函數(shù),對互斥量加鎖,然后再對共享數(shù)據(jù)進行訪問,訪問結(jié)束,調(diào)用pthread_mutex_unlock函數(shù),對互斥量解鎖,其它線程才可對共享區(qū)訪問,保證數(shù)據(jù)的完整性。

        共享區(qū)訪問代碼如下:

        4 應(yīng)用情況及效果

        該軟件結(jié)構(gòu)構(gòu)成的核心主機,配套相應(yīng)的智能家居外圍設(shè)備,已在石家莊某樓盤實施應(yīng)用。實施規(guī)模為60套房(2個單元,每個單元30套),每套房安裝智能開關(guān)、智能插座等433 MHz射頻控制設(shè)備和門磁、紅外、煙氣、煤氣等315 MHz射頻安防報警模塊,每戶安裝安防彩信照相機一部,每戶配主機一部,通過路由器接入Internet。

        為了測試運行效果,在主機上運行了測試程序用于統(tǒng)計設(shè)備控制、短信報警、彩信報警的成功率(對于設(shè)備控制,收到被控設(shè)備反饋為成功,否則為失?。粚τ诎卜缊缶?,報警信息發(fā)出后收到用戶終端反饋為成功,否則為失?。?。經(jīng)過1年的運行,合并各主機的統(tǒng)計結(jié)果,得出數(shù)據(jù)如下:設(shè)備控制成功率>99.5%;短信報警成功率>99.6%;彩信報警成功率>99.1%。

        由此可見,智能家居系統(tǒng)在該小區(qū)實際應(yīng)用中運行穩(wěn)定,設(shè)備控制、安防報警成功率高于99%,設(shè)備運行可靠。

        5 結(jié)論

        智能家居控制軟件基于ARM-Linux構(gòu)架,充分利用了操作系統(tǒng)的多任務(wù)能力,采用多線程并發(fā)運行方式,充分利用了CPU硬件資源,軟件運行效率更高,對用戶命令的響應(yīng)以及狀態(tài)更新更加實時。Mutex機制保證了線程間共享數(shù)據(jù)的完整性,系統(tǒng)軟件運行穩(wěn)定可靠。與當(dāng)前智能家居、安防同類產(chǎn)品相比,該軟件構(gòu)架有以下優(yōu)點:

        a.軟件構(gòu)架在開發(fā)階段采用了統(tǒng)一可復(fù)用結(jié)構(gòu)[10],無縫融合了包括射頻網(wǎng)絡(luò)、串口網(wǎng)絡(luò)、以太網(wǎng)在內(nèi)的各種不同網(wǎng)絡(luò);軟件采用模塊化結(jié)構(gòu),擴展性強,不同線程負責(zé)不同功能,不同設(shè)備的通信代碼按相同標(biāo)準(zhǔn)編寫成庫函數(shù),可重復(fù)調(diào)用,設(shè)備信息、狀態(tài)信息在公共內(nèi)存區(qū)以關(guān)系數(shù)據(jù)庫形式存在,為用戶終端的客戶端界面進行自由設(shè)備組態(tài)打下了堅實基礎(chǔ)。

        b.基于多線程的并發(fā)運行機制,使用一個SIM卡完成了短信報警、短信控制、彩信報警等多種功能,減少了電信資費,為用戶提供了方便。

        c.該軟件結(jié)構(gòu)在智能家居控制的實際應(yīng)用中,性能穩(wěn)定、功能可靠、擴展性強。

        [1] 周 洪,胡文山,張立明,等.智能家居控制系統(tǒng)[M].北京:中國電力出版社,2006.

        [2] 馬鴻雁,張少軍,張瓊霖.無線網(wǎng)絡(luò)的智能家居中的應(yīng)用[J].北京建筑工程學(xué)院學(xué)報,2004,20(4):31-35.

        [3] 焦尚彬,宋 丹,張 青,等.基于ZigBee無線傳感器網(wǎng)絡(luò)的煤礦監(jiān)測系統(tǒng)[J].電子測量與儀器學(xué)報,2013,27(5):436-442.

        [4] 李 源,祁 欣.基于GPRS的地表水遠程在線監(jiān)測系統(tǒng)研究[J].電子測量技術(shù),2013,36(12):118-122,128.

        [5] 周 偉,石為人,張洪德,等.無線傳感器網(wǎng)絡(luò)的分布式目標(biāo)跟蹤研究[J].儀器儀表學(xué)報,2013,34(7):1485-1491.

        [6] 孫 偉,王建平,穆道明,等.基于服務(wù)質(zhì)量的無線傳感器網(wǎng)絡(luò)MAC協(xié)議模型研究[J].電子測量與儀器學(xué)報,2013,27(4):372-380.

        [7] 林 濤,耿 壯.多線程技術(shù)在嵌入式數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].自動化博覽,2006,23(1):49-50.

        [8] 田 澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程[M].北京:北京航空航天大學(xué)出版,2005.

        [9] 馬春鳴.基于ARM處理器的嵌入式系統(tǒng)實現(xiàn)[M].北京:北京郵電大學(xué),2005.

        [10] 胡 婷,于成銘.基于平臺化的數(shù)據(jù)采集分析系統(tǒng)的設(shè)計與實現(xiàn)[J].國外電子測量技術(shù)2013,32(12):87-90.

        猜你喜歡
        線程智能家居短信
        道歉短信
        基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
        電子制作(2018年1期)2018-04-04 01:48:28
        代發(fā)短信
        淺談linux多線程協(xié)作
        關(guān)于智能家居真正需求的探討
        智能家居更貼心
        基于LD3320的智能家居控制
        河南科技(2014年7期)2014-02-27 14:11:13
        Linux線程實現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        “八一”節(jié)日短信之一
        在线观看亚洲av每日更新影片| 国产精品综合久久久久久久免费| 国产美女亚洲精品一区| 极品粉嫩嫩模大尺度视频在线播放| 亚洲另类无码专区首页| 亚洲国产韩国欧美在线| 91精品啪在线观看国产色| 国产超碰在线91观看| 美女扒开大腿让男人桶| 综合无码一区二区三区| 精品国产一区二区三区亚洲人| 日韩va高清免费视频| 亚洲综合欧美色五月俺也去| 国产成人精品日本亚洲11| 亚洲精品成人av观看| 亚洲国产精品成人一区二区在线| 亚洲欧美日韩综合一区二区| 亚洲欧美日韩精品久久亚洲区| 天堂最新在线官网av| 日本免费大片一区二区三区 | 亚洲女人被黑人巨大进入| 亚洲天堂无码AV一二三四区 | 浪荡少妇一区二区三区| 亚洲一区二区三区免费的视频| 亚洲欧美日韩综合一区二区 | 无码国产色欲xxxx视频| 亚洲熟妇无码av不卡在线播放| 日本一区二区三区在线| 国产成人精品一区二三区孕妇| 大肉大捧一进一出视频| 亚洲AV无码一区二区三区ba| 日本精品av中文字幕| 国产a∨天天免费观看美女| 成人免费毛片内射美女-百度| 涩涩国产在线不卡无码| 亚洲一区二区三区高清在线观看| 亚洲av午夜福利精品一区二区 | 亚洲av永久无码精品古装片 | 免费国产黄线在线播放| 亚洲一区二区三区四区精品| 色综合久久久久综合99|