Cyclon

From air
Jump to navigation Jump to search

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