Aller au contenu

aladec

Membres
  • Compteur de contenus

    27
  • Inscription

  • Dernière visite

  • Jours gagnés

    3

aladec a gagné pour la dernière fois le 28 novembre 2015

aladec a eu le contenu le plus aimé !

À propos de aladec

Mon Profil

  • Sex
    Male
  • Pays / Ville
    Liège - Belgique

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

aladec's Achievements

Newbie

Newbie (1/14)

  • First Post Rare
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In Rare

Recent Badges

4

Réputation sur la communauté

  1. Bonjour, Tout simplement parce que je dispose d'un Arduino Uno et que le but de ce post est de connecter un Uno au Syno par usb. Le Uno sert donc d'interface entre un signal d'alarme et l'activation des caméras de surveillance gérées sur le Syno par SurveillanceStation. Le Uno est connecté à 3 diodes led pour surveiller les différents états possibles, un interrupteur simple pour activer ou désactiver les caméras et un relais qui se ferme ou s'ouvre en fonction du branchement de l'alarme. Trois caméras sont gérées par SurveillanceStation, 3 caméras sont gérées directement par le script python et 1 caméra est gérée par ZoneMinder installé sur un Raspberry Pi 3 B. Le script Python qui réceptionne les commandes du Uno, gère donc l'activation de 7 caméras. Exemple de script en Python 3 de gestion des caméras (activer ou désactiver) 1 ou plusieurs caméras du Syno en fonction de la documentation de l'API SurveillanceStation version 9 avec DSM version 7. #!/usr/bin/env python import requests from urllib3.exceptions import InsecureRequestWarning IP_nas = '###.###.###.###' PORT_nas = '####' dsm_url = 'https://'+IP_nas+':'+PORT_nas username = '##########' password = '##########' num_camera = '#' # séparer par , si plusieurs caméras à activer ou désactiver # désactive warning pour certificat en https requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning) params={"api":"SYNO.API.Auth","method":"login","version":"6","account":username,"passwd":password,"session":"SurveillanceStation","format":"sid"} rep=requests.get(dsm_url+"/webapi/auth.cgi",params=params,verify=False) obj=rep.json() #print (obj) sid = obj['data']['sid'] #print(sid) succes=obj['success'] #print (succes) if succes==True: print ("Entrée en session acceptée") else: print ("Entrée en session refusée") # active/désactive caméra "method":"Enable" ou "method":"Disable" # il est parfois nécessaire de changer la valeur de "version" en fonction de la documentation de l'API params={"api":"SYNO.SurveillanceStation.Camera","method":"Disable","version":"9","idList":num_camera,"_sid":sid} rep=requests.get(dsm_url+"/webapi/entry.cgi",params=params,verify=False) obj=rep.json() succes=obj['success'] #print (succes) if succes==True: print ("Caméra "+num_camera+" désactivée(s)") else: print ("Caméra "+num_camera+" impossible à désactiver") #Infos params={"api":"SYNO.SurveillanceStation.Info","method":"GetInfo","version":"7"} rep=requests.get(dsm_url+"/webapi/entry.cgi",params=params,verify=False) obj=rep.json() print (obj) #fin de session params={"api":"SYNO.API.Auth","method":"logout","version":"2","session":"SurveillanceStation","_sid":sid} rep=requests.get(dsm_url+"/webapi/auth.cgi",params=params,verify=False) obj=rep.json() succes=obj['success'] #print (obj) if succes==True: print ("Fin de session") else: print ("Fin de session impossible")
  2. Bonjour, Je redécouvre ce sujet que j'avais publié en 2016. Merci à Chegui pour les avancées concernant la recherche des modules de connexion usb pour un Arduino Uno. J'utilise toujours le système entre un Syno et le Uno. Avec toutes les mises à jour sur le Syno (passage à Python 3), j'ai été obligé de rénover mes scripts. Je compte les publier dès que j'ai le temps.
  3. Bonjour, Je découvre avec surprise une publication en mai 2019 concernant ce sujet. Nous sommes maintenant en janvier 2021 et le système fonctionne toujours suite à différentes adaptations. Il y a 3 caméras (1 licence supplémentaire) qui fonctionnent avec Surveillance Station. 2 caméras supplémentaires avec ZoneMinder sur Raspberry Pi3. 1 interface entre le système d'alarme et le Nas Synology réalisée avec un Arduino Uno qui déclenche un script sur le Nas lorsque le signal d'alarme est branché. La Synchro avec Google Drive n'est plus activée pour des raisons budgétaires. Lors du dernier cambriolage, nous avons pu fournir des vidéos de nos 2 voleurs qui ne sont pas restés très longtemps.
  4. aladec

    Bug avec la DSM 6.1-15047 Update 1

    Bonjour, Je constate aussi que cette maj a effectué un grand nettoyage ... Obligation de réinstaller une librairie Python 2 et tout ce qui concerne les anciens ipkg a été liquidé. Certaines tâches planifiées semblent ne plus fonctionner.
  5. Bonjour, Pour éviter une perte de temps en recherche sur la façon de connecter un Arduino Uno à un Nas Synology, voici la façon de procéder : Testé sur un Nas Synology (DS115j - DSM 6.0.2-8451 Update 5 - le 11/12/2016) et un Arduino Uno R3 L'Arduino Uno est considéré comme un périphérique ttyACM. Sur le Nas, il est nécessaire de créer un nœud et de charger en mémoire un module (cdc-acm.ko présent dans /lib/modules). On se connecte en ssh (via Putty.exe sous Windows 10) en tant qu'administrateur et on passe en Root via sudo -i. On charge le module en mémoire par la commande insmod /lib/modules/cdc-acm.ko On crée le nœud par la commande mknod /dev/ttyACM0 C 166 0 On vérifie que le module est bien en mémoire par la commande lsmod Pour communiquer via la connexion usb (une communication série), on doit mettre en place un script bash ou un script Python qui permettra de lire et de transmettre (écrire) les données sur ce port. Avant de passer à cette étape, il est nécessaire d'automatiser le chargement en mémoire du module cdc-acm.ko et de vérifier si le nœud /dev/ttyACM0 existe. On réalise donc un script bash qui sera exécuté lors du boot du Nas. (je ne suis pas l'auteur de ce script, j'ai réalisé quelques adaptations mineures). Il est nécessaire de créer un dossier /volume1/logs pour le fichier modules.log. Le nom du script S50modules.sh avec le paramètre start ou stop est à enregistrer dans un dossier prévu à cet effet. Il ne faut pas oublier de donner les droits d'exécution à ce script. Pour l'exécuter lors du boot, on place dans le fichier /etc/rc.local une ligne de commande qui pointe vers ce script. Il vaut mieux de placer cette ligne avec une certaine priorité par rapport à d'autres lignes présentent dans ce fichier. sh [chemin vers ce script]/S50modules.sh start Code du script S50modules.sh : #!/bin/sh MODULES_DIR="/lib/modules" MAINMODULE="cdc-acm.ko" heure=$(date +%Hh-%Mmin) jour=$(date +%d-%m-%Y) start_modules(){ echo "--- Charge le module en mémoire ---" echo "Le module cdc-acm.ko est chargé à $heure, le $jour" >> "/volume1/logs/module.log" for i in $MAINMODULE; do echo "Chargement de $i" insmod $MODULES_DIR/$i done sleep 1 # Create the ttyACM0 if [ ! -c /dev/ttyACM0 ]; then echo "Création de /dev/ttyACM0" echo "Le noeud /dev/ttyACM0 est créé à $heure, le $jour" >> "/volume1/logs/module.log" mknod /dev/ttyACM0 c 166 0 fi sleep 1 stty -F /dev/ttyACM0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts sleep 1 } stop_modules(){ echo "--- Décharge le module de la mémoire ---" echo "Le module cdc-acm.ko est déchargé à $heure, le $jour" >> "/volume1/logs/module.log" for i in $MAINMODULE; do echo "Décharge $i" rmmod $MODULES_DIR/$i done # supprime le ttyACM0 if [ -c /dev/ttyACM0 ]; then echo "Le noeud /dev/ttyACM0 est supprimé à $heure, le $jour" >> "/volume1/logs/module.log" echo "/dev/ttyACM0 est supprimé" rm /dev/ttyACM0 fi sleep 1 } case ${1:-start} in start) start_modules ;; stop) stop_modules ;; *) echo "usage: $0 { start | stop }" >&2 exit 1 ;; esac La suite consiste à tester la communication entre un script sur l'Arduino et un script sur le Nas. On aura besoin de remplacer le Nas par un pc tournant sous Linux et de connecter l'Arduino Uno à cette machine via ttyACM afin de procéder au développement des scripts. En effet, le Nas est considéré comme une machine de production et on ne dispose pas de l'IDE Arduino qui permet la réalisation des sketchs (scripts). Lorsque les tests seront concluants, on migrera les scripts vers le Nas. Pour ma part, j'utilise une version Ubuntu 16.04 LTS, présente sur un disque usb. L'avantage est de disposer du paquet Arduino qu'il suffit d'installer via un terminal. sudo apt-get install arduino On dispose alors de l'IDE Arduino qui permet la réalisation des sketchs. Avant la 1ère utilisation, un reboot est nécessaire pour la mise en place. L'Arduino Uno est connecté sur un port usb (en ttyACM0). Le module cdc_acm est chargé automatiquement en mémoire sur Ubuntu. Pour vérifier : lsmod | grep cdc_acm Au niveau des scripts qui seront placés sur le Nas, il faut choisir entre Bash et Python afin de gérer les données sur le /dev/ttyACM0. Sur le Nas, il est possible d'installer le paquet Python 2.7.12. Sur le pc Ubuntu, on dispose aussi de la version Python 2.7.12 . Je choisis donc Python bien que je sois un néophyte de ce langage. Les scripts seront simples à développer. A partir du moment où on sait gérer les communications entre l'Arduino Uno et le Nas via le port usb (port série), plusieurs projets seront possibles éventuellement en domotique. L'inconvénient est la distance entre le Nas et l'Arduino Uno qui dépend de la longueur du câble usb. L'Arduino Uno est également alimenté via cette liaison (une autre possibilité existe). Exemple : l'Arduino Uno servira d'interface entre mon système d'alarme et les caméras de surveillance gérées via Surveillance Station présent sur le Nas. J'ai déjà réalisé ce projet mais en utilisant un Arduino Yun doté d'une liaison Ethernet qui communique via le réseau interne avec le Nas (protocole TCP/IP). Je trouve dommage d'utiliser un Arduino Yun pour ce genre de projet, de plus le Yun est connecté au Nas par usb afin d'être alimenté. Je vais donc tenter de remplacer le Yun par le Uno (3 x moins cher) et communiquer via la connexion usb. Réalisation du script Python chargé sur le Nas et responsable de la gestion des données envoyées par l'Arduino sur le port usb (série) : Avant de programmer, on récupère la librairie "pyserial-master.zip". Cette archive est décompressée dans un dossier du Nas prévu dans /volume1 (on peut le faire sous Windows). On se connecte au Syno en ssh via Putty.exe et on installe cette librairie qui permettra de gérer le port usb du Nas. Pour l'installation, on se déplace dans le dossier "pyserial-master" et on exécute le fichier "setup.py" par la commande python setup.py install - (la librairie est alors disponible pour Python 2.7.12) Le script devra réagir en fonction des données en provenance de l'Arduino Uno. Il y aura 5 données possibles '0', '1', '2', '3' ou '' (vide - pas de donnée). Chaque donnée correspond à une action précise exécutée par un script Bash (déjà opérationnel). Voici le code (attention aux indentations ! Python oblige ...) : #!/usr/bin/env python # -*-coding:UTF-8 -* import subprocess import serial import time import serial.tools.list_ports import sys import os ################# Les fonctions ################################################### def serial_ports(vid_pid): # recherche du port sur lequel se trouve Arduino Uno identifié par son VID:PID portList = list(serial.tools.list_ports.comports()) for info in portList: #print(info[2]) if (vid_pid in info[2]): #print(info[2]) #print "retourne : " + info[0] return info[0] return False def verif_connexion(device): #verification du port de connexion avec Arduino try: print "Tentative de connexion à ..." + device arduino_usb = serial.Serial(device, 9600,timeout=None) # attention aux réglages avec l'Arduino ! Le timeout=None est obligatoire pour rester à l'écoute sur le port print "La connexion est établie avec " + arduino_usb.name #print arduino_usb return(arduino_usb) except: print "La connexion a échoué sur " + device return False def connexion_usb(arduino_usb,boo_shell): chemin_bash="" # variable à introduire !!! while (True): print "En attente ..." arduino_usb.inWaiting() # s'utilise si le timeout=None !!! - écoute infinie sur le port usb en attente de données reçues reception = arduino_usb.read(size=1) print "Réception de : '" + reception +"'" if (reception == '0'): print "L'Arduino demande un arrêt des caméras" subprocess.call(chemin_bash, shell=boo_shell) info_cameras = "Les caméras sont arrêtées" if (reception == '1'): print "L'Arduino demande un démarrage des caméras" subprocess.call(chemin_bash, shell=boo_shell) info_cameras = "Les caméras sont activées" if (reception == '2'): print "L'Arduino a détecté un déclenchement d'alarme" subprocess.call(chemin_bash, shell=boo_shell) info_cameras = "Le signal d'alarme est déclenché" if (reception == '3'): print "L'Arduino demande une vérification des enregistrements vidéos" subprocess.call(chemin_bash, shell=boo_shell) info_cameras = "Vérification des enregistrements vidéos" # renvoi vers arduino print "Le Syno envoie '"+reception+"'" arduino_usb.write(reception) print info_cameras time.sleep(2) arduino_usb.flushInput() arduino_usb.flushOutput() print "Reprise de l'écoute sur " + arduino_usb.name return ########################################################################################### # Ossature du script - boucle principale de lancement # ########################################################################################### if __name__ == '__main__': # Introduire la valeur du VID:PID de l'Arduino (commande lsusb pour l'obtenir) # Attention à la casse, les lettres doivent être en majuscules !!! vid_pid="VID:PID=....:...." # variable à introduire !!! # enregistre le pid de ce processus dans un fichier afin de pouvoir l'arrêter #print os.getpid() chemin="" # variable à introduire !!! fichier_pid=open(chemin+"arduino_usb.pid","w") fichier_pid.write(str(os.getpid())) fichier_pid.close() tentative=1 while True: print "Récupération des données en provenance de l'Arduino avec " + vid_pid if (serial_ports(vid_pid) != False): device = serial_ports(vid_pid) connecte=True else: connecte=False if (tentative > 5): print "Le nombre de tentatives est dépassé - FIN" sys.exit(0) print "L'Arduino n'est pas connecté !" print str(tentative) + " - Tentative de reconnection dans 30 secondes (maximum de tentatives = 5)" time.sleep(30) tentative+=1 while connecte: try: if (verif_connexion(device).is_open == True): connexion_usb(verif_connexion(device), True) except: print "connexion interrompue" print "Attente de 5 secondes avant de reprendre l'écoute sur le port" time.sleep(5) tentative=1 connecte=False # nom du script : "arduino_usb.py" (se lance en tâche de fond comme un service via "script bash start/stop à réaliser !") sys.exit(0) Remarques : Le script est enregistré sous le nom "arduino_usb.py" et se lance (pour les tests) via une session Putty.exe sous Windows, par la commande python usb_arduino.py Il tourne dans une boucle infinie et lors d'une déconnexion de l'Arduino, il tente de se reconnecter, après 5 tentatives espacées de 30 secondes, il s'arrête. Il serait également nécessaire de vérifier si le périphérique connecté est bien l'Arduino Uno. (On utilise le VID:PID de l'Arduino) En utilisation réelle (après les tests), il faudra démarrer ce script au boot du Syno.(On peut tester avec le planificateur de tâches du Syno - exécuter "à la main" le script) Réalisation du sketch à placer sur l'Arduino Uno pour tester la connexion avec le Syno. La fonction suivante est à placer dans le sketch afin de se connecter // fonction appelée pour connexion au syno, renvoie true si la connexion est ok // la variable cas peut prendre les valeurs '0', '1', '2' ou '3' boolean connexion_syno(char cas) { boolean reponse = true; while(reponse) { Serial.print(cas);// écrit la valeur de cas sur le port série (usb) delay(1000);// attente 1 seconde // attente de la réponse du Syno : // vérifie si présence dans le tampon série if (Serial.available() > 0) { if (Serial.read() == cas) // réponse du syno qui renvoi la valeur de cas { reponse=false;// passe à false pour sortir de la boucle while } } } return true;// renvoi true } L'appel de cette fonction s'effectue dans la boucle principale void loop() par if (connexion_syno('3') == true) // ici cas='3' { ...... } Il s'agit ici d'un exemple où l'Arduino Uno pilote le Syno via une connexion usb (série). On peut évidemment envisager l'inverse. Après quelques tests (Arduino connecté au Syno par usb) sur la durée, j'ai remarqué une demande intempestive du démarrage des caméras. Cela provient certainement d'une certaine instabilité de la connexion, il suffit de recevoir '1' pour démarrer. J'ai donc modifié les 2 scripts de gestion sur le Syno et l'Arduino afin d'envoyer des chaînes de commande entre les 2 machines. Actuellement (30/12/2016), je suis en période de test.
  6. tel_linphone.zip Voir le fichier Décompresser l'archive zip -> tel_linphone.sh (script bash) - Les informations suivantes sont reprises dans les commentaires du fichier tel_linphone.sh Commentaires et explications : nom du script : tel_linphone.sh (on peut le changer) adaptation du script trouvé sur http://martinverges.blogspot.be/ un grand MERCI se lance en ligne de commande via Putty.exe sous Windows : sh tel_alarme.sh paramètre_1 le paramètre_1 n'est pas obligatoire -> voir plus loin objectifs de ce script : composer un numéro de téléphone et entrer en communication audio avec son correspondant ou composer automatiquement des appels vers un chaîne de numéros afin de diffuser un message enregistré dans un fichier.wav (message d'alarme par exemple) la possibilité de répondre à un appel n'est pas encore possible ! la possibilité répondeur avec message enregistré n'est pas encore possible ! matériel de test : Synology DS115j Marvell Armada 370 88F6707 avec DSM 5.2 - 5644 update 3 (le 13/02/2016) pas obligatoire : carte son Terratec Aureon Dual USB sur le Synology avec casque micro raccordés Routeur "Fritz!Box 7390" avec "Fritz!Os 06.30" comme serveur sip Modem/routeur Netgear Voo en Bridge - téléphonie gérée par Fritz!box -> sortie téléphone analogique -> entrée sur prise téléphonique du Voo/Netgear (utilisation de Voo pour les communcations téléphoniques vers l'extérieur) actuellement pas d'abonnement sur serveur Sip extérieur Voo est un cablo-distributeur (Tv, téléphone, Internet en Belgique - Wallonie) prérequis : ipkg sur le synology - paquet Linphone fournit par ipkg il est nécessaire d'installer ipkg pour le syno (installation manuelle car pas de "bootstrap" pour le DS115j) http://blog.nouveauxterritoires.fr/fr/2014/04/23/installer-la-commande-ipkg-sur-un-nas-synology-recent/ en cas de problème avec ipkg (error while loading shared libraries: libidn.so.11) -> 2 commandes à exécuter cp /usr/syno/bin/wget /opt/bin/ ipkg update; ipkg upgrade réparer l'install de ipkg en cas de mise à jour de DSM http://korben.info/ipkg-not-found-voici-comment-reparer-linstall-dipkg-sur-votre-nas-synology.html installer le paquet Linphone 3.3.2-1 fourni par ipkg (ipkg install linphone) le processus (daemon) "linphonecsh" est alors disponible en ligne de commande (un reboot du Syno est nécessaire) linphonec et linphonecsh se touvent dans le répertoire /opt/bin placer ce script bash dans un répertoire et lui donner les droits d'exécution compléter les valeurs à introduire -> voir plus bas enregistrer un fichier wav avec un message et placer ce fichier dans un répertoire (droit de lecture) [EDIT du 20/02/2016] Lors de l'appel en boucle, il est parfois nécessaire de procéder à certaines adaptations du script. Appel sur un gsm, après 8 secondes de sonnerie, la communication est considérée comme établie même si le correspondant n'a pas décroché. (le serveur du FAI, enregistre l'appel en absence pour éventuellement prévenir (plus tard) le correspondant si celui-ci ne décroche pas) Dans le script, il faut supprimer la condition qui vérifie le décrochage par le correspondant et placer une durée pour la diffusion du message. Si vous rencontrez ce problème, je peux fournir le code adapté. Contributeur aladec Soumis 14/02/2016 Catégorie Créations de nos membres
  7. Bonjour, Actuellement le script qui active les caméras et réalise des archives zip synchronisées avec Google Drive me donne entière satisfaction. Il est dommage que pour que ce script s'exécute toutes les 5 minutes, il soit nécessaire d'allumer un ordinateur et de se connecter au Syno afin de déclencher la tâche "cron" via le "planificateur de tâches". Il faut ensuite brancher le signal d'alarme qui est indépendant du système. Pour stopper, il faut effectuer les opérations en sens inverse. J'ai remarqué que pour de courtes absences, la procédure de mise en activité des caméras n'était pas exécutée car il faut trop de temps pour la mise en œuvre. De plus lorsque la maison est occupée, le signal d'alarme est branché durant la nuit mais en général les caméras ne sont pas activées. Pour remédier à ces problèmes, il faut donc interagir entre la centrale d'alarme et le Syno. - lorsque le signal d'alarme est branché, les caméras sont activées automatiquement via le Syno. Il faut donc trouver le chaînon manquant entre la centrale d'alarme et le Syno. Je propose de tester avec un micro-ordinateur "Arduino Yun" Un relai se ferme lorsque le signal d'alarme est branché (relai 12v alimenté par la centrale d'alarme). L'Arduino reçoit l'information de la part du circuit de relai comme un interrupteur ouvert ou fermé. L'Arduino devra transmettre au Syno via le réseau ethernet l'information reçue. Relai fermé = démarrage des caméras et toutes les 5 minutes, vérifier s'il y a des enregistrements. Relai ouvert = ne fait rien ou arrête les caméras et la vérification des enregistrements. Relai ouvert/fermé rapidement = déclenchement du signal d'alarme Cela nécessite sur le Syno de faire tourner un serveur à l'écoute de l'Arduino Yun - Ok avec netcat en bash C'est l'Arduino qui donne l'ordre au Syno de démarrer ou d'arrêter les caméras en fonction de l'état du relai. Toutes les 3 minutes, lorsque les caméras fonctionnent, une vérification d'enregistrement est demandée au Syno (synchro avec Google drive) Lorsqu'il y a un déclenchement d'alarme, l'arduino demande au Syno de réaliser des appels téléphoniques automatiques avec message enregistrés au format wav. [EDIT du 17/02/2016] concernant le script de la page 1 de ce post dans lequel la commande "awk" est utilisée. Suite à une maj du Syno, la commande "awk" (fichier awk) se trouve maintenant dans /usr/bin donc dans le script il faut changer "awk" par "/usr/bin/awk" . Sans ce changement, le script fonctionne toujours mais les statuts de "CloudSync" ne sont plus valables. [EDIT du 05/04/2016] Attention suite au passage à la DSM 6, les scripts précédents ne fonctionnent plus entièrement. Une adaptation sera nécessaire. Du travail en perspective ...
  8. Bonjour, Suite à une mise à jour de Surveillance Station, les caméras dont l'enregistrement était au format .avi, changent de format et passent en .mp4 Il faut donc adapter le script si c'est nécessaire. A+
  9. Bonjour, Le fait d'utiliser des caméras de cette manière en prenant le risque que le cambrioleur coupe l'alimentation électrique n'est pas une solution à écarter. J'ai été victime de 5 cambriolages sur 30 ans et les cambrioleurs n'ont jamais coupé l'alimentation électrique. (ce ne sont pas des "pros"). De plus le système d'alarme est pourvu d'une alimentation de secours sur batterie avec appel téléphonique en cas d'intrusion. Lors du dernier cambriolage, j'ai été averti par l'appel téléphonique automatique et je me suis connecté à la seule caméra que je possédais à l'époque (il y à maintenant 1an1/2). J'ai constaté qu'une porte était ouverte et donc qu'il ne s'agissait pas d'une alarme intempestive. Les caméras apportent donc un plus. Elles sont maintenant au nombre de 3 avec un enregistrement vidéo des zones de surveillance. Elles constituent aussi un outil de dissuasion. On pourra toujours discuter sur la qualité de protection en tenant compte du rapport qualité/prix du système utilisé. A chacun de choisir et de s'adapter en fonction de son expérience. Revenons au véritable sujet de ce post et limitons aux solutions proposées.
  10. Bonjour, Et si on actualise la page du navigateur ?
  11. Bonjour, Content que cela fonctionne avec Hubic. Pour enlever le doute, pourriez-vous tester de la même façon avec Google Drive et donner le résultat du test ? Merci d'avance.
  12. Bonjour, Pour le kill "-19" "12897", il faudrait vérifier avant de tester cette commande si le processus 12897 est bien présent dans la liste des processus (commande ps en ligne de commande dans la console Putty pour obtenir la liste). Il est évident que si le processus de Cloud Sync n'est pas présent, il sera impossible de le "geler". Comment se comporte CloudSync avec ces modifications ? La synchro avec Google Drive est-elle correcte ? J'ai testé sur mon Syno (sans enregistrer de vidéos avec Surveillance Station) et cela fonctionnait correctement. Il faudra passer à l'étape suivante si cela va bien (faire fonctionner rsync lors d'un enregistrement vidéo)
  13. Bonjour, Je propose dans un premier temps d'effectuer le changement suivant : créer un sous-répertoire dans le dossier partagé "surveillancebis" avec comme nom "clone". Modifier la commande rsync pour pointer sur le sous-répertoire "clone" et s'assurer que le propriétaire de "clone" est "admin" et le groupe "users". Le répertoire de synchronisation utilisé par CloudSync est "surveillancebis" dans lequel il y a "clone". Voici la commande qui pointe sur "clone" comme destination. rsync -azur --delete-after --log-file="rsync.log" /volume1/surveillance/ /volume1/surveillancebis/clone Pour être certain que les modifications seront prises en compte par CloudSync, redémarrer le Syno. Entrer en session "admin" et vérifier que CloudSync est actif (voir l'icône verte). Via Putty.exe, exécuter le script pour que rsync synchronise le répertoire "surveillance" avec "surveillancebis/clone". (ne pas effectuer d'enregistrement vidéo dans "surveillance" à ce moment) Observer le comportement de CloudSync. Quelques commandes concernant CloudSync qui pourraient servir : #!/bin/sh # récupère la valeur du PID de Cloud Sync dans le fichier syno-cloud-syncd.pid if [ -f /var/run/syno-cloud-syncd.pid ] ; then PID_cloud_sync=`head -1 /var/run/syno-cloud-syncd.pid` fi echo "le pid de CloudSync = $PID_cloud_sync" exit En ligne de commande dans Putty.exe, exécuter la commande ps pour visionner les processus actifs. Repérer le processus de CloudSync (avec le pid). Ce processus est : /var/packages/CloudSync/target/sbin/syno-cloud-syncd /volume1/@cloudsync/config/daemon.conf <<<< commande pour relancer le processus CloudSync On pourra utiliser cette commande pour relancer le processus de CloudSync si on "tue" celui-ci avec kill (sans devoir redémarrer le Syno) Pour tuer le processus : kill "-9" "$PID_cloud_sync" -> relancer avec /var/packages/CloudSync/target/sbin/syno-cloud-syncd /volume1/@cloudsync/config/daemon.conf Pour geler le processus : kill "-19" "$PID_cloud_sync" -> dégeler avec kill "-18" "$PID_cloud_sync"
  14. Bonjour, Merci pour les infos. Pour la synchro, je n'avais pas remarqué ce problème avec l'utilisation de la commande rsync. Il y a, semble-t-il, un problème avec le processus de CloudSync. Il faudrait tenter un redémarrage du Syno et voir si le problème se reproduit. Il est vrai que je n'ai pas testé très longtemps cette possibilité et que j'ai adopté le script qui me construit des archives zip synchronisées avec Google Drive. Si vous optez pour cette solution, il faudra adapter le script en tenant compte qu'il n'y a qu'une caméra et que les enregistrements sont au format mp4.
  15. Re re bonjour, Ok parfait, bonne idée d'éteindre les diodes du Nas, on pourrait le faire lorsque les caméras sont en surveillance et allumer lorsque la surveillance est terminée. Les codes sont d'après mes recherches : pour éteindre echo 67B > /dev/ttyS1 et pour allumer echo 58A > /dev/ttyS1 Pouvez-vous confirmer ? Je ne sais pas tester car je suis actuellement en déplacement. En ce qui concerne la marque des caméras, on ne boxe pas dans la même catégorie ! (j'ai 3 Foscam ...) Je suppose que le format vidéo d'enregistrement est du mp4 ?
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.