Ligne 127 : |
Ligne 127 : |
| board.exit()</nowiki> | | 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 === |
| + | |
| + | Taper la commande suivante dans un terminal pour exécuter le script |
| + | |
| + | $ sudo node firmatatest.js |
| {{RPI-ShieldBridge-TRAILER}} | | {{RPI-ShieldBridge-TRAILER}} |