Admin panel for Meteor Cylon.js
Meteor CylonJS wrapper for Arduino board.
This is just for fun but all ideas and PRs are welcomed :)
Usage
Then add the packages:
meteor add juliancwirko:arduino-cylon meteor add juliancwirko:caprica
Blog post
Meteor meets Arduino and Cylon
and config your Cylon:
Example
Server side:
Meteor.startup(function () { Cylon.robot({ name: 'Number Six', description: 'Description is optional...', connections: { arduino: { adaptor: 'firmata', port: '/dev/ttyACM0' } }, devices: { redLed: { driver: 'led', pin: 13 }, yellowLed: { driver: 'led', pin: 12 } }, redLed: function () { this.devices.redLed.toggle(); return 'Cylon ' + this.name + ' toggles red led'; }, yellowLed: function () { this.devices.yellowLed.toggle(); return 'Cylon ' + this.name + ' toggles yellow led'; }, toggleAll: function () { this.devices.redLed.toggle(); this.devices.yellowLed.toggle(); return 'Cylon ' + this.name + ' toggles red and yellow led'; }, commands: function () { return { 'Toggle red Led': this.redLed, 'Toggle yellow Led': this.yellowLed, 'Toggle all': this.toggleAll }; } }).start(); });
Next step is to place {{> capricaHomeland}} template somewhere in your Meteor app layout.
You can se it in demo app here: https://github.com/juliancwirko/caprica-demo
Client side (HTML):
<head> <title>caprica</title> </head> <body> {{> capricaHomeland class="my-custom-class" defaultTheme=true}} </body>
You can disable default css styling by setting defaultTheme to false. You can provide your own class for styling. Other classes will be prefixed with your custom class.
You can also use aldeed:template-extension to overwrite templates. (Be careful with this).
More configuration options and devices documentation on cylonjs website:
You can also read more about juliancwirko:arduino-cylon package here:
https://github.com/juliancwirko/meteor-arduino-cylon
Current UI demo
http://caprica-demo.meteor.com/
Video demo

Problems to solve
- better understanding of npm packages and sudo privilages with Meteor - I have to run meteor with sudo after adding packages :/
- better exceptions handling - if there is no Arduino connected we should comment devices and connections blocks
- you need to refresh page after changes in Cylonjs config
TODO (if time permits):
- http api (maybe with Iron Router) ( ..yes I know that there is cylon-api-http ;) )
- better UI
- more research on cylonjs events etc.
- more demos and examples