最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传)
大家好,我是daodanjishui,在我的一个电路方案:ESP32-CAM、ESP8266、WIFI、蓝牙、摄像头设备实现嵌入式服务器点灯(原理图+源码) 地址是:https://www.cirmall.com/circuit/19261/ 购买量超过100次,查看量超过1000大关之后,我就萌生了再出一期免费开源项目的想法,今天就打算把我原创的“最简单DIY基于ESP32CAM的物联网相机系统”系列中关于用网页实现拍照图传功能进行免费开源,不是什么外国朋友的代码,为什么说是最简单呢?
因为我只用了170行代码实现了嵌入式服务器ESP32高速wifi图传,在电路城很多买家还在买以前那个硬件串口线传输STM32单片机驱动的OV7670摄像头模块采集的图片,价格昂贵带FIFO的OV7670单摄像头就50块,STM32单片机的价格我还没有计算呢!中美芯片之争,STM32价格贵到离谱,成本也高,图像也不清晰,OV7670的像素才30万,还有些卖家用ESP8266来传输STM32驱动OV7670拍摄的图片,这样用了三片单片机才完成无线图传,太麻烦了。
而我这个ESP32CAM搭载的是OV 2640高清摄像头像素达到130万,ESP32+OV2640价格才24块,国产芯片不会受到芯片之争涨价,并且我ESP32CAM的Arduino开发环境下的库自带摄像头SCCB控制总线的方案,把底层驱动剥离开来,要是用STM32来驱动摄像头,要在SCCB上下功夫了,而在ESP32CAM的摄像头二次开发上,开发者能在上层应用上开发自己喜欢的功能,非常潮流,只是国内用的人少,大部分国内开发者跑了老外对这个国产芯片写的摄像头测试程序,呵呵想起来都觉得尴尬,ESP32相比ESP8266的WIFI传输速度快了很多,处理速度也快了很多。在我这里,买家可以学到一个系列的中文版本的物联网ESP32CAM高清高速摄像头二次开发的原创开源核心技术,攻破上位机和下位机和服务器的开发,下面正式开始:
优酷视频演示效果:
https://v.youku.com/v_show/id_XNTE0MTE1NTE0MA==.html
(1)搭建开发环境请参考我:高性价比WIFI图传方案快速入门教程(原理图+源码+教程) https://www.cirmall.com/circuit/19141/ 编写的免费教程,这里就不再重复说明了。
(2)功能和源码说明:
烧录代码之后开机就会在Arduino专属串口监视器打印开机信息如下:
截图显示的代码都是我写的详细中文注释,只有两个文件,没有额外的库,不用担心看不懂了,主要的功能是ESP32CAM开机会创建一个热点,热点的IP地址是:192.168.4.1,热点的名称是:daodanjishuiESP32CAM,没有密码,这是一个嵌入式服务器主页地址,当你用手机连上这个高速WIFI热点的时候,输入网址:192.168.4.1就可以在手机的浏览器打开我写的相机主页如下图:
点击send按钮之后,就会发现构成jpg图片的十六进制字符串全部一股脑瞬间传输到浏览器上了,图片数据以FFD8开头,以FFD9结束,这是jpg压缩格式的要求,实现了高速wifi控制和传输的远程CAM相机拍照,速度几乎是瞬间完成,因为摄像头采集的数据不需要经过串口发送出去,直接在将ESP32内存的数据通过高速wifi发送到手机上,这跟电路城其他卖家的串口图传有本质性的区别。如下图所示:
用电脑浏览器打开试试,再将图片数据复制到一个图片查看器软件就可以看到原图了:
好了,物联网相机网页远程控制拍照+高速WIFI无线图传的简易方案就完成了,有很多买家疑问为什么不直接在浏览器中显示图片出来呢?呵呵,那么这就涉及到很高深的技术问题和很高深的利益问题了,要知道我这个是一个免费的开源项目。更多需求和更多的功能请关注我下期相关系列的开源项目,绝对不会让你们失望的。