ESP32-CAM-Picture-Sharing
ESP32-CAM-Picture-Sharing copied to clipboard
ESP32-CAM remote image access via FTP. Take pictures with ESP32 and upload it via FTP making it accessible for the outisde network.
ESP32-CAM-Picture-Sharing
ESP32-CAM remote image access via FTP. Take pictures with ESP32 and upload it via FTP making it accessible for the outisde network.
Sumary
- PlatformIO
- Flashing
- Hardware
- Free Website Hosting
- Blynk
- Node-RED
- Credits
PlatformIO
-
More information can be found on their comprehensive Docs. But Basically:
- Download and install official Microsoft Visual Studio Code. PlatformIO IDE is built on top of it
- Open VSCode Package Manager
- Search for official
platformio-ideextension - Install PlatformIO IDE.

Flashing
-
ESP32-CAM does not have a built-in UART/USB converter, therefore you will need one.
- TX goes to RX;
- RX goes to TX;
- Power the board while keeping
GIPO0low; - You can now release it and upload your code;
Hardware
Board Pinout

LDO
- This board has an AMS1117 voltage regulator which "sleep" current is around
6mA, this is quite a lot if you plan to have your board running on batteries. - TODO! find an alternative with the same package.
Free Website Hosting
-
There're plenty of tutorials and examples on how to run the video streming or pictures on your local network while the ESP32 acts as a webserver.
-
The idea behind this project is to
uploadthe picture via FTP making it available on an URL something like:www.mysite.com/my_picture.jpg -
This way you don't need to overload the ESP32, your network remains secure, not open to the world, no port forwarding.
-
For this example I uploaded the GitHub Octocat to my 000Webhost hosted webiste, the file is avalable under:
https://my_user.000webhostapp.com/gallery_gen/XxXxXxXx.jpg
ftp.OpenConnection();
// Create the new file and send the image
ftp.InitFile("Type I");
ftp.ChangeWorkDir("/public_html/zyro/gallery_gen/");
ftp.NewFile("octocat.jpg");
ftp.WriteData( octocat_pic, sizeof(octocat_pic) );
ftp.CloseFile();
ftp.CloseConnection();
FTP information
- Your FTP details can be found on the 000webhost control panel once logged on click your site then details.

Blynk App
- This is a Bonus, as you may want to add it to your altomation project, you can use
Blynk Image Gallery Widgetand just supply it with the URL used by ESP32 from the hardware.
// Take a picture and add a time tag to it;
take_picture( "my_picture_201906170521" );
upload_FTPpicture();
// And by changing it on Blynk from the hardware will reflect on the App
Blynk.setProperty(VX, "url", 1, "https://mywebsite/something/my_picture_201906170521.jpg");

Node-RED
-
Another alternative is to send the image via MQTT(???) using cloud brokers as CloudMQTT and have the Node-RED subscribed to that topic and saving it to the database and serving the file locally.
-
This is a topic for another project, but can be seen briefly here
Credits
GitHub Shields and Badges created with Shields.io
GitHub ESP32 camera example

