一種基于ZigBee技術(shù)的智能家居無(wú)線(xiàn)網(wǎng)絡(luò )系統
系統上電后,先關(guān)閉看門(mén)狗定時(shí)器,開(kāi)關(guān)電源進(jìn)入SNOOZE節功狀態(tài),同時(shí)關(guān)閉無(wú)線(xiàn)通訊模塊電源,進(jìn)行I2C接口的初始化,讀取撥碼開(kāi)關(guān)狀態(tài),并根據撥碼開(kāi)關(guān)的狀態(tài)進(jìn)行單片機通用I/O口的初始化,以確定其作為脈沖量輸入端口還是開(kāi)關(guān)量輸入端口,或是撤防設防輸入端口。其中,若作為脈沖量輸入端口,則調用相應脈沖量初始化程序,設置其端口為上升沿觸發(fā);若作為開(kāi)關(guān)量輸入端口,則調用相應開(kāi)關(guān)量初始化程序,設置其端口為下降觸發(fā);若作為撤防設防輸入端口,則調用設防撤防初始化程序,當前端口狀態(tài)為設防狀態(tài)時(shí),進(jìn)行撤防初始化,設置其端口為上升沿觸發(fā)。當前端口狀態(tài)為撤防狀態(tài)時(shí),進(jìn)行設防初始化,設置其端口為下降沿觸發(fā)。本文引用地址:http://dyxdggzs.com/article/157765.htm
端口初始化結束之后,進(jìn)行串行通訊UART接口初始化,打開(kāi)UART接收中斷使能,使其能響應網(wǎng)關(guān)發(fā)送給子節點(diǎn)的命令。定時(shí)器連續工作在計數模式,打開(kāi)計數器溢出中斷使能。
單片機各部分初始化結束后,進(jìn)入LPM3休眠模式,只有ACLK始終保持工作,因此在串行通訊UART和定時(shí)器初始化中,將其工作時(shí)鐘定義為ACLK是十分重要的,否則進(jìn)入LPM3休眠模式后,串口和定時(shí)器將停止工作和相應中斷。進(jìn)入LPM3休眠模式后,系統的功耗最低。
系統可響應I/O中斷,當其作為脈沖量輸入端口時(shí),脈沖量上升沿觸發(fā)中斷,經(jīng)過(guò)去抖處理后,脈沖量計數增1,遇到進(jìn)位時(shí),調用函數處理進(jìn)位,最后將計數值寫(xiě)入FRAM,進(jìn)入LPM3休眠模式。當其作為開(kāi)關(guān)量輸入端口時(shí),開(kāi)關(guān)量下降沿觸發(fā)中斷,停止計數器計數,打開(kāi)電源,打開(kāi)串行通訊,重復發(fā)送報警信息,直到收到網(wǎng)關(guān)應答信息時(shí)才停止報警,恢復定時(shí)器計數,進(jìn)入LPM3休眠模式。
數據發(fā)送要遵循通訊協(xié)議,由于文章篇幅所限,這里就不多述了。
本文介紹的基于ZigBee技術(shù)的智能家居無(wú)線(xiàn)網(wǎng)絡(luò )系統,由于其具有低成本、低功耗、較遠的覆蓋范圍及通用性的特點(diǎn),將成為智能家居系統中的又一亮點(diǎn),必將給現代智能家居系統帶來(lái)一場(chǎng)新的變革。
評論