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