云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 嵌入式WEB视频监控小车项目指导

嵌入式WEB视频监控小车项目指导

  • 62 次阅读
  • 3 次下载
  • 2025/6/26 8:33:58

嵌入式WEB视频监控小车项目指导

分类: 嵌入式项目2011-12-25 15:02 7438人阅读 评论(18) 收藏 举报

嵌入式webcgi服务器ioc

转载请注明来自:http://blog.csdn.net/ayangke

上一个文档对H.264监控系统进行了讲解,这一个文档将对一种更容易实现视频监控的web方法进行讲解。

代码以及相关文档开放下载,加一个连接版面就乱了,调了好久都没调过来,悲剧了,后面看到的将就着看吧

http://download.csdn.net/detail/ayangke/5097807

一、系统架构图 系统硬件架构图:

从硬件架构图可以看出该系统采用B/S构架,系统的主控平台为MINI2440,通过在该平台上构建视频服务器和WEB服务器实现系统主体设计。 系统软件架构图:

软件系统主要由Linux下的开源服务器MJPG-Streamer、BOA服务器、小车控制应用程序和小车驱动组成。MJPG-Streamer和BOA服务器我们只需要移植便可,我们需要做的就是做一个HTML格式的web界面、一个控制小车应用程序、小车驱动和一个启动这些程序的Shell脚本。

二、MJPG-Streamer服务器的移植

MJPG-Streamer的移植方法我是参考MINI2440的文档移植的。移植很简单只需编译然后运行便可。

三、BOA服务器的移植

到这部分大家可能会有点疑问,为什么有了视频服务器还需要一个WEB服务器,上一步的MJPG-Streamer就可以在WEB浏览器上浏览到实时视频了,是因为MJPG-Streamer不支持CGI脚本,浏览器端无法和服务器就行通信。而BOA服务器支持CGI,CGI脚本可以实现服务器和应用程序的通信,也就是说浏览器端的信息可以通过CGI传送给应用程序。于是我们就可以通过浏览器端用户的操作来决定小车的动作。BOA服务器的移植,网上也有大把的文章,大家可以去查阅。

四、BOA显示MJPG-Streamer视频数据

上两步我们已经完成了MJPG-Streamer和BOA服务器的移植,但是如何把MJPG-Streamer的视频数据在BOA服务器上显示呢?我google了好久也没发现,后来自己尝试成功了,只需加一条在BOA的显示的HTML网页文件中加一条语句即可:

img是HTML语言的一个图像控件,192.168.1.102是我的视频服务器的IP地址。HTML界面设计我也不讲了,我也没学过,只花了一天的时间学了用fontpage来构建了一个很丑陋的界面,不过也能良好工作,后来嫌它实在太丑了,叫一个会这个的朋友帮忙做了一个。

五、CGI编程

CGI全称叫做“通用网关接口”。利用通过网关接口(CGI),WEB服务器可以执行一些外部的小程序。通用网关接口(CGI)只是规定了一个标准的接口规范,只要遵守这个标准规范,程序开发人员就可以利用各种编程工具,例如Perl、C、Fortan、Visual Basic等进行CGI编程。C语言是每一个程序员的必备语言,所以我们采用C语言进行CGI编程。CGI主要通过GET和POST两种方法对服务器端的表单进行响应,具体操作见《CGI程序设计指南》。我的CGI的代码很简单,如下:

[cpp] view plaincopy

1. 2. 3. 4. 5. 6. 7. 8. 9.

……………..   ………………   #define FIFO_SERVER \我的FIFO管道文件   void main()   {          char *buff= NULL;          charcar_bt_value[10]=\;          intfifo_fd;            10.        buff =getenv(\);        11.        sscanf(buff, \, car_bt_value);   12.        fifo_fd=open(FIFO_SERVER,O_WRONLY|O_NONBLOCK,0);   13.     14.        /* 向管道写入数据 */   15. write(fifo_fd,car_bt_value,10);
close(fifo_fd); return 0;} 16.
   17. 
   18.    19. 

20.

六、小车驱动

21.

小车采用L298N芯片驱动,这是一款功率放大芯片,专门用来驱动小车用的。L298 可驱动2 个电机, OUT1、OUT2 和OUT3、OUT4 之间分别接2 个电动机。5、7、10、12 脚接输入控制电平, 控制电机的正反转, ENA, ENB 接控制使能端, 控制电机的停转。下面是电路和逻辑功能图:

22.

23.

\

24.

\

25.

所以小车的驱动很容易编写只需要往GPIO写不同的高低电平即可,就和写LED驱动一样。

26.

七、小车控制应用程序

27.

小车应用程序只需要创建一个FIFO管道,然后从FIFO管道读取到CGI写进去的命令然后调用小车驱动执行相关的操作控制小车即可。代码如下:

28.

29.
#include   30. #include   31. #include   32. #include   33. #include   34. #include   35. #include   36. #include   37. #define FIFO\   38. #include   39.     40. #defineCAR_IOC_MAGIC 'k'   41. #define CAR_UP_IO(CAR_IOC_MAGIC, 0)   42. #define CAR_DOWN_IO(CAR_IOC_MAGIC, 1)   43. #define CAR_LEFT_IO(CAR_IOC_MAGIC, 2)   44. #define CAR_RIGHT_IO(CAR_IOC_MAGIC, 3)   45. #define CAR_STOP_IO(CAR_IOC_MAGIC, 4)   46.     47. main(intargc,char** argv)   48. {   49.        char buf_r[10];   50.        int fifo_fd, car_fd;   51.        int nread;   52.          53.        car_fd = open(\,0);   54.        if(car_fd == -1){   55.               perror(\);   56.               exit(1);   57.        }   58.          59.        /* 创建管道 */   60.        if((mkfifo(FIFO,O_CREAT|O_EXCL)<0)&&(errno!=EEXIST))   61.        {   62.               perror(\);   63.               exit(1);   64.        }   65.          66.        while(1)   67.        {   68.               fifo_fd=open(FIFO,O_RDONLY,0);   69.               memset(buf_r,0,sizeof(buf_r));   70.                 71.               if((nread=read(fifo_fd,buf_r,10))==-1)   

搜索更多关于: 嵌入式WEB视频监控小车项目指导 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

嵌入式WEB视频监控小车项目指导 分类: 嵌入式项目2011-12-25 15:02 7438人阅读 评论(18) 收藏 举报 嵌入式webcgi服务器ioc 转载请注明来自:http://blog.csdn.net/ayangke 上一个文档对H.264监控系统进行了讲解,这一个文档将对一种更容易实现视频监控的web方法进行讲解。 代码以及相关文档开放下载,加一个连接版面就乱了,调了好久都没调过来,悲剧了,后面看到的将就着看吧 http://download.csdn.net/detail/ayangke/5097807 一、系统架构图 系统硬件架构图: 从硬件架构图可以看出该系

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com