999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于無線自組網的燈光照明控制系統設計

2020-06-29 12:13:46
計算機測量與控制 2020年6期
關鍵詞:頁面

(廣東工業大學 機電工程學院,廣州 510006)

0 引言

目前,有線通信網絡已十分成熟,但對于網絡物理線路依賴程度高且其在偏遠未覆蓋或設施損壞的區域卻不能使用,故無線網絡通訊迅速崛起,當下的移動通訊大多需基站支持,而無線自組網技術能夠在沒有固定基站的地方進行通信[1]。

本設計利用自組網以及無線物聯網技術,實現燈光照明系統的無線控制和遠程網絡控制;該系統具有成本低、時延短、功耗低和網絡容量大等優點[2],為智能照明開拓了一個新的發展方向。

1 無線自組網燈光照明控制系統的組成

無線自組網燈光控制系統原理如圖1所示,它包括一臺上位機、ZigBee無線自組網絡和燈光系統。其中,上位機連接ZigBee協調器,無線自組網模塊上傳的數據經ZigBee協調器接收,并與上位機進行通信;上位機控制命令也經ZigBee協調器下發給無線自組網終端模塊[3]。ZigBee模塊包括主機模塊和從機模塊,由一個網絡協調器和若干個從機終端組成星型網絡,網絡協調器與PC機相連,其既要負責自動搜尋網絡中的終端節點,又要從終端節點獲得PC機所需的數據,實現終端節點與上位機之間的通信[4]。

圖1 自組網燈光控制系統示意圖

繼電器控制燈光電路如圖2所示,當自組網終端的輸出信號為高電平時,三極管導通,繼電器通電,其常閉觸點1閉合從而連接了燈具電源,燈具通電;若自組網終端的輸出信號為低電平,三極管不導通,繼電器斷電,燈具也斷電[5]。在本控制系統中,每個自組網終端控制一盞燈,終端加入網絡時由協調器為每盞燈自由分配一個ID,各個節點將收集到的數據通過無線發送到協調器,協調器將數據上傳給上位機。同樣,上位機的控制命令也通過協調器發送給各個自組網終端,從而控制燈光照明系統每一盞燈具的通斷電[6]。

圖2 繼電器控制燈光電路圖

2 無線自組網技術

無線自組網是自制的無線多跳網絡,在沒有基礎網絡設施時仍可提供通信環境,自組網中的所有節點都能與其它節點保持動態聯系,節點能自由移動,網絡中沒有固定的路由器,每個節點都具備路由功能,能夠路由發現并維護其它節點的路由信息;在無線覆蓋范圍局限的環境中,某些節點不能直接通信,而通過其它節點的轉發進行數據通信[7-8]。本設計選用了型號為DL-LN33的無線自組網模塊,具體參數如表1所示。

表1 DL-LN33無線自組網模塊參數

DL-LN33無線自組網模塊上電后會自動組網,模塊工作時,同附近的模塊自動組成無線多跳網絡,即對等網絡,原理上不需要中心節點,通過UART,微控制器MCU或者電腦即可告訴模塊目標地址和待發送數據,模塊選擇最優的路徑,將信息傳輸給目標模塊[9]。本設計選定一個模塊與路由器串口進行有線連接后,作為中心節點給其他網絡范圍內的模塊進行數據傳輸。

3 路由器設計

3.1 硬件設置

使用路由型號為普聯TP-LINK-WR842N第四代版本,此架構為多板分布式加冗余備份,能增強轉發能力,提高路由穩定性,轉發芯片支持對報文兩三層線速轉發,且多片交換芯片間可連接,形成交換矩陣網絡,其原理如圖3所示。微處理器選用高通的QCA9533芯片,路由自帶UART串口輸出,原廠閃存ROM容量為4 M,原廠內存RAM容量為16 M。

圖3 路由器原理圖

3.2 軟件設計

3.2.1 固件編譯與刷寫

切換到Ubuntu終端窗口,進入命令行,輸入sudo-sH,輸入裝系統時設置的用戶密碼,切換到root,切換到root是為了安裝或升級部分必要的組件。切到root后,給系統安裝編譯固件需要使用到的依賴包,使用一條命令:

apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bzip2 libz-dev asciidoc subversion

命令中install后面的為各依賴包名稱,依賴包安裝好后,接下來下載固件源碼進行編譯,直接使用固件的Imagebuilder進行固件的快速生成,下載好Imagebuilder文件程序后,在Imagebuilder文件夾界面運行終端,直接執行make image命令即可在Imagebuilder的根目錄的bin/ar71xx目錄下找到所生成的固件,固件的格式是以.bin的后綴結尾如圖4所示。

圖4 固件的格式示意圖

使用網線連接路由lan口和電腦,瀏覽器打開網址192.168.1.1,進入breed web恢復控制臺,在頁面中固件一欄選擇本文已編譯出的固件上傳更新,利用uboot,以網頁web的形式進行固件的刷寫,待路由刷寫完成并自動啟動完成后,可以通過網頁網址192.168.1.1對路由器進行訪問,也可以使用Putty以SSH的形式登錄到路由的微型Linux系統下進行固件刷寫[10]。

3.2.2 Linux串口調試

串口調試需要用軟件包minicom,因此本設計在Putty界面輸入命令:sudo apt-get install minicom,輸入路由默認密碼admin自動下載安裝,該流程需要路由器在聯網狀態下,本文把該路由器作為二級路由以wan口用網線連接到上一級路由的lan口,二者的網關是不一樣的。使用一個USB轉TTL的模塊TX、RX針分別與路由串口的RX、TX針用杜邦線連接,USB連接電腦,電腦打開SecurCRT軟件,打開外部串口,設置波特率為115 200[11],打開串口,回到Putty的SSH登錄頁面,終端輸入命令:

minicom—D /dev/ttyS0—b 115200

回車進入minicom控制臺,在控制臺輸入字符,如輸入字符“Hello”,對應的字符即可在電腦端的SecurCRT界面上顯示,說明串口調試成功。

3.3 無線自組網模塊控制命令

3.3.1 無線自組網模塊的PC端配置與調試

DL-LN33系列無線自組網模塊以十六進制的格式用串口調試助手發送調試數據包,其配置與調試規則如表2、表3所示。

表2 讀取模塊信息數據包格式

表3 修改模塊信息數據包格式

模塊可以通過Pin4、Pin5號引腳做高低電平的輸出,具體的控制方式是:

0x11命令控制端口輸出高電平

0x10命令控制端口輸出低電平

對于既定已知IP地址的模塊,例如地址為0x01的模塊,使用十六進制格式發送命令“FE 05 90 44 01 00 11 FF”即可對0x01模塊的Pin4引腳作高電平輸出。對于每一個無線自組網模塊,可以獲得兩個引腳的控制輸出。在模塊與所控制的設備在使用不同電源的情況下,需要讓模塊與所控設備作一個共地處理,否則可能會出現輸出電平無法控制的后果。Pin4、Pin5號引腳對應TestTx和TestRx引腳,如圖5所示。

圖5 模塊引腳圖

3.3.2 無線自組網模塊的Openwrt路由端調試

路由器Linux端的調試是使用Putty登錄到路由器的后臺終端頁面。路由器上使用的串口號為“ttyS0”,按Linux的命令規則,向串口發送數據的命令為:

echo ‘xxx’ > yyy

其中xxx為需要發送的數據,yyy為接收數據的設備號。控制命令為:

echo -en 'xFEx05x90x45x06x00x10xFF' > /dev/ttyS0

其中-en 選項為執行命令后不返回信息、不換行,若使數據以十六進制形式發送,只需在每一位數據前加上“x”即可進行轉換。

4 基于Openwrt路由的燈光控制Web頁面的設計

4.1 Web頁面布局

在Openwrt中使用Lua語言實現Html語言的Web頁面布局,根據MVC架構規則,在控制頁面中出現傳入參數,因此建立一個配置文件來存放所傳入的參數,而這個配置文件的目錄位置位于根目錄下的etc下的config文件夾中[12],本設計的燈光控制程序名為:lightcontrol。需要建立4個基礎文件及其目錄分別為:

1)/etc/config/lightcontrol,配置文件內容。

格式為首行固定config lightcontrol,option后跟傳入的參數變量名,引號內是對應變量的值的內容。

2)/usr/lib/lua/luci/controller/lightcontrol.lua,Controller控制器程序定義的配置文件的地址,以及在調用了model下的cbi內的“lightcontrol.lua”模塊,并將入口命名為“無線自組網燈光控制”,“1”為順序優先級。

3)/usr/lib/lua/luci/model/cbi/lightcontrol.lua。

4)/usr/lib/lua/luci/view/admin_system分別建立了lightcontrol1.htm、lightcontrol2.htm、lightcontrol3.htm、lightcontrol4.htm四個html的模塊供調用使用。View下的html文件要求采用常規html網頁編程語言進行編寫,html文件不需使用類似的開頭文件類型的標簽,只需在<%+cbi/valueheader%><%+cbi/valuefooter%> 之間編寫常規html代碼即可。

對ImageBuilder目錄文件進行重新編譯得到新的固件,并刷新路由當前系統,通過web登錄到路由器192.168.1.1后臺得到所設計的基于Openwrt路由的燈光控制web頁面。

4.2 Shell控制腳本語言

在腳本的首行使用命令聲明該腳本需要用到的解析器以及解析器的位置,如:“#!/bin/bash”即說明該腳本需要用到根目錄下的bin目錄下的bash解析器。在聲明之后換行編寫需要執行的命令。

4.3 編寫控制腳本

在ImageBuilder的根目錄的bin文件夾內新建文件夾存放各個頁面中所需要調用的腳本文件。

1)在單個燈光控制頁面中,按鈕按下就調用/bin/classroom中的test1腳本,首先,使用uci命令讀取配置文件lightcontrol里面變量名分別為color1和status1的值,把值分別存放在value1和value2的新的局部變量中,確保自組網模塊四為控制單個燈光的狀態。然后使用if語句對value1和value2的值進行判斷,如果value1值為‘red’,value2值為‘低電平’,則在此使用uci命令將配置文件lightcontrol面變量名分別為color1和status1的值更改為‘green’和‘高電平’,同時向串口發送模塊命令,0x04無線自組網模塊的Pin4輸出高電平,實現同一個按鈕可以同時實現開和關的功能。對于color1的red和green的值,在html模塊中對color1的值進行可讀取,并把讀取到的值作為html編程中font標簽中的顏色參數,以此來實現對反饋狀態的字體顏色的變化。如圖6所示。

圖6 單個燈光控制Web頁面

2)在情景模式控制頁面中,用到的修改配置文件的方式是model頁面參數改變并觸發保存應用,對頁面的參數進行選擇,如情景模式,點擊“保存設置”按鈕,即可修改配置文件中對應變量的值,點擊“應用設置”來調用/bin/meetingroom 中預先編寫好的可執行腳本。

腳本通過讀取配置文件信息,使用if語句進行狀態判斷,從而按需求實現燈光控制。

3)在定時循環開關控制頁面中,實現的是對指定燈光的定時開關。定時循環開關,在預先設定好的時間段內,實現使特定的燈光重復開關的功能,時間段以秒起步,小時封頂。代碼中主要通過判斷預設參數來重新調用預設的循環腳本,其中使用的是while循環。

sleep關鍵字作為延時功能,將讀取到的預設的時間作為sleep的參數,實現在一個循環中延時,如圖7所示。

圖7 情景模式控制Web頁面

定時循環開關控制頁面的定時開/關,區別與定時循環開關功能,該選項的時間設定是絕對時間,表示在指定時間點進行動作,其中可傳入的參數有周、月、日、時、分、秒。Openwrt的計劃任務可以按照指定的時間去執行指定的命令。計劃任務的配置文件位置位于/etc/crontabs/root下,本設計在Shell腳本中把預設的時間參數整合成一條計劃任務命令,將該命令寫入到/etc/crontabs/root中,把編寫好的定時開關的腳本命令為warm_on,放置到目錄/bin/shine_time/下,如圖8所示。

圖8 定時循環開關Web頁面

4.4 編寫控件的觸發功能

在model頁面模塊中的按鈕控件的function函數中設置在點擊按鈕時需要執行的命令,該執行命令為執行預先編寫好的特定目錄下的Shell控制腳本文件。

設計至此,已實現通過路由Web頁面對無線自組網模塊的控制,從而實現對燈光系統的無線遙控。

5 基于frp內網穿透技術的遠程控制

無線遙控僅限于路由器局域網內的控制,如果離開的局域網,便無法實現對燈光的控制。為了解決這個問題,使用開源的內網穿透軟件,脫離局域網也能實現遠程控制的功能。

5.1 申請臨時阿里云ECS作為遠程控制中轉站

服務器中轉訪問是本地設備經由公網上的服務器轉發實現對遠程設備路由器控制頁面的訪問。本文采用 “云服務器”+openwrt路由器+frp(內網穿透軟件)實現這個功能。

5.2 Linux下配置服務端frp server(frps)

在根目錄下新建一個名為frps的文件夾,把下載好的frp軟件中的frps和frps.ini文件拖拽到文件夾中,雙擊frps.ini,修改配置,將bind_port通信端口號設置為7000,并且把使用http訪問頁面的vhost_http_port端口號隨意設置為7007。

使用Putty遠程登錄服務器管理終端頁面,使用cd命令進入frps文件夾,先使用chmod命令給兩個文件賦予權限,即:

chmod 777 frps

chmod 777 frps.ini

再使用nohup命令執行frps服務端程序,并保持在后臺運行,即:

nohup ./frps -c ./frps.ini

運行結果如圖9所示。

圖9 運行結果圖

至此,在遠程Linux下配置frp的服務端完成。

5.3 本地Linux下配置客戶端frp client(frpc)并執行連接

使用Winscp登錄到192.168.1.1本地路由系統文件目錄,在根目錄下新建frpc文件夾,把frp軟件中的frpc和frpc.ini拖拽到文件夾中,雙擊打開frpc.ini,將服務地址更改為我們的云服務器公網地址,服務端口同步為7 000,添加一個web命令塊,type類型為http,本地端口local_port設置為80,custom_domian為域名。

配置保存后,運行Putty登錄本地路由系統終端頁面,使用cd命令進入frpc文件夾,給文件賦予可執行權限后,執行命令:

./frpc -c ./frpc.ini

即可連接到云服務器,在網址中使用公網地址加http端口號,即實現遠程登錄路由頁面并實現遠程燈光控制。

5.4 配置frp開機啟動及手動連接功能

使用內網穿透遠程連接服務器,可實現外網遠程控制,為解決調試中需手動輸入執行連接命令的麻煩,本設計編寫了Shell執行腳本用于路由器開機后便自動執行連接服務器的操作,步驟為:在系統開機后,使用ping命令檢測路由器本身是否已經連接互聯網,如未連接互聯網,則不執行操作;如已連接互聯網,則首先執行連接服務器的命令,等待三秒后對地址47.103.1.231:7007進行檢測是否連通,如已連通,則停止操作。如未連通,繼續返回執行連接命令。對于連接服務器與否,也在web控制頁面中給出狀態反饋。

為了避免系統誤判將未連接當成已連接,而導致無法遠程訪問的現象,本設計特意在控制頁面中上方添加專門為手動連接服務器的按鈕,其原理是在燈控操作按鈕的基礎上,修改其所執行的命令。

6 實驗結果與分析

設計制作軟硬件實物之后,對該燈光控制系統進行了調試檢驗,包括單個燈光的網頁開關控制、燈光組的情景模式開關控制和定時模式下時長、指定時間、指定燈光類型的開關調節,以及遠程頁面訪問控制等。測試結果表明,所設計的系統能夠實現燈光組的控制和調節需求,整個系統運行穩定,實時性好,操作方便,滿足設計要求。該燈光系統的遠程控制臺界面如圖10所示。

圖10 遠程頁面訪問控制

7 結束語

本設計使用Openwrt路由器串口輸出控制無線自組網模塊,通過模塊控制繼電器來控制燈光系統。在路由器控制方面,設計Web控制頁面以及使用Shell腳本語言作為控制程序,并且Web和Shell兩者相聯系形成一個完整的控制系統。在遠程控制方面,采用開源的FRP內網穿透軟件,分別在遠程服務器和本地服務器配置好FRP軟件,從而將本地控制頁面映射到遠程服務器上,實現遠程的頁面訪問控制。該系統具有智能化、功耗低、成本低、時延短等優點,在燈光照明系統中具有較大應用價值。

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 成年人福利视频| 国产精品手机在线播放| 人妻一区二区三区无码精品一区| 亚洲第一色视频| 久久婷婷国产综合尤物精品| 国产精品美女在线| 亚洲精品无码AⅤ片青青在线观看| 成人在线观看一区| 在线精品视频成人网| 国产网友愉拍精品视频| 精品视频在线观看你懂的一区| 成人亚洲国产| 国产性生交xxxxx免费| 欧美激情网址| 欧美性猛交一区二区三区| 成年女人a毛片免费视频| 中文字幕色在线| 国产精品成人一区二区| 亚洲婷婷在线视频| 极品国产在线| 国产成人久久777777| 久久精品视频亚洲| 亚洲成a人片77777在线播放| 国产AV毛片| 亚洲狼网站狼狼鲁亚洲下载| av在线手机播放| 久久www视频| 国产性精品| 色九九视频| 天天躁夜夜躁狠狠躁躁88| 午夜精品久久久久久久99热下载| 亚洲性日韩精品一区二区| 久久国产精品夜色| 亚洲成a∧人片在线观看无码| 国产黄色免费看| 欧美区一区二区三| 国产人成在线视频| 成人福利在线看| 色天天综合久久久久综合片| 97免费在线观看视频| 亚洲一区波多野结衣二区三区| 国产裸舞福利在线视频合集| 日韩精品专区免费无码aⅴ| 2021国产精品自拍| 一区二区在线视频免费观看| 永久成人无码激情视频免费| 成人国产一区二区三区| 亚洲伊人天堂| 日韩无码黄色| 欧美一区中文字幕| 毛片久久久| 国产成人精品亚洲日本对白优播| 久久成人国产精品免费软件| 一级爆乳无码av| 老熟妇喷水一区二区三区| 丰满的少妇人妻无码区| 久青草免费在线视频| 在线视频精品一区| 亚洲国产91人成在线| 午夜毛片免费观看视频 | 国产精品免费露脸视频| 国产精品99一区不卡| 中文字幕第4页| P尤物久久99国产综合精品| 欧美亚洲一区二区三区导航| 四虎影视永久在线精品| 99re经典视频在线| 激情国产精品一区| 97久久免费视频| 98精品全国免费观看视频| 天堂在线视频精品| 国产毛片基地| 亚洲区一区| 99人妻碰碰碰久久久久禁片| 国产AV无码专区亚洲精品网站| 日韩大片免费观看视频播放| 欧美国产日韩另类| 在线观看国产精品第一区免费| 98超碰在线观看| 青草91视频免费观看| 538精品在线观看| 东京热一区二区三区无码视频|