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