Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Programmer le pcDuino : Image : Enregistrer une image à intervalle régulier.

Électroniquemis à jour le 23 avril 2023

Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités. Une fonctionnalité particulièrement intéressante est la possibilité de programmer le pcDuino pour enregistrer une image à intervalle régulier. Cette fonctionnalité peut être utilisée pour surveiller des zones, prendre des photos à des moments précis ou même pour créer des effets visuels intéressants. Dans cet article, nous allons examiner en détail comment programmer le pcDuino pour enregistrer une image à intervalle régulier.

Programmer le pcDuino : Image : Enregistrer une image à intervalle régulier.

Ce que l’on va faire ici

  • Dans ce code, une image webcam est capturée et enregistrée dans un fichier à intervalle régulier, avec horodatage de l’image. Ce code est basé sur la librairie Pyduino Multimédia.
  • Pour plus de détails sur la capture d’image, voir l’instruction Pyduino captureImage()
  • Vous remarquerez la simplicité du code obtenu.

Pré-requis

  • un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
  • Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
  • ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
  • les dépendances de la librairie pyDuino Multimédia installées : voir si besoin : Télécharger et installer Pyduino sur le pcDuino

Schéma fonctionnel

  • La fonction loop() s’auto-appelle à intervalle régulier à l’aide d’un timer permettant la capture de l’image.

Matériel nécessaire

Système

  • Le pcDuino
  • Une webcam compatible ( Logitech C170, C270, etc…)

E/S

  • aucun matériel

Instructions de montage

  • Connecter la webcam au mini-PC

Le montage à réaliser

  • Aucun. Simplement connecter la webcam au mini-PC.

Le fichier *.yno

Copier/coller ce code dans l’IDE Pyduino

 

Le fichier *.py

Copier/coller ce code dans l’éditeur Geany :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# exemple pyDuino – par X. HINAULT – www.mon-club-elec.fr
# Juin 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# test Capture Image

from pyduinoMultimedia import * # importe les fonctions Arduino pour Python

# entete declarative
noLoop=True
filepath=«  »

#— setup —
def setup():

        global filepath

ÉlectroniqueChamp électrique : les notions fondamentales expliquées simplement

        # initialisation chemin
        filepath=homePath()+dataPath(IMAGE)+today(«  »,-1)+« / » # nom chemin avec date jour format AAAAMMJJ

        if not exists(filepath):
                mkdir(filepath) # creation repertoire
                print (« Creation repertoire OK »)
        else:
                print (« Le repertoire existe »)

        print filepath # debug

        # initialisation webcam
        initWebcam(0,640,480) # la resolution doit etre supportee par la webcam !

        loop() # premier appel loop()

# — fin setup —

# — loop —
def loop():

        global filepath

        filenameImage=nowtime(« _ »)+« .jpg » # nom image horodate

        print filepath+filenameImage

        captureImage(filepath+filenameImage)

ÉlectroniqueBien chauffer son atelier d’électronique : confort, sécurité et continuité de travail

        #addTextOnImage(today(« / »)+ »@ »+nowtime(« : »), 10,height()-30, green) # ajoute texte sur image
        addTextOnImage(nowdatetime(), 10,height()20, blue,1) # ajoute texte sur image

        saveImage(filepath+filenameImage) # enregistre l’image

        timer(1000, loop) # relance timer – la fonction loop s’auto-appelle

# — fin loop —

#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
        setup() # appelle la fonction main
        while not noLoop: loop() # appelle fonction loop sans fin

 

Ce code est également disponible ici : https://gist.github.com/sensor56/875df42780c8e1637e96/raw/e54b49958a8ea44700f767d32e31714c6e4aece6/CaptureImageTimer.py

Utilisation

  • Vérifier au préalable que le répertoire utilisé existe sur le système et le créer graphiquement au besoin.
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal vide doit apparaître : un message indique alors qu’une image est enregistrée, automatiquement horodatée.
  • On peut ensuite ouvrir les images, notamment avec le logiciel stopmotion :
  • Simple et efficace.

Discussion technique

  • Si on envisage l’enregistrement de nombreuses images, préférer utiliser une clé USB ou une carte SD et adapter le chemin en conséquence.

Utilisation potentielle

  • On réalise ici un datalogging image par image à vitesse variable. Cela rendra possible l’enregistrement de « mouvements lents » pour les accélérer secondairement. A raison d’une image par seconde, on pourra accélérer le mouvement x 25 si lecture à 25 fps, x 50 toutes les 2 secondes, etc..
  • On pourra ainsi potentiellement enregistrer :
    • des mouvements de foules/public dans un lieu donné
    • la construction d’un meuble, d’un objet
    • la pousse d’une plante
    • les mouvements des nuages
    • etc…
  • Les images étant obtenues une à une, il sera possible également de les traiter secondairement par traitement d’image, notamment avec openCV.

Truc d’utilisation

  • Pour lire rapidement sous forme « vidéo » une série d’images individuelles, utiliser le logiciel stopmotion : sudo apt-get install stopmotion

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Titre
Électronique

Titre

: « Les bienfaits de la méditation » La méditation est une pratique ancestrale qui a été utilisée depuis des…

Portrait de Inès DameronInès Dameron · 19 Avr 2023

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction