« IllustraBot » : différence entre les versions

De Kernel Fablab Lannion
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 33 : Ligne 33 :
L'objectif est de donner au serveur websocket le type d'interface et les modifications à faire sur le gcode.
L'objectif est de donner au serveur websocket le type d'interface et les modifications à faire sur le gcode.


botname = 'test' # défini le type de robot à utiliser (parmi la liste suivante)
* botname = 'test' # défini le type de robot à utiliser (parmi la liste suivante)
sourceMaxX = 500 # la valeur max de l'axe X sur la source
* sourceMaxX = 500 # la valeur max de l'axe X sur la source
sourceMaxY = 700 # la valeur max de l'axe Y sur la source
* sourceMaxY = 700 # la valeur max de l'axe Y sur la source
config = ... défini la liste possible des robots configurés
* config = ... défini la liste possible des robots configurés


Les types de robots sont:
Les types de robots sont:

Version du 18 février 2013 à 23:31

Plus d'informations sur le projet.

Code

Le code est disponible dans notre dépôt github.

Pour accéder en écriture au dépôt, il vous faut créer un compte github puis demander à user:jerome de vous ajouter en tant que collaborateur (pensez à donner votre user github).

Une fois ceci fait, vous pouvez récupérer le code en local :

git clone https://github.com/fablab-lannion/IllustraBot.git
cd IllustraBot

Plus d'information sur Github

Serveur WebSocket sur RPi

(Inspiré de la page: Lowpowerlab)

Installation

Installation de la librairie Python Tornado

pi@raspberrypi ~ $ sudo aptitude update
pi@raspberrypi ~ $ sudo aptitude install python-pip python-dev
pi@raspberrypi ~ $ sudo pip install Tornado
pi@raspberrypi ~ $ cd IllustraBot/RaspberryPi/pyserial-2.6
pi@raspberrypi ~/IllustraBot/RaspberryPi/pyserial-2.6 $ python setup.py install
pi@raspberrypi ~/IllustraBot/RaspberryPi/pyserial-2.6 $ cd ../SPI-Py
pi@raspberrypi ~/IllustraBot/RaspberryPi/SPI-py $ python setup.py install

Configurer le serveur

L'objectif est de donner au serveur websocket le type d'interface et les modifications à faire sur le gcode.

  • botname = 'test' # défini le type de robot à utiliser (parmi la liste suivante)
  • sourceMaxX = 500 # la valeur max de l'axe X sur la source
  • sourceMaxY = 700 # la valeur max de l'axe Y sur la source
  • config = ... défini la liste possible des robots configurés

Les types de robots sont:

  • 'type' : 'dev'
    • pour les connexions série (type arduino)
    • champs liés:
      • 'arduinoDev': '/dev/ttyUSB0',
      • 'arduinoDevSpeed': 115200,
  • 'type': 'socket',
    • pour les connexions gcode over socket (exemple: parrot)
    • champs liés:
      • 'socketIP': '192.168.1.100'
      • 'socketPort': 9999,
  • 'type': 'file',
    • pour envoyer le gcode dans un fichier
    • champs liés:
      • 'file': '/tmp/gcode'
  • 'type': 'spi',
    • pour envoyer le gcode sur un dev SPI
    • champs liés:
      • aucun (pour le moment)

Les autres champs à configurer pour chaque robot:

  • 'sizeX': la taille de l'axe X du robot
  • 'sizeY': la taille de l'axe Y du robot
  • 'inverseAxes': inverser l'axe Y et Z (0 ou 1)
  • 'trapezeFactor': si projection trapezoidale, facteur de multiplication du segment haut du trapeze,
  • 'floor': passer le gcode de flottant à entier (0 ou 1)
  • 'moveToLenght': transformer les coordonnées cartésiennes en longueurs pour les robots à base de poulies,
  • 'extraLenght': longueur à ajouter

Lancer le serveur (inclus dans le dépot Git):

pi@raspberrypi ~/IllustraBot/RaspberryPi/ $ python websocket-server.py &

NOTE: Le serveur websocket est fonctionnel et transmet le GCode vers un port série