Esp32Cam, vidéo surveillance à partir de 5€ (DIY)
L’ESP32-CAM est une carte de développement compacte et polyvalente spécialement conçue pour les applications vidéo.
. Elle combine un puissant microcontrôleur ESP32 avec une caméra OV2640 capable de capturer des images jusqu’à une résolution de 1600×1200 pixels.
Dotée d’une connectivité WiFi intégrée, l’ESP32-CAM permet la transmission sans fil des données et des images capturées vers des serveurs ou des dispositifs distants. Elle dispose également d’un lecteur de carte micro-SD pour le stockage local des images ou des vidéos, offrant ainsi une flexibilité dans la gestion des données.
Grâce à ses dimensions réduites et à sa conception simple, l’ESP32-CAM peut être intégrée facilement dans une variété de projets, tels que des systèmes de surveillance à domicile, des caméras de sécurité, des dispositifs de suivi et bien plus encore.
l’ESP32-CAM est une solution compacte et abordable pour les projets de vision par ordinateur et de surveillance IoT, offrant des fonctionnalités avancées dans un petit format.
On trouve l’ESP32Cam aux alentours de 5€ directement en chine et dans les 10€ sur Amazon : ESP32 CAM.
Acheter un ESP32 CAM
Programmation de l’Esp32Cam
Cet article se divise en deux parties distinctes. Dans la première partie, nous explorons la manière de faire fonctionner le module ESP32-CAM de manière autonome, sans dépendre de Home Assistant. Cependant, dans la seconde partie, nous aborderons l’intégration de cette caméra à Home Assistant.
- Télécharger l’application Arduino ide, j’utilise la version 1.8.19
- Avant toute chose, il est nécessaire d’intégrer l’extension du fabricant chinois Espressif.
Accédez à « Fichier » puis « Préférences », et ajoutez l’URL du gestionnaire de cartes supplémentaires : https://dl.espressif.com/dl/package_esp32_index.json
- On rajoute les bibliothèques ESP32 : Outils/type de cartes/Gestionnaire de cartes/
- type de carte AI Thinker ESP-32 CAM
- Sélectionnez le bon port com
- On récupère un programme exemple pour la caméra : Fichier/Exemples/ESP32/Camera/CameraWebServer
- Quelques modifications dans le code :
Configuration de votre Wifi :
const char* ssid = "**********";
const char* password = "**********";
Supprimez les marques de commentaire devant la carte correspondante dans le code.
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
Dans le menu Outils, j’ai configuré les paramètres suivants :
- Type de carte « AI Thinker ESP32-cam »
Pour démarrer l’ESP dans le mode approprié pour le téléversement, il est nécessaire d’utiliser le bouton « boot » en le maintenant enfoncé tout en connectant la carte au PC. Cela permet d’activer le mode de téléversement du microcontrôleur.
On compile et on téléverse.
Lancez le moniteur série dans l’IDE/Environnement de développement Arduino (Outils > Moniteur série). Appuyez sur le bouton de réinitialisation de l’ESP32-CAM. Vous obtenez l’adresse ip local de votre cam 🙂
Dans votre navigateur web, vous pouvez accéder à l’adresse IP locale pour visualiser et configurer votre caméra.
Bon bricolage !
Intégration de l’ESP sur Home Assistant
Il est important de ne pas être trop exigeant en ce qui concerne la résolution et le nombre d’images par seconde avec l’ESP32-CAM. Bien que la caméra possède des capacités impressionnantes, elle a tendance à surchauffer rapidement si elle est poussée au-delà de ses limites. En conséquence, elle peut cesser de fonctionner correctement.
Code yaml à téléverser sur l’ESP :
esphome:
name: esp_cam01
platform: ESP32
board: esp32dev
# Enable logging
logger:
wifi:
ssid: ********
password: **********
# Enable Home Assistant API
api:
encryption:
key: "Zz0+8qRPzMQjmPkqw/fi+a6sXrAtFmnuv2vbxBFTY1A="
# Entite Camera
esp32_camera:
external_clock:
pin: GPIO0
frequency: 20MHz
i2c_pins:
sda: GPIO26
scl: GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
# the order of the data_pins is significant, don't mix up the order
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
resolution: 800x600
name: esp_cam02
idle_framerate: 0.1fps
output:
- platform: ledc
pin: GPIO4
channel: 2 # channel 1 is used for esp32_camera
id: led
light:
- platform: monochromatic
output: led
name: espcam_02 light
esp32_camera_web_server:
- port: 8080
mode: stream
- port: 8081
mode: snapshot
# Entite temps d'utilisation et signal wifi
sensor:
- platform: uptime
name: Uptime Sensor
- platform: wifi_signal
name: "WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
Personnalisez le code selon vos préférences :
- Configurez le WiFi selon vos besoins.
- Ajustez la résolution de l’image en fonction de vos exigences.
- Modifiez le nombre d’images par seconde selon vos besoins spécifiques.
- …
Comme d’habitude, vous pouvez téléverser votre code en utilisant les outils ESPHome. Si vous rencontrez des problèmes de vitesse lors de l’utilisation du module complémentaire Home Assistant (comme dans mon cas sur un Raspberry Pi 3), je vous recommande de le faire directement sur votre PC avec les outils appropriés. Après avoir téléversé votre code, assurez-vous d’ajouter votre caméra aux appareils et services si elle n’a pas été détectée automatiquement. Utilisez la clé renseignée dans le code YAML pour finaliser l’installation. Ensuite, il ne vous reste plus qu’à l’utiliser 😉