projets:jarvis

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
projets:jarvis [2014/12/03 22:41] hackensprojets:jarvis [2022/05/05 07:40] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
 ====== ======
  
-Jarvis is our IRC bot to handle most of our internal management. Its source code is available on [our Git repo](http://git.hackens.org/Jarvis/) or on [Github](https://github.com/hackEns/Jarvis). Please refer to these repos for more infos on the way it works. Since the rest of this page is basically a user manual for our members, it will be written in French.+Jarvis is our IRC bot to handle most of our internal management. Its source code is available on [our Git repo](https://git.eleves.ens.fr/hackens/Jarvis/) or on [Github](https://github.com/hackEns/Jarvis). Please refer to these repos for more infos on the way it works. Since the rest of this page is basically a user manual for our members, it will be written in French.
  
 Jarvis est notre bot IRC pour gérer tout notre fonctionnement interne. Il permet notamment d'ajouter des nouvelles factures au budget, de gérer les emprunts, et de surveiller l'hack'ave. Toutes les infos données à Jarvis sont présentées sur [sa visu web](http://hackens.org/jarvis). Jarvis est notre bot IRC pour gérer tout notre fonctionnement interne. Il permet notamment d'ajouter des nouvelles factures au budget, de gérer les emprunts, et de surveiller l'hack'ave. Toutes les infos données à Jarvis sont présentées sur [sa visu web](http://hackens.org/jarvis).
  
-Le code est disponible sur [notre dépôt Git](http://git.hackens.org/Jarvis/) ou [Github](https://github.com/hackEns/Jarvis).+Le code est disponible sur [notre dépôt Git](https://git.eleves.ens.fr/hackens/Jarvis/) ou [Github](https://github.com/hackEns/Jarvis).
  
  
Ligne 60: Ligne 60:
     * `lien (supprime|cache|affiche) [id|permalien]` supprime / marque comme privé / rend public le dernier lien (si pas de paramètre `[id|permalien]` spécifié, ou le lien d'id `id` (respectivement de permalien `permalien`).     * `lien (supprime|cache|affiche) [id|permalien]` supprime / marque comme privé / rend public le dernier lien (si pas de paramètre `[id|permalien]` spécifié, ou le lien d'id `id` (respectivement de permalien `permalien`).
 * `log` * `log`
-    * Usage : `log début...fin #tag` ou `log #tag`. +    * Usage : `log début ... fin #tag`. 
-    * Enregistre la section délimitée par `début...fin` (ou la dernière ligne si non spécifié) dans Jarvis, sous le tag `tag`.+    * Enregistre la section délimitée par `début...fin` dans Jarvis, sous le tag `tag`.
 * `lumiere` * `lumiere`
     * Usage : `lumiere ((R G B)|script)`     * Usage : `lumiere ((R G B)|script)`
Ligne 95: Ligne 95:
 Les infos des numéros des pins sont (par exemple) sur http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/turing-machine/two.html Les infos des numéros des pins sont (par exemple) sur http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/turing-machine/two.html
 Attention, l'alim de Jarvis n'est pas suffisante pour les servos qu'on a, et il faut donc utiliser une alimentation externe. L'alim ATX n'est probablement pas une bonne idée. Attention, l'alim de Jarvis n'est pas suffisante pour les servos qu'on a, et il faut donc utiliser une alimentation externe. L'alim ATX n'est probablement pas une bonne idée.
 +<code>
 +Servos pour Jarvis
 +Celui du haut et celui du bas sont identiques mais ne reagissent pas pareil.
 +
 +Servo du haut :
 +
 +position en angle, entre 40 et  180
 +
 +exemple :
 +
 +angle = 60
 +duty = float(angle) / 10.0 + 2.5
 +pwm.ChangeDutyCycle(duty)
 +
 +
 +
 +Servo du bas :
 +
 +en vitesse ?
 +pour le faire tourner dans un sens :
 +pin = 18
 +
 +GPIO.setmode(GPIO.BCM)
 +GPIO.setup(pin, GPIO.OUT)
 +pwm = GPIO.PWM(pin, 100)
 +pwm.start(50)
 +angle = 43
 +duty = float(angle) / 10.0 + 2.5
 +pwm.ChangeDutyCycle(duty)
 +
 +
 +dans l'autre sens :
 +pin = 18
 +
 +GPIO.setmode(GPIO.BCM)
 +GPIO.setup(pin, GPIO.OUT)
 +pwm = GPIO.PWM(pin, 100)
 +pwm.start(50)
 +angle = 43
 +duty = float(angle) / 10.0 + 2.5
 +pwm.ChangeDutyCycle(duty)
 +
 +
 +dans l'autre sens :
 +pin = 18
 +
 +GPIO.setmode(GPIO.BCM)
 +GPIO.setup(pin, GPIO.OUT)
 +pwm = GPIO.PWM(pin, 100)
 +pwm.start(50)
 +angle = 86
 +duty = float(angle) / 10.0 + 2.5
 +pwm.ChangeDutyCycle(duty)
 +</code>
 +
 +## Flux vidéo
 +
 +TODO : Ceci est un dump rapide de ce que j'ai fait, à nettoyer ! 
 +
 +Je tente de suivre les instructions de  http://www.tmplab.org/wiki/index.php/Streaming_Video_With_RaspberryPi .
 +La première étape est de compiler ffmpeg pour le raspi, j'ai suivi les instructions de https://trac.ffmpeg.org/wiki/CompilationGuide/RaspberryPi en adaptant un peu.
 +Quelques points importants :
 + - Raspbian a probablement une vieille version d'eglibc, pensez à vérifier et à ne pas prendre une version plus récente dans ct-ng !
 + - L'utilisation de l'option pour activer les *features* expérimentales n'a pas été nécessaire
 + - Je n'ai compilé ffmpeg qu'avec le support x264 (mais pas alsa etc.) car on veut seulement la vidéo et c'était donc plus simple (et plus rapide)
 +
 +Ensuite on a un sshfs avec autossh (cf http://wiki.gentoo.org/wiki/Autossh) qui synchronise avec hack.ens.fr.
 +On utilise la commande : 
 +
 +````
 +raspivid -ih -pf baseline -t 0 -b 1000000 -w 1280 -h 720 -v -o - | ./bin/ffmpeg -i - -strict -2 -codec:v copy -f ssegment -segment_list stream/cave.m3u8  -segment_list_type hls -segment_list_size 10 -segment_list_flags +live -segment_time 6 -segment_wrap 10 stream/cave%03d.ts
 +````
 +
 +pour la segmentation.
 +
 +Il faudrait avoir des commandes sur le bot IRC pour activer / désactiver tout ça !
  • projets/jarvis.1417646477.txt.gz
  • Dernière modification : 2022/05/05 07:40
  • (modification externe)