dimanche 15 mars 2020

Time-lapse avec l'ESP32-CAM

La technique du time-lapse consiste à produire une vidéo ultra-accélérée au moyen de photographies prises sur une longue période de temps.

J'ai apporté quelques modifications à mes sketches précédents afin de produire des vidéos time-lapse au moyen de mon ESP32-CAM (programmée avec l'IDE Arduino, comme d'habitude).

Comme dans mes projets précédents, l'image captée par la caméra est présentée en temps réel sur une page web. Mais cette page comporte, en plus, un champ texte permettant à l'utilisateur d'écrire le nombre de secondes désiré entre deux images consécutives ainsi qu'un bouton permettant de démarrer et d'interrompre l'enregistrement des images.


Les images sont enregistrées en format jpeg sur une carte micro-SD insérée dans l'ESP32-CAM. On peut ensuite combiner ces images pour en faire une vidéo (pour réaliser la vidéo ci-dessous, j'ai utilisé Movie Maker).





Sketch

Mon point de départ à été mon sketch qui enregistre des photos sur une carte microSD.

Les principales modifications sont:
  • dans la routine web_handler(), aux lignes 127 à 134: ajout d'un champ de texte pour choisir le nombre de secondes entre 2 images successives.
  • dans la routine clic_handler(), aux lignes 189 à 225: récupération du délai entré par l'utilisateur, et activation (ou désactivation) de l'enregistrement des photos.
  • dans la routine loop(), aux lignes 360 à 365: vérification si c'est le moment de prendre une photo, compte tenu du délai choisi par l'utilisateur.
-
-

À lire également

Dans le passé, j'avais fait du time-lapse avec un vieil appareil photo numérique commandé par un Arduino (on peut aussi utiliser la camera du Raspberry Pi, mais je n'ai pas écrit d'article sur ce sujet spécifique).

De plus, j'ai publié plusieurs articles concernant l'ESP32-CAM: première utilisation,  un web server minimaliste , enregistrer des photos sur la carte microSDles LEDs de l'ESP32-CAM, mouvement panoramique de l'ESP32-CAM avec un servomoteur.

Yves Pelletier (TwitterFacebook)

7 commentaires:

  1. Bonjour,
    Merci pour votre partage et pour sa clarté.
    Est-il possible de détecter un changement dans l'image et de l'enregistrer avec un intervalle prédéfini ?
    Merci.

    RépondreSupprimer
  2. Bonjour,

    Impeccable ton programme, c'est tout à fait ce que je cherchais.
    Par contre je vois le stream sur le serveur web quand il n'y a pas de carte SD insérée, et plus lorsqu'il y a une carte SD. J'ai en haut de la page le petit icone vert qui m'indique que la source n'existe pas, cependant j'ai bien la prise de photo automatique, est-ce un fonctionnement normal ? J’imagine que non, avoir le timelaps et le retour vidéo me parait plus "sympa", une piste à me donner pour résoudre ce problème?

    Merci pour le coup de main.
    Et bonne continuation, j'ai trouvé plein d'article passionnant sur ce site.

    RépondreSupprimer
  3. Bonjour,
    J'ai le même problème (pas de stream lorsque carte SD mise).
    Il y a t'il une solution ?
    Merci d'avance pour la réponse.

    RépondreSupprimer
  4. une solution a vos problème depuis ou toujours en attente?

    RépondreSupprimer
  5. Bonjour,
    Je rencontre le même souci : si carte SD présente, alors rien ne s'affiche ...Quelqu'un a-t-il la solution ?
    Merci pour vos réponses.

    RépondreSupprimer
    Réponses
    1. Je me reponds : il faut utiliser la version 1.0.2 de ESP32 Espressif Systems (j'avais la 1.0.6 !)
      Ca marche tres bien.
      Encore merci pour tous ces tutos.

      Supprimer
    2. Bonjour Christian, peut-tu développer la procédure à suivre ?

      Supprimer