| Script python pour piloter un mir:ror pour raspberry pi | |
|
+4lepetitnicolas tikismoke Surame laurent207 8 participants |
|
Auteur | Message |
---|
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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. | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: 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 ";;") | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: Script python pour piloter un mir:ror pour raspberry pi Dim 8 Mar 2015 - 9:02 | |
| Hé hé, oui, je suis démoniaque 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! | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 ? | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: 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 | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: Re: Script python pour piloter un mir:ror pour raspberry pi Dim 8 Mar 2015 - 19:22 | |
| tu tapes quoi comme commande ? | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: 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 | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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. | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: Re: Script python pour piloter un mir:ror pour raspberry pi Lun 16 Mar 2015 - 11:36 | |
| Alors, tu en est où ? Ça fonctionne ? | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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. | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 ? | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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é. | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 ? | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: Re: Script python pour piloter un mir:ror pour raspberry pi Lun 13 Avr 2015 - 15:42 | |
| Yep ce soir sans problèmes. | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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
| |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: Re: Script python pour piloter un mir:ror pour raspberry pi Lun 13 Avr 2015 - 17:05 | |
| Trouvé Le script sur github est erroné 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é | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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. | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 ? | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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) | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 ? | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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. | |
|
| |
laurent207 Bronze Nabz
Age : 46 Localisation : derrière mon écran Nabaztag : Nabaztag:tag v2 ; Mir:ror Nbr de messages : 108 Carottes : 3939
| Sujet: 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 ? | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: 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. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Script python pour piloter un mir:ror pour raspberry pi | |
| |
|
| |
| Script python pour piloter un mir:ror pour raspberry pi | |
|