Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Script python pour piloter un mir:ror pour raspberry pi

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3, 4, 5, 6  Suivant
AuteurMessage
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Script python pour piloter un mir:ror pour raspberry pi   Jeu 5 Mar 2015 - 20:28

Bonsoir,

J'ai écrit un petit bout de script en python 2 pour piloter un mir:ror.

Voici l'url du github : mirrorpy

Cette commande shell, vous permet de télécharger le programme (utiliser l'utilisateur pi) :
Code:
git clone --depth=0 git://github.com/Laurent207/mirrorpy.git

Je suis en train de le transformer en service pour qu'il se lance dès le démarrage du rpi.


Perso, je fait des testes à partir d'un raspberry pi et j'envoi des requêtes http à un autre rpi qui fait tourner domoticz ou à un pc qui fait tourner S.A.R.A.H.
Revenir en haut Aller en bas
Surame
Lapin nain
Lapin nain


Localisation : Tours
Nbr de messages : 24
Carottes : 1169

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Sam 7 Mar 2015 - 18:42

Bonsoir !

Le script fonctionne bien. Toutefois, quand je lance le démon :
Code:
/etc/init.d/mirror.sh: 60: /etc/init.d/mirror.sh: Syntax error: "}" unexpected (expecting ";;")
Revenir en haut Aller en bas
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Sam 7 Mar 2015 - 20:47

Surame a écrit:
je lance le démon
tu as un démon chez toi !! Appel un exorciste ^^

Oups, un malencontreux copier-coller sur github, j'ai mit à jour le fichier : mirror.sh
Revenir en haut Aller en bas
Surame
Lapin nain
Lapin nain


Localisation : Tours
Nbr de messages : 24
Carottes : 1169

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Dim 8 Mar 2015 - 9:02

Hé hé, oui, je suis démoniaque nabzblack

Pour autant, je n'arrive pas a lancer le service :
Code:
root@raspberrypi:/etc/init.d# ./mirror.sh start
[....] Démarrage du service mirrorpy:start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
 failed!
Revenir en haut Aller en bas
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Dim 8 Mar 2015 - 10:51

As-tu mit à jour le .sh ?

Si oui as-tu recopié le fichiers dans init.d ?

As-tu donner les droits d'exécution en écriture sur le fichier que tu viens de copier dans init.d ?
Revenir en haut Aller en bas
Surame
Lapin nain
Lapin nain


Localisation : Tours
Nbr de messages : 24
Carottes : 1169

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Dim 8 Mar 2015 - 14:15

laurent207 a écrit:
As-tu mit à jour le .sh ?
Oui. Mais je ne sais pas quoi mettre a la ligne :
#argument à utiliser par le programme
DEAMON_OPT=""

Citation :
Si oui as-tu recopié le fichiers dans init.d ?
Oui

Citation :
As-tu donner les droits d'exécution en écriture sur le fichier que tu viens de copier dans init.d ?
Oui
Revenir en haut Aller en bas
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Dim 8 Mar 2015 - 19:22

tu tapes quoi comme commande ?
Revenir en haut Aller en bas
Surame
Lapin nain
Lapin nain


Localisation : Tours
Nbr de messages : 24
Carottes : 1169

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 9 Mar 2015 - 22:34

root@raspberrypi:/etc/init.d# ./mirror.sh start
Revenir en haut Aller en bas
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Mar 10 Mar 2015 - 15:15

Je ne comprends pas pourquoi, tu utilise root et pas pi ? Tu n'a pas suivi les instructions que j'ai indiqué sur le github du projet ?
Tu as raspbian ? Si tu veux continuer à utiliser root, il faut peut-être que tu mette à jour le chemin du script python dans le fichier du service qui doit se trouver dans init.d.
Revenir en haut Aller en bas
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 16 Mar 2015 - 11:36

Alors, tu en est où ? Ça fonctionne ?
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 14:23

Moi j'ai le même problème.

Code:
pi@raspberrypib ~/mirrorpy $ sudo service mirror.sh start
[....] Démarrage du service mirrorpy:start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
 failed!
pi@raspberrypib ~/mirrorpy $ /etc/init.d/mirror.sh start
[....] Démarrage du service mirrorpy:start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
 failed!

Code:
pi@raspberrypib ~ $ sudo cp /home/pi/mirrorpy/mirror.sh /etc/init.d
pi@raspberrypib ~ $ sudo chmod +x /etc/init.d/mirror.sh
pi@raspberrypib ~ $ sudo /etc/init.d/mirror.sh start
[....] Démarrage du service mirrorpy:start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information.
 failed!


Ha est pour ne plus être embeter j'ai mis le chemin complet du xml dans mirror.py

Aussi tu pourrais voir pour relire le XML de temps en temps car la il faux arreter mirror.py et le relancer pour prendre en compte des modifications.
Revenir en haut Aller en bas
http://palmattitude.com
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 15:03

tikismoke a écrit:
Ha est pour ne plus être embeter j'ai mis le chemin complet du xml dans mirror.py
Je me suis aperçu de ça aussi, c'est pour ça que je l'ai indiqué sur le github.
laurent207 a écrit:
Editer le fichier du service pour vérifier que les chemins sont bon (la commande linux qui permet de connaitre le chemin complet ou l'on se situe est : pwd
Edition du fichier du service(daemon). Modifiez DIR, DAEMON, DEAMON_OPT, DEAMON_NAME et DAEMON_USER (ligne 13, 15, 17, 19 et 21), si nécessaire.
Mon explication n'est peut-être pas clair.

tikismoke a écrit:
Aussi tu pourrais voir pour relire le XML de temps en temps car la il faux arreter mirror.py et le relancer pour prendre en compte des modifications.
Il suffit de faire un restart du service quand tu veux, en tapant :
Code:
sudo /etc/init.d/mirror.sh start

Maintenant, le service tourne ou pas ? As-tu pu faire ce que tu voulais ? Tu as trouvé comment on obtient l'ID de ses tag RFID ?
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 15:09

Non le service ne tourne toujours pas donc le restart non plus. C'est effectivement la solution.

Pour les id j'avais trouvé.
Revenir en haut Aller en bas
http://palmattitude.com
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 15:37

Je n'ai pas le rpi ni le mirror au boulot. Dès que je rentre chez moi, je remonte un rpi à zéro et je teste ça.

Une fois j'ai eu un problème de retour charriot ou une connerie du genre, peux-tu me transmettre ton fichier 'mirror.sh' qui est dans ton init.d, stp ?
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 15:42

Yep ce soir sans problèmes.
Revenir en haut Aller en bas
http://palmattitude.com
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 16:35

Code:
pi@raspberrypib ~ $ cat /etc/init.d/mirror.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides:          mirrorpy
# Required-Start:    $remote_fs $syslog
# Required-Stop:    $remote_fs $syslog
# Default-Start:    2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Démarrage du script pour le mirror
# Description:      Script qui lit les données du mir:ror et appel des requêtes http en fonction de ce qui est dé$
### END INIT INFO

#chemin où se trouve le script python
DIR="/home/pi/mirrorpy"
#nom du fichier qui contient le script python
DAEMON=$DIR/mirror.py
#argument à utiliser par le programme
DEAMON_OPT=""
#nom du service
DEAMON_NAME="mirrorpy"
#utilisateur du programme
DAEMON_USER="root"

# The process ID of the script when it runs is stored here:
PIDFILE=/var/run/$DAEMON_NAME.pid

. /lib/lsb/init-functions

do_start () {
  log_daemon_msg "Démarrage du service $DEAMON_NAME"
  start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USE$
  log_end_msg $?
}
do_stop () {
  log_daemon_msg "Arrêt du service $DEAMON_NAME"
  start-stop-daemon --stop --pidfile $PIDFILE --retry 10
  log_end_msg $?
}

case "$1" in
  start|stop)
    do_${1}
    ;;

  restart|reload|force-reload)
    do_stop
    do_start
    ;;

  force-stop)
    do_stop
    killall -q $DEAMON_NAME || true
    sleep 2
    killall -q -9 $DEAMON_NAME || true
    ;;

  status)
    status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
    ;;

  *)
    echo "Utilisation : /etc/init.d/$DEAMON_NAME {start|stop|force-stop|restart|reload|force-reload|status}"
    exit 1
    ;;

esac
exit 0
Revenir en haut Aller en bas
http://palmattitude.com
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 17:05

Trouvé yellownabzsmile

Le script sur github est erroné yellownabzsad

il faut remplacer la ligne:
Code:
 start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USE$

Par
Code:
 start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USE --exec $DAEMON


Tous à vos éditeur préféré
Revenir en haut Aller en bas
http://palmattitude.com
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 13 Avr 2015 - 17:18

essaye avec ça :
Code:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          mirrorpy
# Required-Start:    $remote_fs $syslog
# Required-Stop:      $remote_fs $syslog
# Default-Start:      2 3 4 5
# Default-Stop:      0 1 6
# Short-Description : Démarrage du script pour le mirror
# Description:        Script qui lit les données du mir:ror et appel des requêtes http en fonction de ce qui est dé$
### END INIT INFO

#chemin où se trouve le script python
DIR="/home/pi/mirrorpy"
#nom du fichier qui contient le script python
DAEMON=$DIR/mirror.py
#argument à utiliser par le programme
DEAMON_OPT=""
#nom du service
DEAMON_NAME="mirrorpy"
#utilisateur du programme
DAEMON_USER="root"

PATH="/sbin:/bin:/usr/sbin:/usr/bin" #Ne pas toucher

test -x $DAEMON || exit 0

# The process ID of the script when it runs is stored here:
PIDFILE=/var/run/$DAEMON_NAME.pid

. /lib/lsb/init-functions

do_start () {
  log_daemon_msg "Démarrage du service $DEAMON_NAME"
  start-stop-daemon --background --name $DEAMON_NAME --start --chuid $DAEMON_USER$ --exec $DAEMON --user $DAEMON_USER --pidfile $PIDFILE --make-pidfile
  log_end_msg $?
}

do_stop () {
  log_daemon_msg "Arrêt du service $DEAMON_NAME"
  start-stop-daemon --stop --pidfile $PIDFILE --retry 10
  log_end_msg $?
}

case "$1" in
  start|stop)
    do_${1}
    ;;

  restart|reload|force-reload)
    do_stop
    do_start
    ;;

  force-stop)
    do_stop
    killall -q $DEAMON_NAME || true
    sleep 2
    killall -q -9 $DEAMON_NAME || true
    ;;

  status)
    status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
    ;;

  *)
    echo "Utilisation : /etc/init.d/$DEAMON_NAME {start|stop|force-stop|restart|reload|force-reload|status}"
    exit 1
    ;;

esac
exit 0
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Dim 19 Avr 2015 - 12:46

Bon jusque là ça marchait pas trop mal.

Sauf que dans ma domotique j'ai des URL longues à répondre.....

Du coup ça crash....
Code:
Traceback (most recent call last):
  File "mirrorpy/mirror.py", line 66, in <module>
    url = urlopen(requete, timeout = 1)
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 401, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 419, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1211, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open
    r = h.getresponse(buffering=True)
  File "/usr/lib/python2.7/httplib.py", line 1034, in getresponse
    response.begin()
  File "/usr/lib/python2.7/httplib.py", line 407, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.7/httplib.py", line 365, in _read_status
    line = self.fp.readline()
  File "/usr/lib/python2.7/socket.py", line 447, in readline
    data = self._sock.recv(self._rbufsize)
socket.timeout: timed out

Du coup j'ai viré le timeout pour être tranquille.
Revenir en haut Aller en bas
http://palmattitude.com
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 20 Avr 2015 - 12:13

J'en avais mit un pour surtout pour les url incorrecte qui tombées, forcement, en timeout et il me semble que ça faisait crasher le deamon. Peut-être qu'avec un timeout très grand ça irai mieux, tu crois pas ?

Chez toi, ça tourne 24/24 ou tu le relance régulièrement ?
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 20 Avr 2015 - 12:42

24/24 depuis 5-6 jours

Mais le mirror est alimenté pas par le rpi mais par l'écran sinon il plante au bou de quelques manipulations.

Pour l'instant il n'est pas à sa place défnintive et ne sert pas encore à100%. (projet de magic mirror)
Revenir en haut Aller en bas
http://palmattitude.com
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 20 Avr 2015 - 14:16

Comment t alimente ton mir:ror par un écran ? Avec une rallonge usb en Y ?
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 20 Avr 2015 - 14:21

Non y a un port pour le bus USB (prise carré relié a la pi) et deux port normaux. Comme si l'écran integrai un hub USB. Mais l'alim des équipements ne viens pas de l'USB de la pi. Comme ça plus de souci de pêche sur l'USB (point noir pour le mirror) j'ai deux mirror chez moi et le comportement et identiques sur mon autre machine. Si le mirror est alimenté par les PC ou la pi il plante au bout d'un moment. S'ils sont alimentés par un hub avec sa propre source ça marche.
Revenir en haut Aller en bas
http://palmattitude.com
laurent207
Bronze Nabz
Bronze Nabz


Age : 38
Localisation : derrière mon écran
Nabaztag : Nabaztag:tag v2 ; Mir:ror
Nbr de messages : 108
Carottes : 1174

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 20 Avr 2015 - 14:38

Tu utilise un rpi 1 A, A+, B ou B+ou un rp1 2 ?
Avec un rpi B, j''avais des soucis d'alimentation de l'usb. Mais pas avec le pi B+ qui est alimenté en v 2 000mA, ça va va beaucoup mieux.

Par contre, si tu utilise un hub, quand tu reboot ton rpi, l'adresse de ton périphérique usb ne change pas ? Ou tu as créé une redirection persistante de ton mir:ror sur un port usb virtuel ?
Revenir en haut Aller en bas
tikismoke
Bronze Nabz
Bronze Nabz
avatar

Localisation : Pays de la moutarde
Nabaztag : Nabaztiki
Nbr de messages : 295
Carottes : 3831

MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   Lun 20 Avr 2015 - 15:20

Un rpib+ mais y a aussi une kinect des enceintes USB et un d'ongle zwave dessus. Pour l'instant pas de souci au reboot.
Revenir en haut Aller en bas
http://palmattitude.com
Contenu sponsorisé




MessageSujet: Re: Script python pour piloter un mir:ror pour raspberry pi   

Revenir en haut Aller en bas
 
Script python pour piloter un mir:ror pour raspberry pi
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 6Aller à la page : 1, 2, 3, 4, 5, 6  Suivant
 Sujets similaires
-
» Script python pour piloter un mir:ror pour raspberry pi
» Accueil FSX pour pilote dans la vie réelle
» tuto pour crée une voiture pour tdu
» Un p'tit décors pour mes nains...Et un pour mon ami des CV !
» conseils pour un effet brillant.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: mir:ror mon beau mir:ror-
Sauter vers: