Vidéo surveillance Zoneminder / GSM

edited novembre 2013 in Projets
Bonjour,

Alors j'ai comme projet de crée un système de vidéo surveillance avec le raspberry.
Le système sera en fonction dans un endroit où il n'y a pas internet.

Je compte utilisé un raspberry avec raspbian

-zoneminder pour la gestion des caméras.
-dhcp
-camera ip branché sur le réseau électrique via des CPL.

-gamme : Pour transmettre l'information de la détection de mouvement j'aimerais utiliser "gammu" qui m'a l'air pas mal si je trouve un téléphone portable qui permet assez de fonction.

Mon idée est donc de pouvoir contrôlé le raspberry à distance à l'aide de mot clef par sms. Et que en cas de détection il m'envoie un message, ou bien un MMS avec l'image détecter, qu'il enregistre la vidéo en cours..


Alors pour le moment j'ai réussis à installer zoneminder qui fonctionne correctement avec le serveur apache2 pour géré la configuration et voir les cameras branchés.

Avant d'acheter tous le matériels nécessaire j'ai pensé d'essayer tous le système avec une simple caméra comme celle vendu en option avec le raspberry.
Elle est directement connecté sur le rasp en "csi".

Grace à la commande "raspistill -o image001.jpg" j'arrive à prendre en photo l'image de la camera. 
Et je rapatrie l'image en scp sur mon ordi.


J 'ai actuellement un problème car je n'arrive pas à configurer cette caméra sur zoneminder.
J'ai besoin de savoir sur quelle /dev/  elle est branché.  J'ai essayé /dev/video0 mais il n'existe pas dans la liste /dev.

J'ai également chercher sur le net, mais je n'es trouvé aucune réponse ... 

C'est pourquoi j'expose la situation ici, en espérant que quellqu'un pourra me renseigné...
J'ai l'impression qu'il serait même plus simple d'acheter directement une caméra ip...

Merci, et j'essaierais de vous tenir informé sur l'avancé du projet.

Commentaires

  • Hello,

    Moi de mon coté. J'ai couplé une webcam USB avec motion. Prise de photo et vidéo. Ça marche plutôt pas mal.

    Pour la partie SMS tu as trouvé une solution ?
  • Pour la partie SMS j'arrive avec Gammu à envoyer des sms depuis peu.
    J'essai d'envoyer des MMS maintenant, mais apparemment le portable que j'ai ne supporte pas la fonction. Mais sa progresse!

    Avec motion tu as utilisé la détection de mouvement ?

    Pour le moment comme je n'es que la camera du raspberry, je n'es que des commandes du type "raspistill -o image001.jpg"

    Si motion fonctionne bien, je veux bien essayer de voir comment il fonctionne.

    Zoneminder est vraiment bien fait, cependant je pense qu'il risque de prendre un peu trop de puissance sur le rasp. Surtout que je n'es réussi à le faire fonctionner que une fois, depuis que je l'es redémarrer, il ne fonctionne plus.

    Il y a encore du travail! ;)
  • Oui j'utilise la détection de mouvement. Ça marche plutôt bien. Attention motion consomme pas mal en ressource aussi. Moi j'utilise SMS gateway sous android pour envoyer des requêtes http de type GET a mon serveur, je n'ai pas fait dans le sens inverse. faudra que je test.
  • edited décembre 2013
    Tu veux dire que tu as un téléphone android branché pour gérer les alertes SMS ?

    J'ai pas encore choisis comment je veux y parvenir, en tous cas le but est d'envoyer une image du mouvement à un téléphone portable.
    Soit par MMS ( ce que je privilégie )
    Soit en transmettant un lien avec l'adresse url de l'image ( nécessite une dmz je pense.. )
    Soit par mail éventuellement

    le portable est équiper d'un forfait SMS/MMS illimité et 100mo de data, mais le téléphone que j'ai pour le moment ne permet pas de partage de connexion ni l’envoi de mms, je dois trouvé un modèle avec le quelle ca fonctionne :/ c'est pas gagné
  • J'ai réussis à me connecter à internet Grace à WCDIAL. Il a été assez facile à utiliser et crée une connexion ppp. 
    Pourtant je ne pensais pas que le vieux téléphone portable que j’utilise arriverais à faire ca!

    Du coup je vais essayer de faire l'envoi de l'image par mail.


  • edited janvier 2014
    Bon alors la suite...

    J'ai 2 caméras IP brancher sur zoneminder,
    Une base de donnée Mysql liée à zoneminder.
    Un téléphone portable compatible avec Gammu,

    Et 2 scripts perl/shell
    1 script qui regarde si zoneminder a détecter un mouvement et effectue une requête mysql pour récupéré les 3 photos les plus pertinentes. Envoi un Sms avec les infos de la caméra, et se connecte à internet en 3g pour envoyer un Email avec les 3 photos, puis se déconnecte.

    Puis 1 script qui analyse les SMS reçu, ce qui permet de contrôlé entièrement le Raspberry et le système.

    -Aide -Start -Stop -Deletesms -MaintenanceON -MaintenanceOFF -Reboot

    Avec des niveau de droit en fonction de la personne qui envoie le sms au système. Si c'est un numéro inconnu il est ignoré. Ainsi de que des niveaux de notifications personnalisable en fonction de l'utilisateur

    et des events de chaque caméra.


    Voilà, je vais pas donner plus de details pour l'instant, en tous cas ca fonctionne super bien ;)

    Je vais encore blinder les scripts avec des ping sur les camera, et des tests sur les processus pour que le système soit autonome.

  • C'est super intéressant. Un petit tuto serait fort apprécié.
  • edited janvier 2014
    Je vais voir si j'ai le temps de faire un tuto une fois le projet terminé et installé.
    Ca sera mon 1er tuto si je le fais.

    Le système peut maintenant m'envoyer un GIF animé de l’événement enregistré, ce qui est pas mal..
  • Bonjour,

    Projet intéressant et déjà existant. Tu trouveras des infos sur les forums de Raspberry Foundation directement.

    Par contre, tu fais quoi contre le cambrioleur qui coupe le courant chez toi ? :p

    Un coup de pouce :
    http://www.evola.fr/product_info.php/chargeur-lipo-pro-p-187
    (pour les flemmards : gère la coupure d'alimentation, relais l'alim' sur une batterie qui est chargée quand le courant est présent).

    V'là

    K-P
  • edited janvier 2014
    J'ai quasiment fini le projet, donc ca va mais merci ;)

    J'ai prévu un onduleur que j'ai récupéré, et une camera au minimun sur l'onduleur.
    Le programme de maintenance détectera que les autres cameras ne sont plus ping et m'avertira.. en théorie :p
  • Bon, le projet fonctionne bien, mais le raspberry a vraiment trop de mal. Il accumule des images qu'il n'a pas le temps de traiter. Et il peut prendre 2min a voir l'action qui c'est dérouler...
    Avec une camera ca fonctionne bien, 2 c'est trop.
    La transformation d'e 20 photo de quelque kilo en giff prend 1h. Le raspberry est vraiment à sa limite ^^

    Je vais le faire tourner sur un vieux mac mini dès que j'ai le temps.
  • edited avril 2016
    Re!

    J'avais arrêter à cause des études.
    Y'a 3 semaines j'ai tous réécrit depuis le début en tenant compte des erreurs des anciennes version.

    Donc en gros c'est la version 3..
    Je l'ai fait en JAVA car c'est mon langage favoris et j'ai appris des truc sympa.

    Une bref explication, c'est du multi-agent JADE avec thread maintenant:

    GSM ( gestion du tel) :
    threads:
    -réception message inter-process
    -read SMS
    -send SMS
    -send EMAIL
    reste à venir...

    CONSOLE ( serveur console CLI ) :
    threads:
    -réception message inter-process
    -affichage

    LadyBug (parse les SMS)
    J'ai crée une interface CLI, bien plus souple, pour l'ajout de commande.
    discute avec GSM & CONSOLE
    threads :
    -réception message inter-process
    - analyseSMS reply to agent
     
    FALCON (analyse les events de Zoneminder)
    -réception message inter-process
    -analyse des Events, génération des notifications SMS & MAIL au USERS

    --------------
    Client CONSOLE:
    -Petite interface qui se connecte au serveur pour configuration


    L'avantage je pense de cette solution, elle est beaucoup plus souple,
    Le programme se connecte à la base de donnée Zoneminder (Falcon) et la base de donnée Gammu(GSM)
    Le programme peut donc être exécuté sur n'importe quelle machine.

    -> En programmant un nouvelle agent, il est possible d'utiliser d'autre input en conservant le reste.

    J'ai pas encore retrouvé toute les fonctions que j'avais avant, mais bientôt!

    Je dois encore codé :
    -gestion de la 3G (sur deux cannaux gammu?)
    -gestion connexion vers un serveur VPN
    -simplifier le fonctionnement du CLI.. mais pour plus tard

    A bientôt
    vincent
  • edited avril 2016
    C'est vraiment très intéressant et utile!
    Merci bcp pour cette information!

    _______________________________________________________________________________________
    Si vous avez des questions visitez http://casinoenlignecanadians.com/ vous pouvez toujours m'y trouver.
  • Trop cool VOST c'est exactement ce que je suis en train de mettre au point !

    je suis parti pour le matos sur:

    - un intel nuc pentium N3700 8GB et SSD (donc avec tous les SSE qui vont bien pour zoneminder et 4 coeurs qui ne seront pas de trop, par contre le gpu intégré n'est pas utilisable pour le moment pour décoder/encoder le h264 venant des 4 cams et allant vers le stockage d'événements) conso entre 5 et 10W.
    - 4 caméras DCS-4602EV dlink (96° d'ouverture, fullHD, IR, antivandale et étanche) conso 4 à 5W chaque.
    - un switch POE TRENDnet TPE-S50 5 ports

    avec une freebox V6 pour stocker les événements photos et vidéo en haute qualité, avec openvpn pour consulter à distance et un onduleur APC 500VA (matos que j'avais déjà)

    J'envisageais de créer des scripts shell autour de gammu/zoneminder/postfix pour gérer à distance en 2G le système et recevoir les alertes par sms (avec mail pour les vidéos, mms pour les photos, en vdsl ou 3G/4G en secours) mais je vois que je ne suis pas le seul à avoir eu l'idée !!! Du coup tu m'as mi la bave aux lèvres !

    stp, dis moi que va va faire une release en GPL de ta suite java ! :) Sinon je vais devoir coder :(
  • edited mai 2016
    Peut être pas GPL, mais je pense une sorte d'open-source oui.

    image

    Voilà un exemple. Je crée un GIF, centré sur l'image qui a la plus grande détection.
    08:54
    Camera:[foscam]
    Event:[1335]
    moyenne:[8]
    [36/79] : !..!..!..!..!..!..!..!..!..!.!.!.!!!.!!!.!!!.!!!.!.!.!!..!..!..!..!..!..!..!..!
    Les points d'exclamation sont les imagines sélectionnés
    (C'est fait pour allégé l'image envoyé via 3G. Pas besoin d'avoir plus d'image, 1.4mo. Ca crée un petit effet de ralenti :p)

    J'ai fini de codé la gestion automatique de internet. Si le réseau ethernet ne fournit plus internet, il connecte la 3G.

    Mais j'ai eu une super idée pour améliorer ce projet. Car le problème est beaucoup plus gros. Et c'est un problème d'avenir en faite.

    Je veux transformé mon code en un Routeur de notification. Avec des plugins de communications (sortie) (sms/mail/xmpp)
    et des plugins d'informations (notification, camera, event, ect...) 
    Après, il n'y a plus cas crée un plugin (ex zoneminder) pour relier une solution déjà existante aujoud'hui, et on devient compatible avec le reste!



    Peut être que idleman serait intéresser par l'idée, on pourrait connecter YANA.
    (Je dis routeur, mais c'est juste le coeur du programme. Il devient une multi prise capable de transféré les informations d'un flux à l'autre. SMS-> plugin.   Mail->SMS ect..)

    Au milieu le USER fait sa config. PluginCamera, ou camera select -> USER -> Sortie choisie.
    Ca c'est pour la sortie,

    Et pour la configuration, faire un routeur de CLI.
    Si ton CLI s'adresse au routeur (config user) ca reste en interne, sinon il oriente le message vers le plugin.

    De ce faite, un plugin peut contrôler d'autre plugin via le CLI... et la ca devient puissant ! 

    Exemple : 
    Event Camera -> envoit la notif au routeur.
    Le routeur distribue au plugin sortant abonné.
    Le plugin mail s'il n'a pas internet, contrôle le plugin 3G qui va s'activé... ect..

    L'objectif est d'avoir un super CLI, qui se construit automatiquement.
    Après on peut même imaginé une interface web qui est capable d'utiliser le CLI. Mais ca c'est pour plus tard :p


Sign In or Register to comment.