基于ARM嵌入式IPCamera的設(shè)計(jì)與實(shí)現(xiàn)
int main(int argc, char *argv[])
{┅
/*設(shè)置信號(hào)處理句柄*/
signal(SIGCHLD, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
┅
/*建立TCP流SOCKET*/
if (argc > 1 !strcmp(argv[1], -i)) {
fclose(stderr);
HandleConnect(0);
exit(0);
}
if((s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
perror(Unable to obtain network);
exit(1);
}
if((setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void *)true,
sizeof(true))) == -1) {
perror(setsockopt failed);
exit(1);
}
server_sockaddr.sin_family = AF_INET;
server_sockaddr.sin_port = htons(SERVER_PORT);
server_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
/*綁定監(jiān)聽端口*/
if(bind(s, (struct sockaddr *)server_sockaddr,
sizeof(server_sockaddr)) == -1) {
perror(Unable to bind socket);
exit(1);
}
/*設(shè)置允許客戶連接數(shù)*/
if(listen(s, 8*3) == -1) {
perror(Unable to listen);
exit(4);
}
/*偵聽客戶連接請求并進(jìn)行處理*/
while (1) {
len = sizeof(ec);
if((fd = accept(s, (void *)ec, len)) == -1) {
exit(5);
close(s);
}
HandleConnect(fd);
}
4.3 GPRS操作控制程序設(shè)計(jì)
GPRS操作程序主要任務(wù)是監(jiān)視手機(jī)短信,然后根據(jù)短信決定具體操作。程序主要利用GPRS的AT命令和SOCKET套接字來完成短信發(fā)送和圖片傳輸。GPRS操作程序主函數(shù)如下:
main()
{┅
{ /**根據(jù)條件拍照***/
if(TakePicture==TRUE)
{ remove(1.jpg);
rename(2.jpg,1.jpg);
┅
rename(6.jpg,5.jpg);
cap(6.jpg);
}
/**根據(jù)條件給手機(jī)發(fā)圖片***/
if(SendPicture==TRUE)
SendPicToMob(6.jpg);
}
┅
}
5 結(jié)束語
在樣機(jī)中,硬件由3部分組成,即:核心板、主板和GPRS模塊;引導(dǎo)使用vivi;操作系統(tǒng)采用linux2.6.0。系統(tǒng)經(jīng)過測試,效果較好。本文作者創(chuàng)新點(diǎn)是:利用GSM網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)控制遠(yuǎn)程拍照,并將拍下的照片發(fā)布在Internet供用戶瀏覽。這種產(chǎn)品體積小、可靠性高、無需專人管理,非常適合于無人值守的環(huán)境。它將會(huì)有較好的應(yīng)用前景。
參考文獻(xiàn):
[1] 李軍華,尹文明.基于GPRS的大棚智能監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2006,8:83-85.
[2] 朱華生,葉軍. 嵌入式系統(tǒng)IIC設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006,(10-2):120-123.
[3]朱華生,胡凱利.基于Linux系統(tǒng)的HHARM9電機(jī)驅(qū)動(dòng)程序設(shè)計(jì)[J].南昌工程學(xué)院學(xué)報(bào).2005,4:51-53.
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論