Modifications

Sauter à la navigation Sauter à la recherche
3 684 octets ajoutés ,  22 janvier 2014 à 07:48
Ligne 69 : 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) ===
{{traduction}}
+
* Placer le RPi-ShieldBridge sur votre Raspberry Pi.
* Put the RPi-ShieldBridge on the Raspberry Pi.
+
* Connectez l'adaptateur FTDI (5V) sur le port USB du Raspberry Pi et enfichez l'adaptateur FTDI sur le connecteur FTDI du RPi-ShieldBridge.
* Connect a FTDI adapter (5V) to the USB port of the Raspberry Pi and FTDI connector on the RPi-ShieldBridge.
+
* Le nom du périphérique USB sera /dev/ttyUSB0 (si vous avez défini le lien symbolique) ou /dev/ttyACM0
* Device name: /dev/ttyUSB0 or /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 87 : 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 922

modifications

Menu de navigation