Being an old user of Phidgets, I think that this article has a major bias in that it does not compare equal things.
He should have been using Phidgets SBC, as it is the board that can run standalone, like the two others. Other Phidgets I/O boards do indeed need to be connected to a PC.
Okay, let’s say it now : Phidgets is expensive. This is obvious. And this is a major drawback, to me. We agree on this.
But…
What the article is missing (purposedly ?), and that may justify the overall price, is the network management : as long as a sensor is connected to either a PC, a I/O board or a SBC, it becomes available on the entire network !
And without any weird programming tricks. (Almost) pseudo-code would be :
TempSensor.Open(Address);
Console.WriteLine("Temp : "+TempSensor.Temperature);
All connected sensor are (or may be) shared on the network and are accessible by any machine on it.
Imagine the following (almost real) scenario :
- a telescope has a motorized focuser (stepper or DC motor) connected on a SBC, which has a Wifi adapter plugged on one of the USB ports
- a temperature sensor is also connected to the SBC
- goal is to adjust focus depending on temperature (this is critical on telescopes
)
- since telescopes are operating outside and at (sometimes very cold) nights, a PC in a warm room is collecting data and sends back orders to the focuser
Then program on the PC would simply look like this :
TempSensor.Open(address);
newTemp = TempSensor.Temperature;
if ((newTemp - oldTemp) > 0.1) { Stepper.Move(Forward, 2); }
As you can see, networking is transparent. Nowhere in my code I have a send/receive event handler in which I would deal with headers, trailers, control chars or others. We focus (!) only on real useful code. Do you sincerely think you could do this that simple with Arduino, Gadgeteer or other NETMF devices ? I am not sure.
And how much would it cost using Arduino/NETMF if you add all the necessary parts to achieve the same result ? How complex would be the networking code ?
So indeed, if this is the purpose, then blinking leds with Phidgets is expensive. But blinking leds can also be done with a 555, and in this case Arduino and others are expensive as well 