基于A(yíng)rm-Linux的嵌入式智能家居控制系統的設計
首先用Qt Desinger根據系統要求設計圖形界面,建立槽函數開(kāi)槽并且通過(guò)語(yǔ)句connect(PushButtonl,SIGNAL(clicked()),this,SLOT(set_userandphone()));建立信號與槽函數的連接。槽函數需要根據設計的功能需要編寫(xiě)。用UIC與MOC工具生成文件user.h、user.cpp及完成信號與插槽功能的moc_user.cpp程序,由PROGEN與TMAKE生成工程文件user.pro與Makefile。user.cpp中有SQLite數據庫代碼,要把庫路徑加到Makefile庫文件的搜索路徑中否則會(huì )因為找不到SQLite的庫文件而編譯失敗。


要實(shí)現用戶(hù)的用戶(hù)名、密碼等信息存到前面創(chuàng )建的user.db數據庫中,要把創(chuàng )建表與插入數據的代碼放到槽函數下。點(diǎn)擊set按鈕后就會(huì )產(chǎn)生一個(gè)信號來(lái)觸發(fā)槽函數,實(shí)現數據庫的創(chuàng )建與數據的存儲。實(shí)現串口通信的功能把設置的信息傳遞給智能家居的各個(gè)控制模塊,需通過(guò)設置struct termios結構體的各成員值實(shí)現波特率、校驗位、停止位等設置,完成之后對串口的操作就可以像普通文件一樣進(jìn)行讀寫(xiě)操作。串口通信程序代碼也放到槽函數下邊


完成X86環(huán)境下的編譯之后需要修改Makefile文件把PC環(huán)境編譯器gcc和g++修改為嵌入式環(huán)境下的arm-linux-gcc和arm-linux-g++,編譯完成下載到文件系統的相應目錄下并運行測試,系統的其他應用程序如系統工作模式設定、狀態(tài)查詢(xún)等也遵循同樣的開(kāi)發(fā)流程。
圖5為第一個(gè)為系統的總體界面,里面包含12應用程序的圖標。第二幅為示例應用程序的界面,在輸入相應的信息后點(diǎn)擊set按鈕,用戶(hù)名密碼以及報警電話(huà)分別保存到了namekey與tel表中并發(fā)送給電話(huà)報警模塊。達到了設定用戶(hù)信息的設計目標。本文引用地址:http://dyxdggzs.com/article/150896.htm
5 結束語(yǔ)
本文利用嵌入式數據庫SQLite實(shí)現了對智能家居控制系統的數據管理,在管理效率上有了很大提高,節省了系統資源開(kāi)銷(xiāo)。應用Qtopia圖形系統實(shí)現了操作界面的可視化界面更加友好,操作更加簡(jiǎn)單明了。系統運行穩定,很好的滿(mǎn)足了設計要求。
評論