色偷偷男人天堂,激情影院a,在线男人天堂,亚洲国产成人久久99精品,天色综合,亚洲自拍图片区

南康家具網-南康家具行業領導者,南康家具批發首選網站,南康家具城最大的家具批發網
當前位置: 首頁 » 資訊 » 行業新聞 » 正文

基于S5PV210的智能家居控制系統軟件設計

放大字體  縮小字體 發布日期:2013-06-29  瀏覽次數:1501
核心提示:隨著電子、微電子、軟件、通信、控制以及多媒體技術的發展,人們逐漸對自己的生活提出一種更高的要求,他們需要一種智能化、可交
 隨著電子、微電子、軟件、通信、控制以及多媒體技術的發展,人們逐漸對自己的生活提出一種更高的要求,他們需要一種智能化、可交互,并且融合現代創新科技的產品來改善他們的生活環境,使他們的生活更加安全、舒適、便捷、智能。基于上述需求,我們迎來了智能家居的時代。
  智能家居是一種以樓宇建筑為平臺,利用網絡通信技術、自動控制技術以及綜合布線技術等實現住宅設施與家庭日常事務高效管理的集成控制系統。在國外,運用智能家居理念的著名建筑有位于日本東京的本田青山大廈、NEC辦公大廈等。在中國,由于對智能家居的認知起步較晚,發展相對滯后,海爾、清華同方是現今國內為數不多的大型智能家居控制系統供應商之一。
在智能家居領域,安全是重中之重。一直以來,安全都是整個社會賴以生存與發展的基礎,尤其在現代化技術高度發展的今天,犯罪手段越來越高明,潛在安全隱患越來越多,所以提升現代化安防技術就顯得至關重要。
本文所述的智能家居控制系統主要包含三類監控功能:室內溫度監控、室內煙霧監控以及紅外門禁監控。與此同時,在軟件實現上預留了串口轉換硬件模塊(GPRS轉串口模塊、Zigbee轉串口模塊)的接口,以便于實現硬件功能的拓展。系統的Zigbee模塊不僅可以用于客戶端與服務器端的通信,而且可以作為匯聚節點,將來自其它Zigbee錨節點的定位信號強度匯總,運用相應的定位算法進行處理,實現對進入室內非法分子的zigbee多點定位。
除此之外,該系統還支持軟件版本查詢、軟件升級以及設備自檢,實時采集硬件設備的使用狀況(CPU頻率、剩余內存、剩余閃存空間等),將相關的工作參數上報至操作與維護終端,并且可以手動配置相應參數。
1 開發環境
1)硬件開發平臺。
天嵌TQ210開發板、溫度傳感器(DS18B20)、煙霧傳感器(MQ-2)、紅外傳感器(D204S)、zigbee轉串口模塊(FBee_FZB5000+)等。
2)軟件開發平臺:Linux(Ubuntu_12.04)。
3)嵌入式Linux內核:Kernel_2.6.35.7。
4)根文件系統的制作工具Busybox:busybox_1.19.4。
5)輔助軟件:QT4.8.1(qtcreator,qtdesigner)。
6)網絡通信協議:用戶數據報協議(User Datagram Protocol,UDP)。
7)網絡環境:Ethernet。
8)編譯器:gcc、arm-linux-gcc(4.4.6)。
9)軟件調試工具:GDB。
2 系統的軟件架構
智能家居控制系統的硬件組成主要包含四大部分:終端控制器、遠程控制器、傳感器模塊以及硬件拓展模塊。為了支持該系統的硬件,并且設計一個性能優良、可靠性高的軟件系統,必須遵循合理的設計規范與系統架構。
圖1 Linux開發環境的軟件架構圖
3 系統工作流程
1)服務器端:待系統上電之后,啟動bootloader引導程序,初始化硬件、啟動內核以及完成內存映射等;之后加載內核,初始化驅動程序,并且掛載根文件系統;待根文件系統掛載之后,初始化系統配置,掛載用戶分區,啟動應用程序。接下來,系統完成初始化日志與消息、創建4條線程以及創建服務器端socket通信等工作;最后,系統開啟服務器端的業務流程,監控室內溫度、煙霧以及紅外門禁信息,并且啟動信息查詢與上報反饋機制。
2)客戶端:首先啟動客戶端軟件,加載主界面并且初始化界面元素信息;然后創建客戶端socket通信,并且構建消息,將其傳輸給服務器端,等待服務器端的消息響應;最后接收來自服務器端的數據,直到服務器端線程結束,main函數返回為止。
4 具體技術實現
根據實際需要,設計基于arm體系結構的智能家居控制系統主要分為以下幾個步驟。
4.1 Bootloader
Bootloader是在系統內核加載之前運行的一段精簡的引導程序,它擔負著硬件初始化與操作系統引導的雙重職責。也就是說,我們不僅可以通過這段程序實現初始化硬件設備、建立內存空間映射以及壞塊檢測等功能,為系統的軟硬件搭建一個良好的交互環境,而且可以將操作系統從NAND Flash等存儲器中加載至RAM中,為最終運行Linux操作系統內核做準備。
Bootloader可以分為Stage1與Stage2兩大部分,前者主要實現與系統硬件體系結構關聯程度高的引導程序代碼與板級初始化代碼,通常使用匯編語言編寫;后者主要實現功能更加復雜的,并且具有好的可讀性與可移植性的程序代碼,通常使用C語言編寫。
4.2 驅動程序開發
嵌入式Linux系統的設備驅動可以分為三大類型:字符設備驅動(Character Device Driver)、塊設備驅動(Block Device Driver)、網絡設備驅動(Network Device Driver)。
它作為內核的一部分,主要完成以下功能:
1)設備的初始化、與設備相關系統資源的分配與回收。
2)在底層硬件與內核之間建立信息交互環境,以便于傳遞數據。
3)在設備與應用程序之間實現數據交互。
4)檢測與處理設備出現的異常或者錯誤。
驅動開發的一般流程如圖2所示。
圖2 底層驅動的基本開發流程
除此之外,在驅動程序的開發過程中還會用到中斷處理、定時器、等待隊列、內存與I/O訪問、Input子系統以及平臺總線架構等機制。
4.3 封裝接口函數,制作動態庫
通過系統調用,實現面向用戶態接口函數的封裝,變量的封裝形式采用結構體,功能的封裝采用函數,使用指針傳遞參數。
動態庫的制作很簡單,只需要使用如下指令即可:
arm-linux-gcc-fpic-shared xx.c-o libxx.so-I include_path
4.4 根文件系統的制作
根文件系統的制作主要依賴于BusyBox工具。
1)首先在busybox目錄下,執行make menuconfig命令配置相應的屬性;然后修改busybox自帶Makefile文件,將第164行與第190行分別修改成為CROSS_COMPILE?=arm-linux-與ARCH?=arm;最后順序執行make與make install指令,根據Makefile可以得知busybox的缺省安裝目錄在/_install目錄下。
2)在根文件系統rootfs中創建必要的目錄(例如:etc、sys、proc、tmp、var、home、lib、etc、root等)。
3)庫文件的部署。將一些必要的庫文件與加載器拷貝到根文件系統rootfs中/lib/目錄下,若不清楚庫文件的存放位置,可以使用which is arm-linux-gcc進行查找;若需要查看busybox使用共享庫(動態庫)信息,可以使用arm-linux-readelf-d busybox與arm-linux-readelf–a app|grep“shared”命令進行查看。
4)文件系統瘦身。可以使用sudo arm-linux-strip*命令對文件進行瘦身,以便于縮小文件系統的體積,節約內存或者閃存空間。
5)添加必要的配置信息(例如:etc/inittab、etc/fstab、etc/profile、etc/init.d/rcS等)。
6)配置相應的環境,通過NFS掛載測試。
7)制作文件系統鏡像。在制作文件系統鏡像時,最常用的幾種文件系統格式如下所示:cramfs、ramdisk、initramfs、yaffs2等。
圖3 根文件系統鏡像的制作流程
上述的四種文件格式也可以綜合使用,本文綜合它們的優點,使用cramfs(rootfs)+yaffs2(userdata)方式制作鏡像文件。
4.5 運行在開發板上的監控軟件的設計
1)底層硬件驅動程序的編寫與修改。
2)封裝用戶態的接口函數,并且將其封裝成為動態庫(*.so)。
3)依次完成設備初始化,創建4條并行獨立線程以及完善相應的線程處理函數等工作,在main()函數返回之前,必須使用pthread_join()分別等待線程的結束。
4.6 設備操作與維護軟件的設計
1)完成服務器端的配套功能。
在該項目中不需要過多考慮數據安全性與完整性校驗問題,因此選用UDP(用戶數據報協議))的通信模式。
創建服務器端socket通信函數create_socket(),在該函數中以結構體類型指針的方式傳遞數據包內容,并且完成數據包接收與解析工作,判斷下一步應該做出哪種類型的響應;與此同時,完成消息請求處理與反饋功能。
2)完成客戶端界面設計與功能的實現。
使用Qt4.8.7進行上位機界面設計與功能實現。
①通過QtCreator與QtDesigner設計上位機的圖形界面。
②創建客戶端socket通信,完成信號函數與相應槽函數的匹配連接(通過QObject::connect()實現)。
③實現消息通信與處理機制。
④實現2種不同方式(串口登錄與網口登錄)的登錄功能。
4.7 終端軟件設計(支持實時性)
1)使用QtCreator與QtDesigner設計終端軟件的圖形界面。
2)完成相應功能(接受來自傳感器與系統內部的實時信息并且將其反饋至圖形界面)。
3)Qt庫的移植:
①下載并且解壓Qt的私有函數庫與觸摸屏TouchScreen的函數庫;
②首先在vi環境中cd到解壓之后的tslib目錄下,先后執行./autogen-clean.sh與./autogen.sh腳本,然后依次執行./configure--host=arm-linux--prefix=/opt/arm/tslib、make、make install指令;
③首先在vi環境中cd到解壓之后的qt-everywhere-opensource-src-4.8.4目錄下,執行cp../build.sh.命令將上級文件夾中的build.sh可執行腳本文件拷貝到當前目錄中,修改./mkspecs/qws/linux-arm-g++/qmake.conf文件,在arm-linux-gcc或者arm-linux-g++之后添加-lts,保存退出,然后./build.sh,接下來make,最后make install。
4)交叉編譯:在Qt工程目錄下,依次執行/opt/arm/qt/bin/qmake–project、/opt/arm/qt/bin/qmake、make命令。
5)Qt庫的部署:構建文件系統rootfs中/etc/目錄下的profile文件,在該文件中添加export QWS_KEYBOARD="TTY:/dev/event1"命令設置相應的環境變量;并且將文件夾qt與tslib拷貝到開發板rootfs指定目錄下。
5 Zigbee定位算法
將采集到的Zigbee信號強度信息導入shadowing模型
(1)
其中,d為射頻信號接收端與發射端自檢的距離,d0為參考距離,Pr(d)為基站接收到用戶節點的信號強度,Pr(d0)為基站接收到由參考點發送的信號強度。
利用(1)式可以計算出錨節點到未知節點之間的距離d,接下來建立定位模型(在100×100的試驗區域內),本文采用基于三邊測距的LMS格型濾波改進算法對定位信息進行處理,仿真結果如圖5所示。
6 結束語
該系統基于ARM體系結構與Linux開發平臺,通過三類傳感器對家庭環境中的溫度、煙霧以及紅外門禁進行實時監控,并且可以通過Internet遠程查看與設置系統的各類參數,也可以通過串口對系統功能進行拓展。與此同時,該系統支持短信與Zigbee通信功能,當家庭有非法分子入侵時,觸發紅外門禁,并且啟動Zigbee定位,運用該定位算法可以較為準確地確定非法分子在室內的位置,并且將定位信息反饋給用戶,增強了系統的功能。
該系統穩定可靠、智能化程度較高,并且具有較好的拓展性,這些優點使它具有很好的應用前景與巨大的市場潛力。
 
 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
推薦圖文
推薦資訊
點擊排行
 
網站首頁 | 關于我們 | 聯系方式 | RSS訂閱 | 贛ICP備13007224號-5
南康家具批發網-南康家具行業領導者,南康家具批發首選網站,南康家具城最大的家具批發網
 
主站蜘蛛池模板: 99精品久久久久久久| 羞羞免费观看网站| 亚洲无线码一区二区三区| 久久久久国产免费| 久久精品大全| 激情五月在线| 新婚第一次一级毛片| 一级性生活免费| 性色老女人| 亚洲精品视频在线观看免费| 狠狠丁香激情久久综合| 亚洲国产片在线观看| 中文字幕 国产精品| 一级片在线免费播放| 亚洲婷婷网| 亚洲一区二区在线成人| 亚洲国产精品婷婷久久久久| 欧美写真视频一区| 免费国产综合视频在线看| 亚洲国产成人久久笫一页| 亚洲婷婷在线| 欧美日韩在线电影| 国产97在线观看| 五月亭亭六月丁香| 久久综合九九| 伊人性伊人情综合网| 亚洲精品99久久久久中文字幕| 亚洲国产天堂久久九九九| 羞羞视频在线观免费观看| 激激婷婷综合五| 亚洲精品播放| 五月婷婷激情综合网| 国产精品久久久久久搜索| 中文字幕欧美日韩一| 欧洲欧美人成免费观看| 欧美日本黄色| 蜜桃网视频在线蜜桃8477| 午夜在线一区| 久久六月丁香婷婷婷| 九色国产在视频线精品视频| 精品麻豆|