With this training, you'll learn how to program for Arduino using Node.js and the johnny-five library.
- How to wire together circuit components and an Arduino
- How to use johnny-five to control components in a circuit
- How to expose your hardware to the wider internet using Node.js and websockets
In order to prepare for this training you should do the following workshopper exercises. If you have questions, please open an issue and we will be glad to answer, you might be helping other participants too.
The nodebot workshop is a nodeschool workshopper built especially for LXJS.
Learn the basics of the johnny-five api, as a series of code challenges.
johnny-five is an api for working with Arduino and other rapid prototyping boards.
You don't need an Arduino for this workshop.
The workshop will pose a challenge, and will test your code.
The low level code to talk to the Arduino is stubbed out.
You will be writing working, executable johnny-five code.
Each of your solutions can be run directly as a node program.
Wire up an Arduino, connect the USB and you can see you solution run for real.
- Install Node.js
- Install node-gyp dependencies for your system
- Install the nodebot workshop:
npm install -g nodebot-workshop
- Start the workshopper:
nodebot-workshop
- Select an exercise, read the instructions and code your solution
- Check your solution:
nodebot-workshop verify your-solution.js
- Run your solution: plug in your Ardunio and type
node your-solution.js
No materials are required for the workshopper, but if you want to build your circuits and see your code running for real then get your hands on one of these:
- Rogério Vicente - rogeriopvl
- Afonso Oliveira - afonsomota
- Telmo Costa - telmofcosta
- Miguel Serrano - miguelvps
- Mario Nzualo - marionzualo
- Matej Nemcek - yangwao
- Karolis Narkevicius - KidkArolis
- Diogo Santos - diogodssantos
- Michael Geers - naltatis
- Alex Treppass - alextreppass
- Derek Johnston - derekbjohnston
- Max Gfeller - MaxGfeller
- Sergey Belov - arikon
- Alejandro Dev - ainformatico
- Mike Brevoort - mbrevoort
- Kevin Sawicki - kevinsawicki
- Marco Ferreira - xpt0
- Miguel Palhas - naps62
- André Neves - andrefgneves
- Hugo Mota - hugomota
- Nelson Fonseca - nlfonseca
- Tiago Duque - bikerpower
- Jorge Monteiro - jorgemonteiro
- Leonardo Aretakis - leoaretakis
- Ronaldo Sousa - ronaldofs
- João Gomes - jamgomes
- Luís Miranda - luispmiranda
- Tiago Morais - tnbmorais
- Nathan Sobo - nathansobo
- Andy Trevorah - trevorah
- Mauro Henriques - Degetel-mhenriques
- Gegely Szanto - szantogeri
- Gamboa Gamboa - suskind
- Nuno Jesus - nmjesus
- Joel Matias - JoelBMatias
- Daniel da Silva - danielfdsilva
- Nelson Correia - nelsonic
- Ines Teles - iteles
- Nelson Neves - nneves
- Oliver Zeigermann - DJCordhose
- João Nelas - adagios
- Ricardo Tomasi - ricardobeat
- David Bruant - DavidBruant
- Jorge Braz - jorgepcbraz
- James Nocentini - jamiltz
- Ricardo Soares - rsoares
- Miguel Coquet - mcoquet
- Sergey Belov - arikon
- Stefan Jansen - xtravanta
- Pedro Melo Pereira - pmelopereira
- Tom Ashworth - phuu
- Charlie Robbins - indexzero
- Jonathan Lipps - jlipps
- Hugo Rodrigues - hugominas
- Bruno Azevedo - azevedo-252
- João Araújo - unisphere
- Marta Maio - martarsm
- João Fernandes - joaoflf
- António Pires - borgesPires
- Mario Mendes - MMendes999
- Bruno Assunção - BrunoAssuncao
- Bruno Rodrigues - bmmrodrigues
- Mike Bartlett - mydigitalself
- Walter Carvalho - waltervascarvalho
- Mate Nadasdi - matenadasdi
- Espen Hovlandsdal - rexxars
- Ricardo Batista - nihildacta
- Wilson Silva - wilsonsilva