You are on page 1of 56

家庭 防火 、防盜 系統

班級: TI701 組別:第一組


組長: 98971007 李侑剛
組員: 98971003 謝清圭
98971009 尹健飛
98971022 游士興
98971028 游宛真
大綱
 系統緣起與目標
 系統功能描述
 系統軟硬體設計
 系統軟硬體架構
 成果展示與介紹
緣起
 智慧化居住空間 (Smart Home)
- 安全監控
- 健康照護
- 便利舒適
- 永續節能
背景研 究
 預估 2012 年台灣家庭安全監控市場
 約新台幣 140 億元

 住家安全需求
 第一防盜
 第二防災
系統目 標
 家庭防火防盜

 終端主控系統

 網路控制界面

 通報系統
系統功能 描述
 主動式監控保全系統
 整合無線網路與 Sensor
 可隨時查看家中狀況

 火災偵測系統
 應變系統
 即時通報屋主與設定單位
規劃概 要
 由 8051 控制感應功能監測家庭防盜,感應火災
,並將狀況回報中央控制單元 (ARM) 。
 使用者可利用 ARM 上的 Web Server 控制系統,
或將由網頁檢視 WebCam 影像。
 主要功能如下:
 利用網路控制能讓使用者隨時利用網路開啟、關閉、
防盜防火系統。
 可利用 WebCam 即時查看家中狀況。
 狀況發生時會自動以電話或簡訊通知相關人或是警察
局、消防局。
情境描述 - 正常情況
主控 台 8051

UART

Internet
即時查看
控制居家
家中狀況
電器 用品開 關
http

user

8
情境描述 - 異常情況

信號觸發
使用者手機
語音及
文字簡訊
台灣簡訊
辨識信號 , 並
啟動拍照功 監看現場
傳送信號 8 Bit Data 能 , 針對信號
點拍照
即時影像 http

http
UART http
Internet

user
警報觸發 Web Server

9
軟體架 構
 嵌入式作業系統

 QT 控制介面

 Web Server 網頁伺服器

 影像處理模組

 偵測與即時反應系統
軟體架 構
AP (Control Program)
Web 管理介面 通報系統 - 自
動發送語音
火災 / 防盜 及文字簡訊
即時影像 簡訊語音傳送 秀圖程式
電話號碼設定

入 影像擷取
QT 管理介面


語音 / 文字簡訊 Web User

設定及測試 帳號設定 拍照功能


Linux Kernel

Webcam Motor UART


Driver Driver Driver
Foreground Action

Camera

命令傳送 影



現 照

信號傳送
信號 Web Server
語音 / 文字簡訊傳送
8051 User 手機
觸發 & QT 信
命令信號傳送 號


自 度
訂 轉
角 向


步進馬 達
Background Action
系統初始化

8051 傳送 / 接收 ARM
Web Server Servfox 常駐程式 資料處 理 QT
常駐程 式

信號 觸發 Web User
指令輸入 ( 狀況 產生 ) 帳號設定

馬達 應用 程式

照相套 件 簡訊 傳送 程式

馬達 轉向
硬體架 構
 煙霧偵 測器

 磁簧開 關

 Camera

 步進馬 達

 控制台 ( Mini ARM & 8051 )

 顯示器 或發聲 裝置
硬體需 求與架構

步進馬達
&
使用者手機
語音及
Camera
文字簡訊
台灣簡訊
磁簧開關 / 煙霧警報器 辨識信號 , 並
啟動拍照功 監看現場
8 Bit Data 能 , 針對信號
點拍照
即時影像 http

UART http
http Internet
8051 實習板
user
Web Server
Mini ARM

蜂鳴器
硬體需求 與架構
硬體建 置步驟 :
 磁簧開關組成防盜系統 Unit 。
 煙霧偵測器組成防火系統 Unit 。
 Camara 步進馬達 組成監看系統
 8051 實習板負責接收 / 辨識防火防盜系統
Alarm 訊號,然後再將訊號透過 UART 傳給
ARM 板 ( 控制 Unit) 。
 ARM 板接收到警報訊號之後,會發訊號給使
用者 ( 手機 ) ,當使用者收到訊號,即可遠端
連線 ARM 板,和現場監視器互動,監看現場
狀況。
8051 ARM 資料傳 輸
資料 傳輸:
8051 和 ARM 之間利用 UART 傳輸資料 , 當有狀況發生時 ,8051 會
將 8 個腳位的狀態傳送給 ARM. 一次傳送 8 個 Bit 資料 , 每個 Bit 分別
代表不同腳位上所連接的 Sensor 或警報器 .(1 代表 ON, 有狀況發生 ;
0 代表 OFF, 無狀況 ),ARM 板接收到資料之後即可判定有異常之位置 ,
做出相對應的動作 ( 例如 : 操控 Camera 轉向至異常位置 ).

平時 ARM 也可透過 UART 傳輸指令給 8051, 同樣的 , 一次也是傳送


8 個 Bit 資料 , 利用這 8 個 Bit 資料可控制接在腳位上的開關 ON/OFF.
而利用這簡單的 ON/OFF 動作 , 就可以對居家電器產品做出簡易的控
制 . 例如 : 電燈的開關 , 或是冷氣的開關 .
8051 ARM 資料傳 輸
#include <AT89X51.h>
….
void UART(int BPS) // 串列環境及鮑率設定
{
SCON = 0x50; // 設定串列傳輸為模式 1 及致能接收
TMOD = 0x20; // 設定計時器 1 為模式 2
TH1 = 256-(28800/BPS); // 設計時器決定串列傳輸鮑率 a
TR1 = 1; // 開始計時
}

main()
{

while(1)
{
tmp = P2;
UART(9600);
if ((tmp > 0 ) && (tmp != tmp1)) // 控制只傳送 1 次
{
delay(50000);
SBUF = tmp;
TI=0;
}
tmp1=tmp;

if (RI != 0) // 接收資料
P1=~SBUF;
RI=0;
}
}
8051 ARM 資料傳 輸
....
#define BAUDRATE B9600 /* 鮑率設定被定義在 <asm/termbits.h>, 這在 <termios.h> 被引入
*/
#define MODEMDEVICE "/dev/ttyS0" /* 定義正確的序列埠 */
...
int main(int argc,char *argv[])
{
...
fd = open(MODEMDEVICE, O_RDWR );
/*
BAUDRATE: 設定 bps 的速度 .
CS8 : 8n1 (8 位元 , 不做同位元檢查 ,1 個終止位元 )
CLOCAL : 本地連線 , 不具數據機控制功能
CREAD : 致能接收字元
*/
newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD;
newtio.c_lflag &= ~(ICANON);
.....
while(1)
{
res = read(fd,&buf,1);
if ( (res == 1) && (buf != '~' ) ) // 接收資料
{
//system("/home/mouse_capture"); // 呼照拍照程式 , 記得要解 make
printf("%d=%c\n",buf,buf);
}
ch=buf;
wes=write(fd, &ch, 1); // 傳送資料
}
}
選用的步 進馬 達
 二相六線式步進馬達
步進 馬達控 制系 統
步進馬達 的激 磁方式
 所謂激磁即是令步進馬達的線圈通過電流
 四相步進馬達而言,其定子線圈共有四個
相,分別為 A 、 /A 、 B 及 /B
 激磁的方法分為三種 :
1. 一相激磁
2. 二相激磁
3. 一 ~ 二相激磁
 本專題使用一相激磁
一相激磁 之方 式
 每次令一個線圈通過電流。步進角等於基
本步進角,消耗電力小,精確度好,但轉
矩小,振動較大
步進馬達 之驅 動
 一般 arm gpio 的輸出電流並無法去驅動
步進馬達,故在 arm 與步進馬達之間必須
有一組達靈頓電路來放大電流

 達靈頓電路通常使用 IC FT5754 或是
ULN2003 來使用

 因 FT5754 電流放大可達 3A ,而
ULN2003 只能到 500mA ,故本專題使
用 FT5754 的驅動套件來當作驅動的硬體
驅動套 件
FT5754 步進馬達 驅動 IC
所使用 的 gpio 和電源 接腳
 連接步進馬達的 IO 接腳使用 Extension
Connector 擴充接腳的
pin41~pin44(GPG12~GPG15)
以一相激磁之方式驅動步進馬達

 步進馬達及驅動套件電源— ARM 擴充的 5V


直流及接地
測試程 式
 輸入參數透過 ioctl 傳給驅動程式,如輸入
1~99 馬達逆時針轉動, 101~199 馬達順時
針轉動 !
步進 馬達驅 動程 式
 將測試程式所傳的參數給驅動馬達驅動程式進行
馬達之驅動
Boa Webserver
 適合應用在 Embedded System
 支援 CGI
 修改 /boa/src/compat.h 檔案
 將 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtof ,
修改為 #define TIMEZONE_OFFSET(foo) (foo)-
>tm_gmtoff
 修改 /boa/boa.c 檔案
 將 if (setuid(0) != -1) {
    DIE("icky Linux kernel bug!");
}
程式碼註解
Boa Webserver (Cont.)
 /etc 目錄下建立 boa 目錄,裡面放入 Boa 的
設定文件 boa.conf
 Group 設為  Group 0
 User 設為 User 0
 www 主要文件位置為 /www
 # ServerName www.your.org.here 設為
ServerName smart-home ( 黃字部分可任意修改 )
 作業系統本身提供的 mine.types ( 檔案在 /etc
目錄中 ) ,複製到 ARM 的 /etc 的目錄
影像擷取 架構圖
• Get Video User space

Video4Linux

Webcam Driver Kernel space

USB Device

Webcam Hardware
影像處 理模 組 – 驅動 程式
 使用 gspcav1 萬用驅動程式包
 在 DAM2440 上,製作的 module 一直有無
法 Insert 的問題
 因此系統平台改用友善之臂 FriendlyArm
影像串 流伺 服器 - Servfox
 使用 Servfox 模組擷取 Webcam 的串
流影像
 原理為利用 Linux kernel 所提供的
video4linux API 來設計程式
 一直有無法找到 Webcam 的問題
 修正原始碼的錯誤
 成功擷取串流影像
影像擷取 套件
 用於 PC 端的視訊觀看
 在 Linux 上可透過 spcaview 套件
影像 擷取套 件 (Cont.)
 透過 http 連接 ARM 的 Web Server
抓圖程 式
 改寫 Servfox 主程式
 基於 video4linux 抓取 /dev/video0 的
JPEG 圖片
 進行影像擷取的方法有兩種
 mmap
 read
Web se ve r 介面 - 登入畫 面
Web sev er- 登入 成功畫面
Web se ver 介面 - 登入 失敗的畫面
Web se ve r 介面 - 即時監 看
Web se ve r 介面 - 看圖頁 面
Web se ve r 介面 - 火災設 定
Web se ve r 介面 - 火災設 定 (Cont.)
Web se ve r 介面 - 防盜設 定
Web se ve r 介面 - 防盜設 定 (Cont.)
QT 操作介面

 圖形使用者界面 (GUI): QT ,GTK,MiniGUI….


 PC : Qt3
 Mini ARM : QT2.2

 注意 : 有些功能是 QT3 有但是 QT2 沒有 , 例如


QProcess

47
在 ARM 上顯示

48
在 ARM 上顯示 (2)
QT 中文化部份
存檔 ( 寫入文字檔 )
QTextCodec *codec2 = QTextCodec::codecForName("zh_TW.Big5");
file.writeBlock(codec2->fromUnicode(lineEdit3->text()),codec2-
>fromUnicode(lineEdit3->text()).length());

讀檔
QTextCodec *codec = QTextCodec::codecForName("zh_TW.Big5");
lineEdit3->setText(codec->toUnicode(data));

50
簡訊 / 語音發送

 利用 TWSMS 簡訊網,透過 socket 與 SMS


Server 作溝通,完成簡訊發送。

51
簡訊 / 語音規格
 由 TWSMS 下載 簡訊
語音
簡訊發送
 User
欲更改設定之手機號碼與相關訊息
資訊 , 可在 QT 上直接修改

 Twsms 帳號密碼
 steal_mesg steal_vo 磁璜開關
 fire_mesg fire_vo 煙霧警報器

53
成果展示 與介 紹
成果展 示與 介紹 (Cont.)
The End

You might also like