Skip to content

ESP32-CAM remote image access via FTP. Take pictures with ESP32 and upload it via FTP making it accessible for the outisde network.

License

Notifications You must be signed in to change notification settings

Schaggo/ESP32-CAM-Picture-Sharing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

GitHub version Build Status License: MIT

GitHub last commit

ESP32-CAM

Sumary

  1. PlatformIO
  2. Flashing
  3. Hardware
  4. Free Website Hosting
  5. Blynk
  6. Node-RED
  7. Credits

PlatformIO

  • More information can be found on their comprehensive Docs. But Basically:

    1. Download and install official Microsoft Visual Studio Code. PlatformIO IDE is built on top of it
    2. Open VSCode Package Manager
    3. Search for official platformio-ide extension
    4. Install PlatformIO IDE.

PlatformIO installation

Flashing

  • ESP32-CAM does not have a built-in UART/USB converter, therefore you will need one.

    1. TX goes to RX;
    2. RX goes to TX;
    3. Power the board while keeping GIPO0 low;
    4. You can now release it and upload your code;

ESP32-CAM

Hardware

Board Pinout

ESP32-CAM 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 upload the 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.

000webhost

Blynk App

  • This is a Bonus, as you may want to add it to your altomation project, you can use Blynk Image Gallery Widget and 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

About

ESP32-CAM remote image access via FTP. Take pictures with ESP32 and upload it via FTP making it accessible for the outisde network.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.0%
  • C++ 2.0%