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

        ?

        基于ZigBee的分布式彩燈控制系統(tǒng)研發(fā)

        2021-11-05 03:25:24廖映華
        關鍵詞:指令

        皮 浩,石 艷,劉 康,胥 云,廖映華

        (四川輕化工大學機械工程學院,四川 宜賓 644000)

        引 言

        四川的自貢燈會、南京的秦淮燈會、江西的全豐燈會等,不僅是寶貴的非物質文化遺產,更是國家文化軟實力的象征,起著重要的對外文化輸出作用。傳統(tǒng)燈組采用靜態(tài)方式控制光源,即用單色燈泡,將它們統(tǒng)一掛載在電源總線上,放置于燈組輪廓內部位置;燈組接通電源后,光源單色燈泡一并發(fā)光,光亮透過蒙皮,將彩燈藝人設計的燈組造型輪廓烘托出來,給游客視覺體驗。但是隨著時代進步,燈會產業(yè)也要與時俱進和發(fā)展創(chuàng)新,彩燈設計者需要更靈活、更好用的彩燈控制系統(tǒng),以滿足彩燈藝術原始意圖,設計更精美的燈組來吸引游客[1-2]。

        對此,國內外學者開展了一些相關研究。電子科技大學的王誼[3]進行了μCOS-Ⅱ在51 系列單片機上的移植工作,成功實現了控制單顆RGB LED 變色的功能。李美華[4]使用μCOS-Ⅱ進一步控制了多顆RGB LED 變色。北京工業(yè)大學的趙新安[5]提出“輸出陣列”這一概念,為RGB LED 亮色方案向RGB LED 亮色轉碼提供了一種解決思路,使得RGB LED 亮色方案能夠簡單便捷地生成RGB LED 亮色編碼。柳春青等人[6]與四川九洲電器聯合開發(fā)了一套基于DMX512 協議的智能燈光控制系統(tǒng),該系統(tǒng)使用ARM 架構的M3 系列芯片作為主控,具備上位機控制、文件傳輸等功能。西安電子科技大學的王碩強[7]進行了彩燈配色方案無線發(fā)送器的研究,為高樓、距離較遠等情況下的彩燈控制方案提供了借鑒。新加坡南洋理工大學能源研究所Wang、Tan 團隊[8]開發(fā)了一個基于神經網絡映射模型的LED 系統(tǒng),達到節(jié)能和滿足用戶不同照度偏好的目的。Moon 等人[9]提出了一種基于智能手機的LED 照明系統(tǒng)方案,這個特點可以借鑒到彩燈燈組的智能化,增加傳感器模塊和移動設備模塊聯系,實現與游客互動的功能。Wojiech 等人[10],使用ZigBee無線網絡傳感器實現了對一盞可編程燈具的控制??偟恼f來,以上研究在芯片選型、亮色方案編碼、μCOS 任務設計、系統(tǒng)功能設計角度提供了借鑒。其中,Wang[8]設計的光源節(jié)能模型,能為燈組控制系統(tǒng)耗電優(yōu)化提供思路;Moon[9]的方案則結合了手機終端控制和智能模塊,互動性更強。但中國傳統(tǒng)燈會燈組,在光源分布距離、光通量調節(jié)、顏色切換以及工作時間設置上,不同于其他照明系統(tǒng)[11-16],在光通量調節(jié)、顏色切換、控制距離等方面,應有更高的要求,以滿足彩燈設計者意圖,對此類彩燈控制系統(tǒng)需要進一步研究和設計。

        1 總體方案設計

        為實現燈組光源光通量可調、顏色可切換以及工作時間可設置的目的,將彩燈控制系統(tǒng)分為3 層,不同層級內完成不同功能,并通過指令逐層傳遞。其中終端節(jié)點負責光通量調節(jié)、顏色切換功能,協調器實現工作時間設置,統(tǒng)一控制所有節(jié)點工作。這種設計的優(yōu)越性在于系統(tǒng)的穩(wěn)定性高,即當一條鏈路出現問題,整個系統(tǒng)仍然能繼續(xù)工作,不會對彩燈燈組展示效果造成嚴重的損壞。此外,這種設計的接口清晰,升級換代以及規(guī)模拓展更為容易。設計的分布式彩燈控制系統(tǒng)如圖1所示。

        圖1 分布式彩燈控制系統(tǒng)方案

        1.1 硬件工作層

        該層負責彩燈燈組中光源的驅動工作,主要由終端控制節(jié)點和光源兩部分組成。其主要任務是從ZigBee無線局域網絡中,接收來自協調器的控制指令,并根據指令驅動光源進行顏色切換、光通量調節(jié)以及工作時間控制。在硬件工作層,每個終端節(jié)點存儲著各自被控光源所有的顏色方案,即存在一個節(jié)點指令表,使得節(jié)點號與節(jié)點的方案號保持著對應關系。因此,對于整個分布式彩燈控制系統(tǒng),硬件工作層的每個節(jié)點都有一個節(jié)點指令表,共同實現燈組系統(tǒng)光源的所有變化。

        1.2 ZigBee網絡層

        分布式彩燈控制系統(tǒng)ZigBee 網絡采用星型拓撲結構,由各終端節(jié)點和協調器組成。系統(tǒng)的ZigBee 網絡層能自動識別、自動組織加入的終端節(jié)點。ZigBee 模塊在廣播模式下工作,并通過內部宏定義進行節(jié)點間識別。協調器布置在燈組內部中心位置處。終端控制結點群與各自被控光源臨近,布置在燈組輪廓內部需要光源的地方。

        1.3 Internet網絡層

        在Internet 網絡層,協調器與客戶端通過TCP/IP 通信協議進行信息傳遞。協調器工作在彩燈燈組現場,客戶端既可以通過MQTT 遠程控制,也可以在現場工作,控制彩燈燈組的運行。

        2 系統(tǒng)方案實現

        2.1 終端節(jié)點

        本方案采用STM32F103C8T6 單片機作為終端節(jié)點主控核心,使用CC2530 為主控的DL-20 模塊進行組網。每片STM32F103C8T6 成本5 元,DL-20 成本20 元,對應普通燈組的控制規(guī)模,系統(tǒng)硬件成本約800 元,并能回收使用。相比之下,傳統(tǒng)靜態(tài)控制方式的光源系統(tǒng)用后即棄造成浪費。

        2.1.1 節(jié)點硬件

        終端控制節(jié)點的主要任務是驅動RGB LED 工作和接收協調器指令。常見的RGB LED 的驅動協議,其時序碼0、1、RESET 為納秒級別的,很容易受到干擾[17],因此驅動信號與干擾信號要隔離開。按照“高頻電路布中間、干擾信號放外圍”的原則[18],終端節(jié)點PCB設計如圖2所示。

        圖2 終端節(jié)點PCB

        ZigBee 模塊通過串口接口,與主控核心進行數據透傳,主控核心也為ZigBee 提供電源。終端節(jié)點的通用引腳都可以作為RGB LED 的驅動引腳,可以根據燈組控制需要進行裁剪。終端節(jié)點構成如圖3所示。

        圖3 終端節(jié)點實物圖

        2.1.2 節(jié)點軟件

        在Keil uVision5 環(huán)境下,將μCOS-Ⅲ源碼移植至終端節(jié)點工程,并以創(chuàng)建任務模塊的形式對指令接收、協議解析、亮色方案模塊進行代碼組織。終端節(jié)點主要包括指令接收、協議解析、方案任務3大模塊。

        程序通過以下宏定義進行跳轉和判斷,見表1,并在主函數中對METH_NUM進行輪詢。

        表1 開關控制變量

        穩(wěn)定性是彩燈控制系統(tǒng)的核心內容。為提高分布式彩燈控制系統(tǒng)的ZigBee 網絡的穩(wěn)定性,利用“單次發(fā)射數據量與誤碼率成正比”的原理,將每次發(fā)送的指令,拆分成以一個字節(jié)為單位,依次發(fā)送。指令最終在各終端節(jié)點通過隊列完成拼接,即“分段接收,隊列存儲”機制。本次系統(tǒng)的指令由兩個字節(jié)組成。在設備位數為8的情況下,本協議最大容量為256個節(jié)點。

        由于每次發(fā)送的數據短小,ZigBee 模塊的工作載荷壓力小,信號在ZigBee 網絡中能夠維持足夠的強度,提高了終端節(jié)點接收的準確率,從而達到提高系統(tǒng)穩(wěn)定性的目的。系統(tǒng)的指令大小為2 字節(jié),而每次接收到的字節(jié)存儲在隊列中,直到隊滿,進而觸發(fā)協議解析、節(jié)點識別以及光源亮色方案模塊。

        2.1.3 光源亮色方案

        光源亮色方案任務是分布式控制系統(tǒng)進行光源顏色控制、光通量控制的底層具體實現。其數據碼值由4個字節(jié)組成,第一個字節(jié)為地址編號,后3 個字節(jié)為被控RGB LED亮色方案碼值。

        方案任務工作時,將數據碼值的亮色方案碼值按地址順序更新到顯示緩存區(qū),然后調用RGB LED 的驅動函數,根據顯示緩存區(qū)中的內容,在指定管腳,輸出相應的0 碼、1 碼和RESET 信號。亮色方案碼值與RGB LED的顏色控制及光源光通量控制的關系如下:

        (1)顏色控制方面。3 字節(jié)的數據碼值可以組合出256 × 256 × 256 = 16 777 216 種顏色,理論上能夠產生紅、綠、藍、青、黃等顏色,滿足了燈組顏色控制需求。

        (2)光通量控制方面。等比例對WS2812 光源的數據碼值進行整體縮放,WS2812 光源就會發(fā)出相應強度光亮,從而達到光通量控制目的。通俗地說,光源光通量越大,人眼感受越刺眼。

        2.2 協調器

        協調器是連接ZigBee 網絡與Internet 網絡層的橋梁。在ZigBee 局域網中,協調器發(fā)送廣播指令,統(tǒng)一控制系統(tǒng)所有終端節(jié)點,按燈組所需亮色方案工作。在Internet 中,協調器接收客戶端發(fā)送的指令,滿足現場調試或遠程調試功能。

        2.2.1 協調器硬件

        樹莓派以功能豐富且價格便宜而著稱[19]。本次設計選用樹莓派4B+作為協調器,整體裝置如圖4所示。

        圖4 協調器實物圖

        2.2.2 協調器軟件

        協調器軟件的基礎是Linux應用程序編程和網絡編程。Linux應用程序編程利用IO系統(tǒng)調用write()和read()函數進行工作。Linux 網絡編程作為客戶端的服務器,與客戶端連接。協調器指令發(fā)送前,需要以下幾個步驟:

        (1)獲取ZigBee 的設備描述符。Linux 中一切皆文件,通過串口轉USB的ZigBee也是如此。使用open()函數打開ZigBee 模塊,并設置波特率、數據位、校驗位等信息,返回ZigBee模塊的文件描述符資源。

        (2)制作指令表。根據控制的規(guī)模,使用unsigned char 類型數組,順序存儲待發(fā)送指令碼。本次設計的是兩字節(jié)指令,因此偶數位為設備號,奇數位為方案號。

        (3)發(fā)送指令。調用write()函數,將指令表內的數據寫入ZigBee 模塊的文件描述符。并根據節(jié)點工作的時間關系,合理調用sleep()函數進行控制時間設置。

        制作任務驅動模塊中的指令表,是本系統(tǒng)下燈組光源調試人員工作的主要工作內容。彩燈調試人員要將燈組的展示效果,轉換成一條條的控制指令,在協調器程序運行時,發(fā)送這些指令。

        協調器接收客戶端指令時,與客戶端約定端口號進行TCP/IP 通信,并根據客戶端發(fā)送的消息,對終端節(jié)點群發(fā)送ZigBee 廣播指令,進而對燈組光源進行控制。協調器與客戶端之間維持了一個結構體緩存,每次接收到的信息都將刷新這片緩存區(qū)。協調器接收到命令后,解析該指令,并根據查詢表,開辟相應的線程,運行這個指令所對應的任務。每收到一個客戶端指令都將判斷并刷新指令。

        多線程任務有利于資源共享[20],在協調器段維護的指令表會被所有的線程調用到,相對于多進程方法,無需解決進程間通訊等問題,并可通過互斥鎖機制保護臨界資源ZigBee套接字。

        2.2.3 協調器數據庫

        彩燈控制系統(tǒng)的數據庫用以存儲協調器的指令調用記錄,并為系統(tǒng)的后續(xù)功能開發(fā)提供接口。

        SQLite3 在協調器上通過apt-get install sqlite3 命令 完成安裝[21]。 在協調器的程序代碼中,使用sqlite3_open()函數打開數據庫后,每次對終端節(jié)點發(fā)送指令時,調用sqlite3_exec()函數對時間、設備號、指令號信息進行數據庫插入、增添和刪除等操作。

        2.3 客戶端

        系統(tǒng)使用Qt 應用程序框架進行客戶端程序開發(fā)??蛻舳顺绦蚴褂胣etwork 庫完成與協調器之間的連接、斷開和發(fā)送等核心任務。客戶端與協調器約定一個通訊結構體,結構如下所示。

        這個自定義結構體數據主要功能是存儲發(fā)送的指令,也可以存儲數據庫查詢記錄,用于客戶端查詢和顯示。

        客戶端界面設計如圖5 所示,其屬性、名稱及功能,見表2。

        圖5 上位機程序界面

        表2 客戶端界面上各控件名稱、類型及功能

        客戶端后臺的主要功能是發(fā)起連接、斷開連接、發(fā)送協調器指令。

        客戶端后臺邏輯的連接步驟如下:

        (1)新建一個公有繼承于QObject 的類MyControl,統(tǒng)一處理程序中關于連接、斷開、數據發(fā)送、數據接收等指令,信號與槽函數寫在這個類里。

        (2) 將 客 戶 端 界 面 上 的 “ 連 接 ” 按 鈕pushButton_connect 的信號clicked()綁定處理連接的槽函數,在這個槽函數內部,通過connectToHost()對協調器發(fā)起連接請求。

        (3)如果連接成功,則emit()連接成功信號,通知客戶端界面通過setText()設置pushButton_connect 的新名字為“斷開”,并且將“發(fā)送”按鈕激活setEnabled(true),這意味著客戶端已經與協調器建立好TCP/IP連接。

        客戶端后臺邏輯的斷開步驟如下:

        (1) 將 客 戶 端 界 面 上 的 “ 斷 開 ” 按 鈕pushButton_connect 的信號clicked()綁定處理斷開的槽函數,在這個槽函數內部,通過DisconnectToHost()對協調器發(fā)起斷開請求。

        (2)如果斷開成功,則emit()相應信號,通知客戶端界面通過setText()設置pushButton_connect 的新名字為“連接”,并且將“發(fā)送”按鈕激活setEnabled(),這意味著客戶端處于空閑狀態(tài),沒有與任何協調器有連接。

        客戶端界面上的“發(fā)送”關聯發(fā)送信號槽。當點擊發(fā)送,讀取lineEdit 上的數據內容填充至全局緩存,然后通過write()發(fā)送。需要注意的是,每次使用完這個全局緩存,要用memset()將緩存清空,否則在使用時會出現上一次消息的數據。

        3 系統(tǒng)測試

        3.1 基本功能測試

        基本功能測試的目的在于檢驗終端節(jié)點、協調器、客戶端三者之間能否完成工作,指令能否在各層之間傳遞和流動。本次測試采用5 個終端節(jié)點,它們直接受協調器的指令控制,間接受客戶端發(fā)送的指令控制,按照設定發(fā)出相應顏色的光。測試步驟如下:

        (1)分配節(jié)點號

        根據要求,將每個終端節(jié)點的設備設定為不唯一。在Keil uVision5 環(huán)境下,將1 號節(jié)點的MY_NUM 設定為1,依次類推。

        (2)制作方案數據碼值

        此次測試的5個被控光源都是12像素,其各自節(jié)點都存儲了紅、綠、藍、青、黃、紫等常見顏色的數據碼值。其中,紅色方案碼值見表3,其余顏色只需調節(jié)數據碼值的RGB占比即可。

        表3 節(jié)點紅色方案碼值

        (3)制作指令表

        在協調器程序上,制作5 個節(jié)點需要完成的指令表。

        (4)搭建工作環(huán)境

        為5 個終端節(jié)點,連接配置好的ZigBee 模塊,連接各自的被控光源,并為它們接通電源;搭建好協調器工作環(huán)境,配置好協調器ZigBee 模塊,連接上WIFI 局域網,在協調器上運行編寫的線程服務器;在PC 上運行客戶端程序,對協調器發(fā)起連接,建立TCP/IP通信。

        (5)發(fā)送指令

        在打開的客戶端數據輸入框內,輸入指令“zigbeework”,并點擊發(fā)送。

        (6)觀察結果

        觀察終端節(jié)點的光源能否按照想要的方式點亮。各終端節(jié)點的光源,能根據指令發(fā)出相應顏色的光亮,測試效果如圖6 所示。此時光源像素為12,每顆像素30 lm,光源總光通量為12×30 lm×100%=360 lm。

        圖6 各節(jié)點控制結果

        以上測試結果說明,指令能在系統(tǒng)的Internet 網絡層、ZigBee 網絡層以及硬件工作層之間傳遞,Internet 網絡層的客戶端程序能夠控制光源按照設定方式工作。

        3.2 切換時間測試

        切換時間測試,是測試節(jié)點每次接收到完整的有效指令后,節(jié)點方案切換時間是否滿足性能要求,檢驗光源亮色方案任務模塊設計是否合理。測試步驟如下:

        (1)終端節(jié)點接通電源,并連接串口調試助手。

        (2)打開Keil uVision5 軟件,將ST-LINK 連接到終端節(jié)點硬件,點擊“start Debug Session”按鈕,建立仿真連接。

        (3)通過串口助手發(fā)送指令,使用ST-Link并在每個方案開始位置記錄時間。

        仿真后的結果表明,光源亮色方案切換時間約為0.211 s,人眼難以察覺,可以滿足燈組需要。

        3.3 組網距離測試

        組網距離測試實驗,是為了檢驗ZigBee 局域網中ZigBee 模塊的通信能力是否滿足燈組控制的距離需要。測試步驟如下:

        (1)將終端控制節(jié)點布置在1 m、5 m、100 m范圍內,測試控制效果。

        (2)將數據通過ZigBee 送入一個終端控制節(jié)點,運行無線燈帶測試系統(tǒng)。

        (3)將測試方案對應的方案碼值,燒錄進一個測試用終端控制節(jié)點。

        (4)將測試終端節(jié)點連接至光源,并接通電源,等待指令。

        (5)觀察被控節(jié)點有無按照指令變化。測試結果表明,系統(tǒng)穩(wěn)定性好,100 m 范圍內無遮擋下能穩(wěn)定工作,節(jié)點的指令接收模塊有效。并建議系統(tǒng)的節(jié)點分布范圍,在協調器周圍50 m內最佳。

        4 結束語

        使用ZigBee 無線傳感器技術對燈組光源組網,在減少布線麻煩的同時增強光源位置的靈活性,使光源可以放置于燈組內部所需位置。此外,該系統(tǒng)在光通量調節(jié)上裁剪性好,光源可控顏色多,光源顏色切換時間短。

        分布式彩燈控制系統(tǒng)能對光源光通量以30 lm 為單元進行裁剪,并在0~255 范圍內按需調節(jié);光源亮色方案切換時間短,能在0.2 s左右完成切換,人眼無法察覺;系統(tǒng)在100 m 范圍內,正常遮擋環(huán)境下沒有出現誤碼,“分段接收,隊列存儲”機制有效;系統(tǒng)的指令協議支持255個終端節(jié)點組網,且能按需裁剪組網規(guī)模;系統(tǒng)裝置可以回收和反復使用。

        猜你喜歡
        指令
        聽我指令:大催眠術
        ARINC661顯控指令快速驗證方法
        測控技術(2018年5期)2018-12-09 09:04:26
        LED照明產品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        殺毒軟件中指令虛擬機的脆弱性分析
        電信科學(2016年10期)2016-11-23 05:11:56
        巧用G10指令實現橢圓輪廓零件倒圓角
        時代農機(2015年3期)2015-11-14 01:14:29
        中斷與跳轉操作對指令串的影響
        科技傳播(2015年20期)2015-03-25 08:20:30
        基于匯編指令分布的惡意代碼檢測算法研究
        一種基于滑窗的余度指令判別算法
        歐盟修訂電氣及電子設備等產品安全規(guī)定
        家電科技(2014年5期)2014-04-16 03:11:28
        MAC指令推動制冷劑行業(yè)發(fā)展
        汽車零部件(2014年2期)2014-03-11 17:46:27
        一本久道在线视频播放| 毛茸茸性xxxx毛茸茸毛茸茸| 人妻久久999精品1024| 日本高清二区视频久二区| 青青草小视频在线播放| 中文无码精品a∨在线观看不卡| 欧美丰满熟妇bbbbbb百度| 1区2区3区高清视频| 久久久国产精品福利免费| 搞黄色很刺激的网站二区| 免费a级毛片18禁网站| 自慰无码一区二区三区| 免费国产黄片视频在线观看| 精品人妻中文字幕一区二区三区| 国产精品久色婷婷不卡| 成人午夜视频精品一区| 国产AV无码专区久久精品网站| 国产av乳头久久一区| 中文乱码字字幕在线国语 | 国产情侣久久久久aⅴ免费| 日本午夜国产精彩| 蜜桃视频一区二区三区| 少妇高潮惨叫久久久久电影69| 欧美巨大性爽| 亚洲AV秘 无码一区二区在线| 校园春色日韩高清一区二区| 中文在线8资源库| 国产亚洲精久久久久久无码77777| 麻豆国产av尤物网站尤物| 人妻乱交手机在线播放| 99riav国产精品视频| 色妞色综合久久夜夜| 中文人妻AV高清一区二区| 国产又黄又湿又爽的免费视频| 99热在线观看| 中文字幕亚洲无线码在一区| 中文字幕久区久久中文字幕| 精品国产三级a∨在线欧美| 国产在线精品一区二区三区不卡| 亚洲啊啊啊一区二区三区| 亚洲伊人av天堂有码在线|