• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    關于openHAB智能網關的技術研究

    2014-06-21 11:54:44鐘良驥桂學勤厲陽春趙君喆
    湖北科技學院學報 2014年9期
    關鍵詞:源碼網關智能家居

    鐘良驥,桂學勤,厲陽春,趙君喆

    (湖北科技學院 計算機科學與技術學院,湖北 咸寧 437100)

    “智能家居”,利用計算機技術、嵌入式技術、網絡通訊技術和傳感器技術等,將家庭中各種設備(照明系統(tǒng)、環(huán)境控制系統(tǒng)、安防系統(tǒng)、智能家電等)有機的連接到一起。智能家居讓用戶方便的控制電器設備,根據場景設定設備的工作模式,使設備采用互通方式進行管理。

    目前,國內智能家居產品基于有線或集中通信方式,系統(tǒng)成本高,部署周期長,維護不方便,較難適應當前的發(fā)展形式。隨著人們生活水平的提高,對智能家居系統(tǒng)的要求也不斷提高,如何實現(xiàn)家庭設備網絡化無線管理,是智能系統(tǒng)的首要問題。本文基于pcduino開發(fā)板,搭建openhab服務器,實現(xiàn)網絡化、簡單、方便的電氣設備控制系統(tǒng)。

    一、網關總體設計

    中控系統(tǒng)主要包括Cortex A8處理器的 pcduino開發(fā)板(家庭網關)、 Zigbee協(xié)調器、WiFi模塊、Zigbee節(jié)點設備(如門磁開關、燈光繼電器、紅外探測器、煙霧傳感器等),結構如圖1所示。在A8中移植openhab服務器,作為網關,負責設備的管理以及遠程監(jiān)控。設備通信采用Zigbee無線傳感網絡,因此網關需要保存通信數(shù)據,并對Zigbee無線傳感網絡進行數(shù)據處理。 網關上的Zigbee協(xié)調器,負責Zigbee內部網絡的設備管理與控制。WiFi模塊訪問無線路由器,完成與以太網的連接, 實現(xiàn)內部網絡與Internet的通信。

    圖1 系統(tǒng)示意圖

    二、網關硬件設計

    網關硬件有處理器A8模塊,Zigbee模塊,以太網模塊,IDE接口模塊,USB接口模塊,NAND FLASH模塊,I/O模塊,JTAG模塊,串口調試模塊等。其中,Zigbee模塊用來連接內部智能家居網絡;以太網模塊用來連入Internet;IDE 接口模塊用來接IDE硬盤,USB主接口用來接即插即用USB設備,如 U盤、USB攝像頭等,SD卡模塊用來外接SD卡,NAND FLASH模塊為系統(tǒng)提供FLASH存儲空間;USB從接口模塊傳輸速率遠大于串口和JTAG接口,可以用來下載大容量的固件程序或數(shù)據;串口模塊用作系統(tǒng)輔助調試;JTAG模塊用來下載小容量的固件程序以及在線調試;I/O模塊用作系統(tǒng)控制臺,提供人機接口。

    1.處理器模塊

    處理器是嵌入式網關的核心,為達到較高的性能,采用pcduino開發(fā)板:內置32位RISC指令集,采用ARM Cortex A8內核,主頻1GHz、內存1GB;擴展接口有2.54mm Headers兼容Arduino;具有以太網RJ45接口,可擴展 USB WiFi;支持Ubuntu或者Android4.0兩種操作系統(tǒng);內置大量API,包括UART、ADC、PWM、GPIO、I2C等;并支持C, C++with GNU tool chain和Java with standard Android SDK等編程語言。

    圖2 網關

    2.Zigbee組網模塊

    系統(tǒng)采用Zigbee無線通信技術,組建設備的星形網絡。網關內置一個Zigbee模塊,作為網絡協(xié)調器,負責各子傳感器節(jié)點的通信管理、動態(tài)組網與數(shù)據傳輸。Zigbee終端節(jié)點,主要包括家庭內部網絡中的門磁開關、紅外對射探測器、玻璃破碎探測器、火災探測器以及煙感和燃氣泄露探測器等。方案中,Zigbee采用的芯片是DRF1605H,是一款低成本、低功耗、寬電壓、工作頻率2.4GHz、基于IEEE 802.15.4協(xié)議開發(fā),支持Zigbee 2007 Pro 協(xié)議棧,可應用在LED 路燈、辦公場所及家庭、工業(yè)等無線控制及無線數(shù)據傳輸領域。

    3.WiFi通信模塊

    WiFi模塊負責網關的Internet連接,采用USR-WIFI232-L芯片。該芯片集成了MAC,基頻芯片,射頻收發(fā)單元,以及功率放大器;嵌入式的固件支持WiFi協(xié)議及配置,以及組網的TCP/IP協(xié)議棧。通過該芯片,傳統(tǒng)低速串口設備,均可以方便的接入WiFi無線網絡,從而實現(xiàn)互聯(lián)網絡控制與管理;其次,該芯片針對低流量、低頻率的網絡數(shù)據傳輸有很大優(yōu)勢;此外,該芯片集成了所有WiFi的功能,模塊尺寸小,采用表貼封裝,可內嵌在產品的硬件PCB單板電路上,并配備內置天線、外置天線連接器,以及一個板載接口。

    三、軟件平臺設計

    網關基于ubuntu操作系統(tǒng),軟件部署的主要步驟包括:系統(tǒng)裁剪與編譯、java交叉編譯環(huán)境配置、openhab服務器的安裝和部署。

    1.系統(tǒng)移植

    按照傳統(tǒng)的開發(fā)方法,需要下載交叉編譯器,設置環(huán)境變量等問題。在pcduino上搭建步驟如下:

    (1)安裝ubuntu系統(tǒng);

    (2)更新系統(tǒng):sudo apt-get upgrade # ;

    (3)安裝交叉編譯器,設置編譯環(huán)境:sudo apt-get install g++-arm-linux-guneabihf #;

    其次,構建pcDuino系統(tǒng)所有的源碼都在https://github.com/pcduino/kernel里面,需要安裝git,然后下載相關源碼。

    (4)下載、安裝git工具:sudo apt-get install git-core #;

    (5)下載源碼,大概有2G左右,執(zhí)行:git clone https://github.com/pcduino/kernel.git #;

    (6)內核源碼在linux-sunxi目錄下,執(zhí)行:make mrproper;

    (7)Linux內核源碼的圖像化界面基于ncurses庫,需要安裝該庫,執(zhí)行命令:

    sudo apt-get install libncurses5-dev;

    (8)安裝結束后,切換到/home/pillar/WORK/kernel/build/sun4i_defconfig-linux/下

    “make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm menuconfig”,可以看到Linux內核配置界面了,如圖3,配置完成后保存退出。

    圖3 內核配置界面

    2.java環(huán)境的交叉編譯

    在pcduino上安裝java環(huán)境,需要下載java的安裝文件,它有專門針對arm芯片的版本(下載地址:http://www.oracle.com/technetwor ... s/javase/index.html)。這里有好幾個文件,注意是要下這個才行:ejre-7u10-fcs-b18-linux-arm-vfp-client_headful-28_nov_2012.tar.gz。

    第一步:解壓,命令如下:tar -zxvf ejre*.tar.gz。

    改變權限:chown -R root:root ./ejre1.7.0_10

    創(chuàng)建一個新的目錄:mkdir -p /usr/lib/jvm/,這個目錄是java的虛擬機的位置。

    把解壓的文件拷貝進去:mv ejre1.7.0_10/ /usr/lib/jvm/

    第二步:安裝arm支持,執(zhí)行:sudo apt-get install -y libc6-armel libsfgcc1

    第三步:安裝后續(xù)支持包。首先下載下來,地址如圖4:

    圖4 下載地址

    然后,把這些文件下載到一個目錄中,cd到這個目錄,安裝后,執(zhí)行:sudo dpkg --unpack --force-architecture lib*

    第四步:拷貝tools.jar文件,在http://processing.org/download/ 下載一個processing-2.0b7-linux32,然后找到里面processing-2.0b7javalib ools.jar文件,把這個文件拷貝到java_home/lib中。執(zhí)行命令:sudo cp java/lib/tools.jar /usr/lib/jvm/ejre1.7.0_10/lib/

    第五步:設置環(huán)境變量在/etc/profile 文件中加入:

    JAVA_HOME=export JAVA_HOME=/usr/lib/jvm/ejre1.7.0_10

    PATH=$PATH:$JAVA_HOME/bin

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export JAVA_HOME

    export PATH

    export CLASSPATH

    第六步:修改java文件為可執(zhí)行,命令如下:

    cd java_home/bin

    chmod 777 java

    通過上述環(huán)境配置,java的編譯環(huán)境搭建完成,可以通過java程序測試一下。

    3.openHAB的安裝與配置

    openHAB系統(tǒng),是一個開放的自動化項目,采用純Java技術方案。Equinox的OSGi與Jetty,一起作為Web服務器運行的核心基礎。系統(tǒng)設計完全開放,匯集不同的總線系統(tǒng),硬件設備、以及接口協(xié)議;系統(tǒng)允許用戶界面設計,具有獨特的外觀和感覺,同時具有強大的自動化邏輯處理能力。此外,系統(tǒng)通過協(xié)議綁定,實現(xiàn)總線的事件發(fā)送、接收命令和狀態(tài)更新。系統(tǒng)結構示意圖如圖5。

    圖5 openHAB系統(tǒng)結構示意圖

    openHAB采用中間件技術,內置一套建立在傳輸層以上的協(xié)議轉換機制,支持數(shù)據雙向傳遞(即網關接收到節(jié)點發(fā)來的監(jiān)測數(shù)據后,預處理形成消息交給消息代理,由消息代理轉給管理應用;而管理應用收到用戶的設置參數(shù)或控制命令后,形成消息傳遞給消息代理,再由消息代理發(fā)給網關節(jié)點)。協(xié)議轉換的中間件,既是消息的提供者,也是消息的使用者。中間層為消息代理,完成消息的路由功能,分別接收管理應用、網關節(jié)點發(fā)來的消息,然后進行轉發(fā),使管理應用與監(jiān)測網絡的網關間實現(xiàn)數(shù)據交互。如圖6。

    底層為多個Zigbee監(jiān)測網絡,負責監(jiān)測數(shù)據的采集與控制。每個Zigbee監(jiān)測網絡有一個網關節(jié)點和若干的數(shù)據采集節(jié)點。監(jiān)測網絡采用星型結構,網關節(jié)點作為每個監(jiān)測網絡的基站。網關節(jié)點具有雙重功能,一是充當網絡協(xié)調器的角色,負責網絡的自動建立和維護、數(shù)據匯集;二是作為監(jiān)測網絡與中間層交互的接口,與中間層的消息代理傳遞消息。

    圖6 中間件

    上層為openhab服務器,作為人機接口,實時顯示各個Zigbee監(jiān)測網絡的監(jiān)測數(shù)據;接收用戶的各種設置參數(shù)和控制命令。

    基本流程:外部節(jié)點由Zigbee星型網絡組成,家中電器開關狀態(tài)和傳感器的控制信息在網絡中自由傳輸,經由協(xié)調器傳送至openhab服務器的網關,再由網關通過WiFi經無線路由連接到外部以太網,用戶可以通過遠程用戶界面端了解家中電器狀態(tài);家庭網關可以通過無線網絡對遠程用戶的控制命令作出判斷和響應,從而開啟或關閉家中的電器。

    關于openHAB安裝、配置以及協(xié)議綁定的具體操作如下:

    (1)用git工具在網站下載系統(tǒng)源碼(https://github.com/openhab/openhab),然后創(chuàng)建一個openHAB文件夾。

    (2)下載并安裝Yoxos(https://yoxos.eclipsesource.com/downloadlauncher.html),該軟件包含超過2,000 Eclipse插件,Yoxos發(fā)射器可以自動下載所有的插件和所需的依賴,能快速部署軟件運行環(huán)境。

    (3)創(chuàng)建java工作環(huán)境,選擇openhab的項目文件,并導入工作區(qū),選擇openHAB文件夾為根目錄。

    (4)編譯運行代碼,生成部分的openhab,找到項目“org.openhab.model.codegen”,準備啟動該文件。選擇“運行-> x產生ABC模型”,按照順序完成相關操作。其中,在第一個代碼生成時,會提示是否下載“ANTLR文件”,選擇“Y”。

    (5)一般來說,項目文件在編譯后,都不會有錯誤。如果出現(xiàn)錯誤標記,嘗試“清除”有關的項目。

    (6)協(xié)議綁定,基于設備通信方式,通常綁定串口協(xié)議。

    四、結語

    本文提出無線智能網關的設計和實現(xiàn)方案,采用低功耗pcduino核心板、Zigbee協(xié)議作為內網通信方式、TCP/IP協(xié)議棧的WiFi模塊為網絡的數(shù)據出口,以openhab服務器為網關,克服了傳統(tǒng)網關架構下Zigbee傳輸速率較低的瓶頸,利用WiFi和Zigbee全網無線無縫連接。系統(tǒng)測試結果是:該系統(tǒng)可靠性高、協(xié)議轉換效率高,抗干擾能力強,同時具有很好的通用性,適合智能家居、工業(yè)控制等領域的技術應用。

    參考文獻:

    [1]彭建,崔更申,陳約林.Zigbee無線網絡協(xié)議層在Linux系統(tǒng)中的構建[J].傳感器與微系統(tǒng),2007,26(8):69~71.

    [2]胡彧,楊琳.基于自定義家電管理協(xié)議的家庭Web網關實現(xiàn)[J].計算機工程,2009,35(5):271~274.

    [3]黃麗瑩.骨干無線網狀網的排隊延遲性能研究[J].計算機應用,2009,29(8):2 179~2 182.

    猜你喜歡
    源碼網關智能家居
    基于網頁源碼結構理解的自適應爬蟲代碼生成方法
    計算機應用(2023年6期)2023-07-03 14:11:56
    基于圖神經網絡的軟件源碼漏洞檢測方法
    計算機時代(2023年6期)2023-06-15 17:49:09
    企業(yè)如何保護源碼
    基于改進RPS技術的IPSEC VPN網關設計
    基于Zigbee的無線通信技術在智能家居中的應用
    電子制作(2018年1期)2018-04-04 01:48:28
    基于數(shù)據結構教輔系統(tǒng)的實驗課程改革
    計算機教育(2016年4期)2016-05-20 02:36:05
    關于智能家居真正需求的探討
    LTE Small Cell網關及虛擬網關技術研究
    移動通信(2015年18期)2015-08-24 07:45:08
    應對氣候變化需要打通“網關”
    太陽能(2015年7期)2015-04-12 06:49:50
    智能家居更貼心
    科學生活(2015年3期)2015-01-03 09:41:18
    苏尼特右旗| 田阳县| 若羌县| 涟水县| 张掖市| 新泰市| 连南| 新巴尔虎右旗| 奉节县| 灵璧县| 新昌县| 高邑县| 龙南县| 郓城县| 顺义区| 定襄县| 贺州市| 离岛区| 麻栗坡县| 南丹县| 哈尔滨市| 江永县| 唐海县| 都兰县| 吉林市| 永城市| 贵阳市| 精河县| 西乡县| 泽库县| 景洪市| 湟源县| 开远市| 雅安市| 县级市| 奉节县| 乌兰浩特市| 溆浦县| 嘉荫县| 谢通门县| 马边|