This is an example how to use an Ili9342 touchscreen and ESP32 to show live pictures of an IP camera on the screen. This can be used for example for video surveillance, video door bells and similar applications.
Hardware of Monitor:I've used our AZ-Touch MOD kit for ESP32 as hardware plattform. This kit comes with a 2.4 or 2.8 inch tft touchscreen. The demo will work with both screen sizes, but of course it makes more sense to use the bigger 2.8 inch screen in this application.
You can find all information about the hardware here:
https://www.hwhardsoft.de/english/projects/arduitouch-esp/
CameraThis example was written for the ESP32-CAM camera.
Please install the CameraWebServer example on the ESP32-cam which comes with the Arduino IDE. It's important to choose "ESP Wrover Module" as board and "Huge APP..." as partition scheme:
The software of the monitor can be used with other IP cameras too if these cameras can provide a JPG picture via http in QVGA (320 x 240) or VGA (640 x 480) size. Probably some small changes especially in the host address configuration are needed in this case.
LibrariesInstall the following libraries through Arduino Library Manager:
Arduino TFT_eSPI Library https://github.com/Bodmer/TFT_eSPI
Arduino TJpg_Decoder library https://github.com/Bodmer/TJpg_Decoder
You can also download the library also directly as ZIP file and uncompress the folder under yourarduinosketchfolder/libraries/
After installing the libraries, restart the Arduino IDE.
TFT_eSPI SetupI've prepared a User setup files for the TFT_eSPI library especially for AZ-Touch and ESP32
https://github.com/HWHardsoft/AZ-Touch-ESP_Video/blob/main/TFT_eSPI_Setup/User_Setup.h
Please replace the original User_Setup.h file in your...\Arduino\libraries\TFT_eSPI\ folder
SettingsOpen the file settings.h in the Arduino IDE and enter your WiFi SSID & password in the fields in the WiFi section:
const char* ssid = "your ssid";
const char* password = "your password";
Furthermore you have to change the host ip address to the ip address of your camera.
const char* host = "192.168.178.40";
Comments