STM32F407-摄像头拍照网络通信实验

基于STM32F407的课设,实现摄像头拍照数据实时传输至LCD显示及通过网络通信至PC端。采用TCP/IP协议的C/S模式,通过DHCP获取IP,利用LWIP协议栈进行网络通信。LCD通过DMA显示摄像头数据,PC端使用MFC进行可视化界面更新,通过串口接收和解码JPEG照片,实现类似视频效果,但由于硬盘读写导致帧率较低。
摘要由CSDN通过智能技术生成

应单片机课设要求,做了一个摄像头拍照网络通信C/S实时LCD显示。该工程基于原子STM32F4的摄像头与网络通信实验,在此基础上,将其整合。

1.预期功能:

  • 摄像头拍取的内容实时传输至LCD进行显示

  • 通过网络通信C/S方式将STM32摄像头拍取的照片传输到电脑端

  • 在PC端开发可视化界面接受摄像头数据并更新显示

2.实施步骤:

  • 1.参考STM32原子摄像头实验与网络通信实验例程,主要需要了解以下知识。

    • 1.1摄像头的数据如何传输至STM32中?

    • 1.2摄像头照片的传输数据格式是如何组成的?

    • 1.3LCD如何显示图片?

    • 1.4如何通过STM32与外界建立CS服务关系?

    • 1.5STM32如何通过网络向外界进行发送基本的数据?

  • 2.整合两个实验工程,实现照片实时显示至LCD上,并同时通过CS服务端发送摄像头获取的数据。

  • 3.socket编程实现数据包的接收与重组,在了解数据格式的基础上编写照片解码程序,编写PC端可视化界面。

3.设计思路:

以下为实施步骤中对应的设计思路与问题解答:

  • 1.1 STM32F4自带有一个一个数字摄像头( DCMI)接口,该接口是通过与摄像头的帧同步、行同步进行传输数据,并将接收到的数据放到一个32位的数据寄存器(DCMI_DR)中,然后通过DMA进行数据传输。

  • 1.2 摄像头OV2640可以支持两种照片数据格式输出:RGB565或JPEG格式。设置分辨率后,假定为640*320,以RGB格式输出时,则传输时序会参考行同步信号、帧同步信号、像素时钟进行传输,一幅图片即为一帧,其中一帧由640行组成,一行有320个像素,每个像素由两个字节组成(RGB565 5+6+5=16 bit=2byte),一个PCLK时钟传输一个字节,这便为传输时序。当以JPEG格式传输时,摄像头内部会自动先对照片进行压缩,随后以同种方式进行传输数据,只是其中PCLK的数目大大减少,且不连续。输出的JPEG输出以0XFF、0XD8开头,以0XFF、0XD9结束。在0XFF,0XD8之前,或者 0XFF,0XD9 之后,会有不定数量的0存在,我们一般选择忽略即可。

  • 13
    点赞
  • 159
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值