不带fifo的OV7670 用20块的摄像头做WiFi实时传图小车( 四 )


5、微信小程序的编写
微信小程序方面,下图展示的获取图像数据并展示的代码 。

不带fifo的OV7670  用20块的摄像头做WiFi实时传图小车

文章插图
图像的转换是主要靠获取文件的api,获取图像的二进制流文件,然后将其转换成的类型,就可以显示图像了,这里主要要注意两点:
在的函数中加一个: '', 这样接收到的数据就是的形式,就可通过转换成的形式,然后加上 data:image/jpg;, 就可以直接显示图像了 。使用获取文件的api的时候要使用-api-key,否则可能会报错,我当时报的错是 errno:3 auth , 为此我还问了客服呢 。。。。。四、成果展示1、上位机接受图像
不带fifo的OV7670  用20块的摄像头做WiFi实时传图小车

文章插图
2、手机端微信小程序
不带fifo的OV7670  用20块的摄像头做WiFi实时传图小车

文章插图
界面做的简陋了一点 。。。。。
五、缺陷与提高部分
本次实验最大的缺陷是延迟过高,一方面是因为受限于Jpeg压缩的效率太低,另一方面则是因为数据量太大,传输的速率太慢,在这里我有一些改进与提高的想法,但因为时间的限制就没有付诸于实践 。
1、SPI传输在STM32那边可以使用DMA进行传输,将数据直接存储到定义的存储空间中,但这会引起另一个问题,就是DMA对于SPI双向传输该如何进行处理 。毕竟不仅要接收数据,还需要传送方向指令 。
2、DMA传输还可以用在串口wifi上传图像上,但相对于第一条,这一条的实现难度可能更大一些 。
3、氪金,没错,花钱换一个摄像头,换一个能直接jpeg形式输出的摄像头,例如,这样就可以省去jpeg压缩的时间,大大提高效率,(但凡有个好的摄像头,这个东西也不至于这么复杂)
4、增加协议 。包括STM32与FPGA通过SPI传输的协议,以及STM32与上位机的传输协议 。如果是用http传输,STM32与的协议倒不是非常必要 。STM32与FPGA通过SPI的协议可以保证数据传输的稳定与可靠,如果可以最好与CS脚联合设计 。STM32与上位机的协议也可以保证出错的概率降低 。(目前虽然差错出现的概率不大,但还是会有 。。。。。)
六、评价
【不带fifo的OV7670用20块的摄像头做WiFi实时传图小车】总的来说,这一个项目虽然不大,但他的涉及面广,从FPGA到STM32再到上位机和云端小程序等,(我就是伪全栈工程师) 。大学在我看来还是要什么都去碰一碰,毕竟学习的道路是越来越专精的,在高考的时候已经从众多行业中选择了电子,到了后面的研究生阶段还将要继续细分,因此什么都玩一玩在之后的学习上还是能给我不少帮助的 。