Cyclon: Difference between revisions
Jump to navigation
Jump to search
(→MQTT) |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 10: | Line 10: | ||
=Démarrage rapide avec un [[Arduino]]= |
=Démarrage rapide avec un [[Arduino]]= |
||
Branchez un Arduino sur votre machine |
Branchez un Arduino sur votre machine. |
||
Au moyen de l'IDE Arduino, Installez le sketch FirmataStandard qui est fourni dans les exemples. |
|||
'''Remarque''' : vous pouvez installer Firmata sur l'Arduino en utilisant l'utilitaire en ligne de commande [[Gort#Arduino|Gort]]. |
|||
Lisez https://github.com/voodootikigod/node-serialport#to-install |
Lisez https://github.com/voodootikigod/node-serialport#to-install |
||
| Line 52: | Line 56: | ||
==Espeak== |
==Espeak== |
||
http://cylonjs.com/documentation/platforms/speech/ |
|||
<pre> |
<pre> |
||
brew install https://raw.githubusercontent.com/hybridgroup/cylon-speech/5f32fb3df8fe7031213849f52b14cad5e9846691/lib/espeak.rb |
brew install https://raw.githubusercontent.com/hybridgroup/cylon-speech/5f32fb3df8fe7031213849f52b14cad5e9846691/lib/espeak.rb |
||
espeak "This is awesome, OS X speaking" |
espeak "This is awesome, OS X speaking" |
||
npm install cylon-speech |
|||
node speech.js |
|||
</pre> |
</pre> |
||
'''speech.js''' |
|||
<pre> |
|||
var Cylon = require('cylon'); |
|||
Cylon.robot({ |
|||
// voice for espeak can be specified either in one string or as params for the adaptor. |
|||
// both connections below will reproduce with the same voice. |
|||
// connection: { name: 'speech', adaptor: 'speech', language: 'en, gender: 'f', 'voice: '3' }, |
|||
connection: { name: 'speech', adaptor: 'speech', voice: 'en-f3', speed: 130 }, |
|||
device: { name: 'mouth', driver: 'speech' }, |
|||
work: function(my) { |
|||
my.mouth.say("This is awesome!"); |
|||
my.mouth.say("I'm a Cylon.JS robot, and I'm talking!"); |
|||
} |
|||
}).start(); |
|||
</pre> |
|||
==[[MQTT]]== |
==[[MQTT]]== |
||
http://cylonjs.com/documentation/platforms/mqtt/ |
|||
<pre> |
|||
npm install cylon-mqtt |
|||
node mqtt.js |
|||
</pre> |
|||
'''mqtt.js''' |
|||
<pre> |
<pre> |
||
var Cylon = require('cylon'); |
|||
Cylon.robot({ |
|||
connection: { name: 'server', adaptor: 'mqtt', host: 'mqtt://test.mosquitto.org:1883' }, |
|||
work: function(my) { |
|||
my.server.subscribe('cyclon/test'); |
|||
my.server.on('message', function (topic, data) { |
|||
console.log(topic + ": " + data); |
|||
}); |
|||
every((1).seconds(), function() { |
|||
my.server.publish('cyclon/test', 'Hello Cyclon'); |
|||
}); |
|||
} |
|||
}).start(); |
|||
</pre> |
</pre> |
||
Latest revision as of 07:32, 9 November 2014
Bibliothèques Javascript Node.js pour créer des programmes robotiques.
Installation
node install cyclon sudo npm install -g cylon-cli
Démarrage rapide avec un Arduino
Branchez un Arduino sur votre machine.
Au moyen de l'IDE Arduino, Installez le sketch FirmataStandard qui est fourni dans les exemples.
Remarque : vous pouvez installer Firmata sur l'Arduino en utilisant l'utilitaire en ligne de commande Gort.
Lisez https://github.com/voodootikigod/node-serialport#to-install
Utilisez Gort pour déterminer le port série de l'Arduino.
Sur l'hôte (PC Win/Linux, Mac, RPI, BBB, Edison), exécutez le programme suivant
npm install serialport npm install cyclon-firmata $GORT_HOME/gort scan serial node arduino.js /dev/ttyACM0
arduino.js
var Cylon = require('cylon');
Cylon.robot({
connection: {
name: 'arduino',
adaptor: 'firmata',
port: process.argv[2] // must be changed according $GORT_HOME/gort scan serial ('/dev/ttyACM0', ...)
},
devices: [
{ name: 'led', driver: 'led', pin: 13 },
{ name: 'button', driver: 'button', pin: 2 }
],
work: function(my) {
my.button.on('push', function() {
my.led.toggle()
});
}
}).start();
Autre
Espeak
http://cylonjs.com/documentation/platforms/speech/
brew install https://raw.githubusercontent.com/hybridgroup/cylon-speech/5f32fb3df8fe7031213849f52b14cad5e9846691/lib/espeak.rb espeak "This is awesome, OS X speaking" npm install cylon-speech node speech.js
speech.js
var Cylon = require('cylon');
Cylon.robot({
// voice for espeak can be specified either in one string or as params for the adaptor.
// both connections below will reproduce with the same voice.
// connection: { name: 'speech', adaptor: 'speech', language: 'en, gender: 'f', 'voice: '3' },
connection: { name: 'speech', adaptor: 'speech', voice: 'en-f3', speed: 130 },
device: { name: 'mouth', driver: 'speech' },
work: function(my) {
my.mouth.say("This is awesome!");
my.mouth.say("I'm a Cylon.JS robot, and I'm talking!");
}
}).start();
MQTT
http://cylonjs.com/documentation/platforms/mqtt/
npm install cylon-mqtt node mqtt.js
mqtt.js
var Cylon = require('cylon');
Cylon.robot({
connection: { name: 'server', adaptor: 'mqtt', host: 'mqtt://test.mosquitto.org:1883' },
work: function(my) {
my.server.subscribe('cyclon/test');
my.server.on('message', function (topic, data) {
console.log(topic + ": " + data);
});
every((1).seconds(), function() {
my.server.publish('cyclon/test', 'Hello Cyclon');
});
}
}).start();