Différences
Ci-dessous, les différences entre deux révisions de la page.
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 21:52] – [Commandes directes] hackens | projets: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:// | + | 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/ |
Jarvis est notre bot IRC pour gérer tout notre fonctionnement interne. Il permet notamment d' | Jarvis est notre bot IRC pour gérer tout notre fonctionnement interne. Il permet notamment d' | ||
- | Le code est disponible sur [notre dépôt Git](http://git.hackens.org/Jarvis/) ou [Github](https:// | + | Le code est disponible sur [notre dépôt Git](https://git.eleves.ens.fr/ |
Ligne 21: | Ligne 21: | ||
* Affiche l'aide de Jarvis ou de la commande passée en argument. | * Affiche l'aide de Jarvis ou de la commande passée en argument. | ||
* `alias` | * `alias` | ||
- | * Usage : `alias [categorie]` ou `alias add type nom valeur`. | + | * Usage : `alias [categorie]` ou `alias add type nom valeur` ou `alias del type nom`. |
- | * Liste tous les alias enregistrés (respectivement, | + | * Liste tous les alias enregistrés (respectivement, |
* `atx` | * `atx` | ||
* Usage : `atx (on|off)` | * Usage : `atx (on|off)` | ||
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 | + | * Usage : `log début ... fin #tag`. |
- | * Enregistre la section délimitée par `début...fin` | + | * 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:// | Les infos des numéros des pins sont (par exemple) sur http:// | ||
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. | ||
+ | < | ||
+ | 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, | ||
+ | pwm = GPIO.PWM(pin, | ||
+ | pwm.start(50) | ||
+ | angle = 43 | ||
+ | duty = float(angle) / 10.0 + 2.5 | ||
+ | pwm.ChangeDutyCycle(duty) | ||
+ | |||
+ | |||
+ | dans l' | ||
+ | pin = 18 | ||
+ | |||
+ | GPIO.setmode(GPIO.BCM) | ||
+ | GPIO.setup(pin, | ||
+ | pwm = GPIO.PWM(pin, | ||
+ | pwm.start(50) | ||
+ | angle = 43 | ||
+ | duty = float(angle) / 10.0 + 2.5 | ||
+ | pwm.ChangeDutyCycle(duty) | ||
+ | |||
+ | |||
+ | dans l' | ||
+ | pin = 18 | ||
+ | |||
+ | GPIO.setmode(GPIO.BCM) | ||
+ | GPIO.setup(pin, | ||
+ | pwm = GPIO.PWM(pin, | ||
+ | pwm.start(50) | ||
+ | angle = 86 | ||
+ | duty = float(angle) / 10.0 + 2.5 | ||
+ | pwm.ChangeDutyCycle(duty) | ||
+ | </ | ||
+ | |||
+ | ## Flux vidéo | ||
+ | |||
+ | TODO : Ceci est un dump rapide de ce que j'ai fait, à nettoyer ! | ||
+ | |||
+ | Je tente de suivre les instructions de http:// | ||
+ | La première étape est de compiler ffmpeg pour le raspi, j'ai suivi les instructions de https:// | ||
+ | Quelques points importants : | ||
+ | - Raspbian a probablement une vieille version d' | ||
+ | - L' | ||
+ | - Je n'ai compilé ffmpeg qu' | ||
+ | |||
+ | Ensuite on a un sshfs avec autossh (cf http:// | ||
+ | On utilise la commande : | ||
+ | |||
+ | ```` | ||
+ | raspivid -ih -pf baseline -t 0 -b 1000000 -w 1280 -h 720 -v -o - | ./ | ||
+ | ```` | ||
+ | |||
+ | pour la segmentation. | ||
+ | |||
+ | Il faudrait avoir des commandes sur le bot IRC pour activer / désactiver tout ça ! |