I was asked due to a PM what could be advised if someone want’s to start using meteor on “hardware” devices.
Maybe this is interesting for some more readers:
The question is what you want to do with “hardware”. If you just like to play you may use a Raspi 2 or you choose more powerfull hardware like an UDOO Quad (or UDOO Neo when available). This depends a bit on your needs and your money
In our projects we currently use always UDOO boards because they allow us most flexibility but they are also more complex for first timers.
A Raspi has just the ARM SoC with some accessible GPIO ports. When you run the Raspi Debian image, you may get access to those GPIOs by kernel like
/sys/class/gpio/gpio123 (notation is just an example)
So if you do something like
echo "1" > /sys/class/gpio/gpio123
echo "0" > /sys/class/gpio/gpio123
you may turn a led on and off.
If you use some NPM libraries like JonnyFive or RaspiGpio you may do that manipulation as well inside your meteor app. For that you can write a server method which can be called be client via
Meteor.call to toggle the LED or whatever.
If you use the UDOO boards, you get TWO devices: a. the ARM SoC running the Linux OS and b.) a complete Arduino Due32 board. Both are on that ONE hardware.
You now may write Arduino sketches (C code) to control the hardware and establish some small (self designed) protocol between that Arduino process and your Meteor app. This is what we do all the time. We write programs for the Microcontroller to handle the hardware indepently and then we exchange messages between our meteor app and the Arduino. This is done by an internal serial interface from the UDOO. The communication is run by SerialPort NPM inside the meteor app.
Maybe it is a good starting point to get a Raspi bundle and try to write your first “toggle LED” example by a meteor app.
All someone needs is a Raspi 2 bundle, one LED, one Resistor and the meteor universal fork.
Hope that helps for your next decisions.