ESP32-CAM将图像发布到云服务器-PHP(步骤及补充)

释放双眼,带上耳机,听听看~!

一、前言

本文基于Luca 的教程《使用ESP32-CAM将图像发布到本地或云服务器-PHP(Photo Manager)》(原文连接)

我自己按照教程做下来时遇到了些许问题,在这里简单介绍这个项目的步骤解决方法

(因为不大会写文,要参照原文看,见谅…)

二、我的准备

硬件:带ov2640的esp32-cam

软件:Arduino IDE

服务器:阿里云服务器(Ubuntu)

三、我的云服务器端

1.购买阿里云的Ubuntu

2.远程登录后安装Apache,mysql,php环境

可参考:

  Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程

阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境

3.在服务器的www/html目录下新建upload.php(用于接收esp32数据),代码见原文;

同样在www/html目录下新建文件夹uploads(用于php存放图片数据)

注意:把uploads文件夹修改权限打开!!

Ubuntu命令:在cd到上一级文件夹后sudo chmod -R 777 uploads

此时用浏览器访问 云服务器公网ip/upload.php 会出现如下echo:

ESP32-CAM将图像发布到云服务器-PHP(步骤及补充)

四、esp32端(问题较多)

1.按照原文提示填入你的wifi、ip等

2.修改错误:

134行的head改为:

String head = "--RandomNerdTutorials\r\nContent-Disposition: form-data; name="imageFile"; filename="esp32-cam.jpg"\r\nContent-Type: image/jpeg\r\n\r\n";

即添加转义字符”,下同理

135行的tail改为:

String tail = "\r\n--RandomNerdTutorials--\r\n";

173行的if改为:

if (c == '\n') {

177行的if改为:

else if (c != '\r') { getAll += String(c); }

五、上传代码并运行

应该可以看到串口监视器的反馈和网址中的图片了。

六、原文不详细或错误总结

1.文件夹uploads和upload.php位置:/www/html/

2.文件夹uploads的权限

3.esp32代码中缺少转义字符

 

给TA打赏
共{{data.count}}人
人已打赏
免费项目

ESP32 网络服务器-网页控制lED灯

2021-12-10 15:10:51

ESP32ESP32-进阶免费项目

Esp32如何使用Socket上传数据到云服务器

2022-3-22 9:02:37

10 条回复 A文章作者 M管理员
  1. Luca

    非常好,感谢作者的分享!?

  2. […] ESP32-CAM将图像发布到云服务器-PHP(步骤及补充) […]

  3. Luca

    系统会自动过滤掉反斜杠,跟网页语言冲突了,需要在rn前面加上反斜杠,r好n都是

  4. 怪哉

    也是这个问题,请问作者是怎么解决的呢?

    • 中影

      “–RandomNerdTutorialsrnContent-Disposition: form-data; name=”imageFile”; filename=”esp32-cam.jpg”rnContent-Type: image/jpegrnrn”; 改成这样就行了

    • 来模拟

      自己去加反斜杠。这个网页是自己要把反斜杠“”给过滤掉的。

  5. 来模拟

    因为作者这句话还是有错、应该是: 【 String head = “–RandomNerdTutorialsrnContent-Disposition: form-data; name=”imageFile”; filename=”esp32-cam.jpg”rnContent-Type: image/jpegrnrn”; 】

    • 来模拟

      的确,我复制进来,系统自动把反斜杠””给我删了。

  6. cfqq779

    额,我这边怎么修改,也无法正常编译head。太难了。帮帮孩子吧

  7. wy943103

    用本机电脑搭建服务器,能看到测试界面“ESP32-CAM Image upload display interface Welcome to the link of ESP32-CAM photo upload test. This link is only for testing.“ 但是上传图片不成功。ESP32返回 ” Warning: move_uploaded_file(uploads/2022.10.24_17:38:34_esp32-cam.jpg): failed to open stream: No such file or directory in D:phpstudy_proWWWtestupload.php on line 42 Warning: move_uploaded_file(): Unable to move ‘C:WindowsphpC328.tmp’ to ‘uploads/2022.10.24_17:38:34_esp32-cam.jpg’ in D:phpstudy_proWWWtestupload.php on line 42 Sorry, there was an error uploading your file.“ 上传到测试服务器https://gp.qutaojiao.com/test/uploads/,可以成功上传,但是上传的图片都是上一次拍的,本次拍的图片,只能在下一次再拍的时候才能在服务器看到。这是什么原因呢

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();