Cyclon

From air
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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();