Modifications

Sauter à la navigation Sauter à la recherche
4 829 octets ajoutés ,  22 janvier 2014 à 07:48
Ligne 3 : Ligne 3 :  
== Firmata? Kaséko? ==
 
== Firmata? Kaséko? ==
   −
Firmata ([http://firmata.org Firmata.org]) est un protocole permettant à un ordinateur de communiquer avec des microcontroleurs. Il est donc possible de controler '''simplement''' un Arduino depuis un Rapsberry en utilisant Firmata.
+
Firmata ([http://firmata.org Firmata.org]) est un protocole permettant à un ordinateur de communiquer avec des microcontroleurs. Il est donc possible de contrôler '''simplement''' un Arduino depuis un ordinateur ou Raspberry en utilisant Firmata.
    
Il existe une implémentation de Firmata en Python... que quoi permettre à notre Pi de contrôler facilement votre Arduino.   
 
Il existe une implémentation de Firmata en Python... que quoi permettre à notre Pi de contrôler facilement votre Arduino.   
Ligne 23 : Ligne 23 :     
=== Téléverser Firmata via FTDI ===
 
=== Téléverser Firmata via FTDI ===
 +
Le connecteur FTDI permet de programmer l'Arduino compatible du RPi-ShieldBridge comme s'il s'agissait d'un vrai Arduino.
 +
 +
[[Fichier:FTDI-Friend.jpg|120px]]
   −
* Download and install the [http://arduino.cc/en/Main/Software Arduino IDE] on your computer ou votre Raspberry Pi.
+
Vous pouvez le programmer soit depuis votre ordinateur, soit depuis votre Pi (via le convertisseur FTDI).
* Close the '''JVCC''' Jumper next to the FTDI connector to power the RPi-ShieldBridge from the FTDI adapter or put it on a Raspberry Pi for powering.
+
 
* Connect the RPi-ShieldBridge with a FTDI adapter (5V) to the computer or Raspberry Pi.
+
[[Fichier:RPI-ShieldBridge-FTDI-10.jpg|450px]]
* Run the Arduino IDE.
+
 
* Select '''Arduino Uno''' under '''Tools->Board'''.
+
* Téléchargez et installer [http://arduino.cc/en/Main/Software Arduino IDE] sur votre ordinateur ou sur votre Raspberry-Pi.
* Select the serial port from the FTDI adapter under Tools->Serial Port.
+
* Si vous voulez alimenter le RPi-ShieldBridge via le connecteur FTDI (si programmé depuis un PC) alors fermez le cavalier '''JVCC''' près du connecteur FTDI ... ou bien mettez votre Pi sous tension (si vous programmez RPi-ShieldBridge depuis le Pi).
* Open the Firmata Sketch under '''File->Examples->Firmata->StandardFirmata'''.
+
* Connectez le convertisseur FTDI (5V) sur le port FTDI du RPi-ShieldBridge.
* Upload the Sketch. If there are upload problems then add a pull-down resistor (10k-47k Ohm) between '''GPIO18''' or '''Jumper''' JBL and GND.
+
* Connectez le port USB du convertisseur FTDI sur votre ordinateur (ou Raspberry Pi).
* Now exit the Arduino IDE.
+
* Demarrez Arduino IDE.
 +
* Selectionnez la carte '''Arduino Uno''' dans le menu '''Outils -> Carte''' (''Tools -> Board'').
 +
* Selectionnez le port série correspondant au convertisseur FTDI dans le menu '''Outils -> Port série''' (''Tools -> Serial Port'').
 +
* Ouvrez le croquis/sketch Firmata accessible dans le menu '''Fichier -> Exemples -> Firmata -> StandardFirmata''' (''File->Examples->Firmata->StandardFirmata'').
 +
* Téléversez le croquis/sketch sur le RPi-ShieldBridge.<br />Si vous éprouvez un problème de téléversement, vérifiez la présence de la résistance pull-down (10k-47k Ohm) entre le '''GPIO18''' (le cavalier '''JBL''') et la masse.
 +
* Quittez ensuite Arduino IDE.
    
=== Téléverser Firmata via GPIO du PI ===
 
=== Téléverser Firmata via GPIO du PI ===
 
Il est également possible d'utiliser la connexion série matérielle du Raspberry Pi pour téléverser le Croquis/Sketch Firmata sur le RPi-ShieldBridge.
 
Il est également possible d'utiliser la connexion série matérielle du Raspberry Pi pour téléverser le Croquis/Sketch Firmata sur le RPi-ShieldBridge.
 +
 +
[[Fichier:RPI-ShieldBridge-Intro.jpg|450px]]
    
Voyez aussi notre section [[RPI-ShieldBridge-ArduinoIDE|Installer Arduino IDE sur Raspberry Pi]] pour les instructions ci-dessous
 
Voyez aussi notre section [[RPI-ShieldBridge-ArduinoIDE|Installer Arduino IDE sur Raspberry Pi]] pour les instructions ci-dessous
* Close the Jumpers: '''JTX''', '''JRX''' and '''JBL''' on the RPi-ShieldBridge.
+
Conformément aux instructions du tutoriel:
* Install the Arduino IDE on the Raspberry Pi.
+
* Fermez les cavaliers '''JTX''', '''JRX''' and '''JBL''' sur le RPi-ShieldBridge.
* Run the Arduino IDE.
+
* Installez Arduino sur votre Raspberry Pi.
 +
* Executez Arduino IDE.
    
Pour téléverser Firmata
 
Pour téléverser Firmata
* Select Arduino Uno under Tools->Board.
+
* Selectionnez '''Arduino Uno''' dans le menu '''Outils -> Carte''' (''Tools -> Board'').
* Select the hardware serial port /dev/ttyAMA0 under Tools->Serial Port.
+
* Sélectionnez le port série matériel (/dev/ttyAMA0 ou le lien symbolique) sous le menu '''Outils -> Port Série''' (''Tools -> Serial Port'').
* Open the Firmata Sketch under File->Examples->Firmata->StandardFirmata.
+
* Ouvrez le croquis/sketch Firmata dans le menu '''Fichier -> Exemple -> Firmata -> StandardFirmata''' (''File -> Examples -> Firmata -> StandardFirmata'').
* Upload the Sketch.
+
* Téléversez le croquis/sketch.
* Now exit the Arduino IDE.
+
* Vous pouvez maintenant quitter Arduino IDE.
    
== Préparé votre Pi ==
 
== Préparé votre Pi ==
Ligne 58 : Ligne 69 :  
* Via UART (port série matériel du Raspberry Pi accessible sur le GPIO)
 
* Via UART (port série matériel du Raspberry Pi accessible sur le GPIO)
   −
=== Connexion USB (convertisseur FTDI) ===
+
=== Connexion USB (via convertisseur FTDI) ===
* Put the RPi-ShieldBridge on the Raspberry Pi.
+
* Placer le RPi-ShieldBridge sur votre Raspberry Pi.
* Connect a FTDI adapter (5V) to the USB port of the Raspberry Pi and FTDI connector on the RPi-ShieldBridge.
+
* Connectez l'adaptateur FTDI (5V) sur le port USB du Raspberry Pi et enfichez l'adaptateur FTDI sur le connecteur FTDI du RPi-ShieldBridge.
* Device name: /dev/ttyUSB0 or /dev/ttyACM0
+
* Le nom du périphérique USB sera /dev/ttyUSB0 (si vous avez défini le lien symbolique) ou /dev/ttyACM0
 +
 
 +
'''Note de MCHobby:'''<br />
 +
Etant donné que le RPi-ShieldBridge est connecté sur le GPIO, ce dernier est alimenté par l'intermédiaire du +5V du GPIO. Dans pareil cas, il n'est pas nécessaire d'alimenter le RPi-ShieldBridge par l'intermédiaire du connecteur FTDI. Les deux potentiels devrait être idéalement de pile à 5V. Cependant, dans la vie réelle, vous pourriez avoir deux tensions légèrements différentes (ex: 5.00v au GPIO et 4.95v causé par une perte sur le fils USB) provoquant une circulation de courant entre les deux potentiels. Pas franchement souhaitable.
 +
 
 +
Dans ce cas, nous conseillons de ne pas ponter le cavalier JVCC (ou ne pas raccorder la broche VCC du connecteur FTDI).
    
=== Connexion UART (port série matériel) ===
 
=== Connexion UART (port série matériel) ===
Ligne 75 : Ligne 91 :     
Nous allons pouvoir nous attaquer au reste.
 
Nous allons pouvoir nous attaquer au reste.
 +
=== Installer pySerial, pyFirmata et pip ===
 +
Installer:
 +
* [http://pyserial.sourceforge.net/ pySerial] en utilisant apt-get.
 +
* [https://github.com/tino/pyFirmata pyFirmata] en utilisant [http://www.pip-installer.org/en/latest/installing.html pip]
 +
 +
<nowiki>$ sudo apt-get update
 +
$ sudo apt-get install python-serial
 +
$ sudo pip install pyfirmata</nowiki>
 +
 +
=== Script de test ===
 +
 +
Créer le script firmatatest.pu
 +
 +
nano firmatatest.py
 +
 +
et tapez le script suivant:
 +
 +
<nowiki>#!/usr/bin/env python
 +
# -*- coding: latin-1 -*-
 +
 +
import time
 +
import RPi.GPIO as GPIO
 +
import pyfirmata
 +
GPIO.setmode(GPIO.BOARD)
 +
GPIO.setup(12, GPIO.OUT)  # GPIO18 (broche 12) en mode sortie (OUTPUT)
 +
GPIO.output(12, GPIO.LOW)  # GPIO18 LOW (niveau bas) -> désactivé du Reset Arduino
 +
# Démarrer la connection avec Arduino UNO
 +
#  USB: /dev/ttyUSB0 ou /dev/ttyACM0
 +
#  UART: /dev/ttyAMA0
 +
board = pyfirmata.Arduino('/dev/ttyUSB0')
 +
board.digital[13].write(1) # activer la LED sur la broche 13
 +
time.sleep(3)              # delai de 3s
 +
board.digital[13].write(0) # Eteindre la LED
 +
time.sleep(3)              # delai de 3s
 +
board.exit()</nowiki>
 +
 +
=== Exécuter le script ===
 +
 +
pour exécuter le script, taper simplement la commande suivante dans un terminal.
 +
 +
$ python firmatatest.py
 +
 +
== Contrôle avec Node.JS ==
 +
 +
=== Installation ===
 +
Pour utiliser Firmata et Node.js, vous devrez installer:
 +
* [http://nodejs.org/ Node]
 +
* [https://npmjs.org/package/firmata La bibliothèque Firmata] pour Node.js
 +
* [https://npmjs.org/package/rpio|La bibliothèque rpio] pour Node.js
 +
 +
<nowiki>$ sudo mkdir /opt/node
 +
$ wget http://nodejs.org/dist/v0.10.12/node-v0.10.12-linux-arm-pi.tar.gz
 +
$ tar zxf node-v0.10.12-linux-arm-pi.tar.gz
 +
$ sudo cp -r node-v0.10.12-linux-arm-pi/* /opt/node
 +
$ sudo nano /etc/profile
 +
 +
# add these lines before *export PATH*
 +
PATH="$PATH:/opt/node/bin"
 +
 +
$ sudo /opt/node/bin/npm install -g firmata
 +
 +
$ sudo /opt/node/bin/npm install -g rpio</nowiki>
 +
 +
=== Créer le script firmatatest.js ===
 +
 +
Créer le fichier firmatatest.js en utilisant la commande
 +
 +
nano firmatatest.js
 +
 +
Et y copier le code suivant:
 +
 +
<nowiki>var rpio = require('rpio');
 +
var firmata = require('firmata');
 +
 +
// GPIO18 low = Niveau bas -> Reset Arduino désactivé
 +
rpio.setOutput(12);
 +
rpio.write(12, rpio.LOW);
 +
 +
// Démarrer une connexion avec Arduino
 +
//  USB: /dev/ttyUSB0 ou /dev/ttyACM0 (via convertisseur FTDI)
 +
//  UART: /dev/ttyAMA0 (via GPIO)
 +
var board = new firmata.Board('/dev/ttyUSB0', function(err)
 +
{
 +
  if(err)
 +
  {
 +
    console.log(err);
 +
    return;
 +
  }
 +
  console.log('connexion etablie');
 +
  board.pinMode(13, board.MODES.OUTPUT);
 +
  // Allumer la LED
 +
  board.digitalWrite(13, board.HIGH);
 +
  // eteindre la LED après 3s
 +
  setTimeout(function()
 +
  {
 +
    board.digitalWrite(13, board.LOW);
 +
    process.exit(0);
 +
  }, 3000);
 +
});</nowiki>
 +
 +
=== Exécuter le script ===
   −
{{traduction}}
+
Taper la commande suivante dans un terminal pour exécuter le script
    +
$ sudo node firmatatest.js
 
{{RPI-ShieldBridge-TRAILER}}
 
{{RPI-ShieldBridge-TRAILER}}
29 918

modifications

Menu de navigation