基于ARM嵌入式IPCamera的设计与实现
rn -1; }
/***内存映射***/
if (v4l_grab_frame(&vd, 0))
return -1;
if (v4l_grab_sync(&vd))
return -1;
img = device_get_address(&vd);
/***读取图像数据***/
p=img;
for (i=0;i《PAL_NC_HEIGHT;i++)
for (j=0;j《PAL_NC_WIDTH;j++)
{ tmpc=*(p);
*(p)=*(p+2);
*(p+2)=tmpc;
p+=3; }
/***转换图像数据格式,保存为jpg文件***/
if (write_jpeg(fileName, img, 70, 0))www.51kaifa.com
return -1;
┅
}
4.2 Web服务程序的设计
Web服务是通过http协议与客户端通信,工作流程如图2所示。http是一个请求、响应协议,即客户端发出一个请求,服务器端则响应这个请求。http利用可靠的TCP协议连接,默认使用80端口。目前市场上有许多Web 服务程序,但要将其移植到本系统中需要一定的工作量,所以可以设计一个简单的Web服务程序。程序的主函数如下:

图2 Web工作流程图
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供用户浏览。这种产品体积小、可靠性高、无需专人管理,非常适合于无人值守的环境。它将会有较好的应用前景。
- 基于ARM+FPGA的大屏幕显示器控制系统设计(06-30)
- 基于ARM和μC/OS-II的车载定位终端的设计(06-24)
- 解读物联网时代下的ARM mbed 操作系统(05-03)
- 用ARM和FPGA搭建神经网络处理器通信方案(07-19)
- ARM新一代Cortex-A73架构解析 千元机也能有高端SoC(05-06)
- 阿里巴巴将大量采用ARM处理器 Intel怎么办?(11-14)
