国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多平臺(tái)的燈光智能控制系統(tǒng)的設(shè)計(jì)

2017-07-16 21:04徐嘉順鄭艷華陳苑冰陳巖峰葉彤
中國(guó)新通信 2017年11期
關(guān)鍵詞:物理層串口網(wǎng)頁(yè)

徐嘉順+鄭艷華+陳苑冰+陳巖峰+葉彤

【摘要】 利用微信平臺(tái)設(shè)計(jì)了基于微信和網(wǎng)頁(yè)為平臺(tái)的燈光控制系統(tǒng)。實(shí)現(xiàn)了不受地域阻礙,能夠?qū)崟r(shí)地控制與了解燈光情況。在安全性方面,配有網(wǎng)頁(yè)版的用戶權(quán)限管理界面,只有管理員才可以根據(jù)需要分配權(quán)限。微信用戶關(guān)注本系統(tǒng)的公眾號(hào)后,還需要管理員分配的權(quán)限才可以控制燈光系統(tǒng),安全性可以得到保障。

【關(guān)鍵字】 多平臺(tái) 微信 網(wǎng)頁(yè) 燈光智能控制 物聯(lián)網(wǎng)

引言

隨著物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,物聯(lián)網(wǎng)產(chǎn)品日益進(jìn)入到人們的日常生活中。物聯(lián)網(wǎng)利用智能感知識(shí)別和計(jì)算機(jī)網(wǎng)絡(luò)等通信網(wǎng)絡(luò)技術(shù),掀起了信息產(chǎn)業(yè)發(fā)展的第三次浪潮。利用物聯(lián)網(wǎng)技術(shù)可以為我們的生活帶來(lái)極大的便利。本論文基于多平臺(tái)的燈光控制系統(tǒng),實(shí)現(xiàn)了只要有網(wǎng)絡(luò)的地方就可以實(shí)現(xiàn)智能控制燈光系統(tǒng)的功能,不受地域的阻礙。同時(shí),系統(tǒng)還可以擴(kuò)展功能,配合插座系統(tǒng),還可以控制其他家用電器,以實(shí)現(xiàn)智能家居。

一、系統(tǒng)總設(shè)計(jì)

1.1系統(tǒng)模型

本系統(tǒng)分為四層架構(gòu)模型,從底至上依次為物理層、協(xié)議層、函數(shù)層和用戶功能層。物理層為硬件架構(gòu)層,負(fù)責(zé)建立、維護(hù)和取消燈光系統(tǒng)與云端服務(wù)器的物理連接,為用戶端設(shè)備提供云端到本地傳輸數(shù)據(jù)的通路,并實(shí)現(xiàn)用戶端功能端相關(guān)功能。協(xié)議層定義數(shù)據(jù)的打包格式,并提供穩(wěn)定可靠的數(shù)據(jù)傳輸連接方式,使系統(tǒng)中不同的用戶端設(shè)備,云服務(wù)器和物理層之間能傳輸數(shù)據(jù)。函數(shù)層定義實(shí)現(xiàn)用戶功能的函數(shù),同時(shí)為系統(tǒng)調(diào)用功能模塊提供接口,減少重復(fù)編碼的程序段。用戶功能層定義用戶可以直接使用的各種功能,為用戶提供具體服務(wù)。

1.2數(shù)據(jù)庫(kù)設(shè)計(jì)

本系統(tǒng)用E-R圖(實(shí)體-聯(lián)系圖)表示各實(shí)體之間的關(guān)系。用戶微信昵稱信息的獲取和微信公眾號(hào)自定義菜單的構(gòu)造需要微信憑證,憑證的相關(guān)信息存放在微信憑證表中。在查詢數(shù)據(jù)庫(kù)E-R圖中,有四個(gè)實(shí)體——用戶、權(quán)限、個(gè)人信息和系統(tǒng)總狀態(tài)。個(gè)人信息包括公眾號(hào)用戶ID、最新登錄時(shí)間、曾操作過(guò)燈的狀態(tài)、網(wǎng)頁(yè)注冊(cè)名、郵箱、密碼、激活狀態(tài)、微信昵稱以及是否在線等;系統(tǒng)總狀態(tài)包括最新操作時(shí)間、燈光狀態(tài)、網(wǎng)頁(yè)端用戶名和微信端用戶名等。普通用戶數(shù)據(jù)庫(kù)E-R圖中有三個(gè)實(shí)體——控制、關(guān)注和查詢:控制燈光;關(guān)注微信號(hào);用戶查詢系統(tǒng)E-R圖。管理員數(shù)據(jù)庫(kù)E-R圖也有三個(gè)實(shí)體——查詢、注銷和授權(quán):查詢系統(tǒng)E-R圖;注銷用戶和權(quán)限;授予用戶系統(tǒng)的權(quán)限。

二、系統(tǒng)設(shè)計(jì)

2.1本地物理層設(shè)計(jì)

中央控制器芯片是STM32F103VET6,WiFi模塊使用ESP8266。本地物理層上電或復(fù)位后會(huì)自動(dòng)連接WiFi,接著初始化與云端服務(wù)器的TCP/IP連接,然后定時(shí)發(fā)送HTTP請(qǐng)求,在中斷響應(yīng)服務(wù)程序中分析云端服務(wù)器反饋的HTTP報(bào)文,提取系統(tǒng)燈光的狀態(tài)信息,最后改變相應(yīng)的I/O狀態(tài)來(lái)觸發(fā)繼電器模塊閉合或分離,如圖1。

2.2協(xié)議層設(shè)計(jì)

本系統(tǒng)物理層的網(wǎng)絡(luò)連接使用TCP/IP協(xié)議。物理層數(shù)據(jù)封裝使用HTTP協(xié)議。物理層請(qǐng)求報(bào)文格式如下:請(qǐng)求行-通用信息頭-請(qǐng)求頭-實(shí)體頭-報(bào)文主體。云服務(wù)器端應(yīng)答報(bào)文格式如下:狀態(tài)行-通用信息頭-響應(yīng)頭-實(shí)體頭-報(bào)文主體。用戶功能層的微信端系統(tǒng)數(shù)據(jù)交換格式使用JSON格式,用戶數(shù)據(jù)封裝多采用可擴(kuò)展標(biāo)記語(yǔ)言XML格式。

2.3函數(shù)層的設(shè)計(jì)

函數(shù)主要由物理層函數(shù)庫(kù)、用戶功能函數(shù)庫(kù)、微信端函數(shù)庫(kù)和網(wǎng)頁(yè)端函數(shù)庫(kù)四部分構(gòu)成。物理層函數(shù)庫(kù)包括中斷服務(wù)程序、STM32庫(kù)函數(shù)和初始化配置函數(shù)等[1]。中斷服務(wù)程序包括定時(shí)器中斷服務(wù)程序、串口數(shù)據(jù)標(biāo)志位判斷程序、自定義串口發(fā)送數(shù)據(jù)函數(shù)和串口緩沖區(qū)數(shù)組遍歷函數(shù)。定時(shí)器中斷服務(wù)函數(shù)實(shí)現(xiàn)串口在接受數(shù)據(jù)時(shí)以十毫秒為間隔,判斷串口數(shù)據(jù)接收的開始與結(jié)束。串口數(shù)據(jù)標(biāo)志位判斷程序和串口緩沖區(qū)數(shù)組遍歷函數(shù)實(shí)現(xiàn)分析串口接收到的http報(bào)文的功能。由于使用庫(kù)函數(shù)方式開發(fā)STM32芯片,所以stm32庫(kù)函數(shù)是必需的,它定義了芯片的引腳功能,寄存器地址等等[2]。初始化配置函數(shù)實(shí)現(xiàn)定時(shí)器計(jì)數(shù)初值配置,串口波特率設(shè)置,延時(shí)函數(shù)的初始化,wifi模塊狀態(tài)的初始化。

用戶功能函數(shù)庫(kù)主要包括自定義的函數(shù)庫(kù),數(shù)據(jù)庫(kù)mysql函數(shù)集,php字符串函數(shù)集等函數(shù)庫(kù),按照用戶端來(lái)分,可以分成微信端與網(wǎng)頁(yè)端函數(shù)庫(kù),以下將以用戶端來(lái)分。

微信端函數(shù)庫(kù)主要處理三個(gè)功能模塊信息:關(guān)注事件推送,自定義菜單事件推送和文本消息[3]。處理關(guān)注事件推送:在用戶剛開始關(guān)注公眾號(hào)時(shí),通過(guò)編程來(lái)獲取微信憑證,從而提取用戶的微信昵稱信息;調(diào)用MySQL字符串處理函數(shù)集更新數(shù)據(jù)庫(kù),在相應(yīng)的表中新建或更新數(shù)據(jù)。處理自定義菜單事件推送:當(dāng)用戶點(diǎn)擊菜單,系統(tǒng)把點(diǎn)擊事件推送給開發(fā)者,通過(guò)編程把報(bào)文內(nèi)容從XML格式轉(zhuǎn)換為結(jié)構(gòu)體形式,而系統(tǒng)只需判斷轉(zhuǎn)換后的事件值就可以做出反應(yīng);當(dāng)用戶點(diǎn)擊菜單跳轉(zhuǎn)鏈接時(shí),直接開始跳轉(zhuǎn)網(wǎng)頁(yè),由微信端自行完成。處理文本消息:通過(guò)簡(jiǎn)單的選擇控制分支語(yǔ)句,判斷特定的一些的文字消息字符串,完成特定的功能。

網(wǎng)頁(yè)端函數(shù)庫(kù)使用 jquery函數(shù)庫(kù)。在確保數(shù)據(jù)庫(kù)安全設(shè)計(jì)方面,使用mysql_real_escape_string()函數(shù)和Perl兼容的正則表達(dá)式mysql_real_escape _string()通過(guò)轉(zhuǎn)義有問(wèn)題的字符來(lái)整理數(shù)據(jù),預(yù)防數(shù)據(jù)庫(kù)的攻擊[4]。本系統(tǒng)調(diào)用preg_match()函數(shù)實(shí)現(xiàn)正則表達(dá)式匹配功能,確保提交的表單數(shù)據(jù)與系統(tǒng)所期待的匹配。

2.4用戶功能層設(shè)計(jì)

按照用戶端的不同,可以分為微信端功能設(shè)計(jì)與網(wǎng)頁(yè)端功能設(shè)計(jì),但是用戶信息處理問(wèn)題上兩者不是獨(dú)立的,是有互補(bǔ)的成分。本系統(tǒng)綜合考量了兩者的優(yōu)勢(shì),設(shè)計(jì)出能通過(guò)微信昵稱關(guān)聯(lián)不同用戶端上用戶信息。具體實(shí)現(xiàn)思路如下。微信端通過(guò)函數(shù)層中處理關(guān)注事件中,通過(guò)編程實(shí)現(xiàn)獲取access_token憑證并更新數(shù)據(jù)庫(kù)微信憑證表,然后可以獲取關(guān)注者用戶的基本信息,從中提取到微信昵稱信息,最后更新數(shù)據(jù)庫(kù)用戶信息表,完成用戶信息的錄入[5]。網(wǎng)頁(yè)端則是通過(guò)用戶在注冊(cè)填寫的微信昵稱進(jìn)行判斷,與數(shù)據(jù)庫(kù)用戶信息表中的數(shù)據(jù)作對(duì)比,進(jìn)行新建或更新數(shù)據(jù)表中的數(shù)據(jù),完成用戶信息的錄入。到此,假如用戶同時(shí)完成微信端的關(guān)注公眾號(hào)事件與網(wǎng)頁(yè)端注冊(cè)流程,且信息無(wú)誤,那么用戶就可以在微信端查看網(wǎng)頁(yè)注冊(cè)信息,在網(wǎng)頁(yè)端,管理員可以直接根據(jù)微信昵稱分配用戶權(quán)限,同時(shí),系統(tǒng)允許用戶的信息可以在不同的用戶端查看或修改。具體用戶端功能設(shè)計(jì)如下。

管理員功能設(shè)計(jì)的第一級(jí)為管理員,第二級(jí)包括賬戶管理、找回密碼、授權(quán)、注銷、燈光控制和查詢,賬戶管理的第三級(jí)包括登錄、登出和修改密碼等;授權(quán)的第三級(jí)包括控制LED1的權(quán)限、控制LED2的權(quán)限等;注銷的第三級(jí)包括用戶、權(quán)限;查詢的第三級(jí)包括系統(tǒng)總狀態(tài)、權(quán)限、用戶信息等。

普通用戶功能設(shè)計(jì)的第一級(jí)為普通用戶,第二級(jí)包括賬戶管理、找回密碼、扽光控制和查詢,賬戶管理的第三級(jí)包括注冊(cè)、登錄、登出、修改密碼等;查詢的第三級(jí)包括系統(tǒng)狀態(tài)、權(quán)限、注冊(cè)信息等。

三、系統(tǒng)測(cè)試

系統(tǒng)經(jīng)過(guò)調(diào)試,系統(tǒng)可以完成微信端和網(wǎng)頁(yè)端開燈關(guān)燈和權(quán)限分配等上述功能,如圖2和圖3所示。

實(shí)際的燈光控制效果與圖4所示。

四、結(jié)語(yǔ)

多平臺(tái)控制的智能燈光系統(tǒng)利用微信端和網(wǎng)頁(yè)端,可以方便智能地控制室內(nèi)照明系統(tǒng)。該系統(tǒng)通過(guò)簡(jiǎn)單的擴(kuò)展也可以控制電視和空調(diào)等家用電器,實(shí)現(xiàn)智能家居。

參 考 文 獻(xiàn)

[1] STM32F1開發(fā)指南V3.1 - 庫(kù)函數(shù)版本[Z]. ALIENTEK戰(zhàn)艦.

[2] 劉火良,楊森.STM32庫(kù)開發(fā)實(shí)戰(zhàn)指南[M].北京.機(jī)械工業(yè)出版社,2015:94-95,143-147.

[3] 《微信公眾平臺(tái)開發(fā)者文檔》http://mp.weixin.qq.com/wiki/home /index. html.

[4] Larry UIIman.PHP and MySQL for Dynamic Web Sites[M].杜凱,陳宗斌,譯.北京:人民郵電出版社,2013:262-266,414-438.

[5] 鐘志勇,何威俊,馮煜博.微信公眾號(hào)平臺(tái)應(yīng)用開發(fā)實(shí)踐[M].北京。機(jī)械工業(yè)出版社,2014:76-138.

猜你喜歡
物理層串口網(wǎng)頁(yè)
基于HTML5靜態(tài)網(wǎng)頁(yè)設(shè)計(jì)
搜索引擎怎樣對(duì)網(wǎng)頁(yè)排序
MCS—51單片機(jī)中的多串口通訊技術(shù)的應(yīng)用
利用Modbus協(xié)議實(shí)現(xiàn)垂直螺旋卸車機(jī)取料器自動(dòng)調(diào)速方法
一種應(yīng)用于5G基于LDPC碼的物理層包編碼
衛(wèi)星通信物理層安全技術(shù)探析
全國(guó)計(jì)算機(jī)等級(jí)考試機(jī)房準(zhǔn)備工作探討
基于智能布線的前沿技術(shù)及其網(wǎng)絡(luò)應(yīng)用
微機(jī)串口的測(cè)試診斷
網(wǎng)頁(yè)智能搜索數(shù)據(jù)挖掘的主要任務(wù)
平和县| 合川市| 陵川县| 土默特右旗| 曲阳县| 施甸县| 唐河县| 香港 | 金华市| 菏泽市| 威远县| 普洱| 博客| 赣州市| 余干县| 安阳县| 淄博市| 寿光市| 天长市| 赤峰市| 镇安县| 泸西县| 崇左市| 阿拉善盟| 陕西省| 佛山市| 中西区| 黔江区| 崇文区| 电白县| 柳林县| 桐城市| 华蓥市| 民和| 岫岩| 平谷区| 大兴区| 托克托县| 闽清县| 游戏| 安龙县|