After reading a little about W10 IoT, I have to admit to being a little bewildered.
How can .Net MF have any viability when one can instead use W10 IoT to do comparable things?
The features available in W10 IoT are streets ahead of .Net MF and on boards that are dirt cheap.
Let me ask some (possibly dumb) questions:
Will WIoT ever be available for the G400 etc? the boards already being sold here?
Does WIoT support full .net framework?
What are the min hardware requirements for running WIoT - I dont mean current board options, but specific hardware must-haves.
Give me an example of where one would choose to build a product around .net mf as opposed to WIoT, what drives that decision?
Will MS carry over the gadgeteer concept to WIoT development?
You still cannot squeez WIoT into a Cortex-M4 chip, like G30. There’s a shitload of application for it. WIot will not start in 0.5 seconds. It will not be small. It will always consume lots of power. So, there’s enough space for both.
Im still confused, for half the cost of a Raptor, i can get a quad core 900 MHz Pi 2 and leverage full .net, my raptor also doesnt display output from my app in .5 seconds, takes a couple of seconds after power/restart.
My point is who cares about G30, with prices were seeing for the Pi 2 ?
See how long that puppy runs on a button battery for example.
I kind of see it the other way round, why would anyone want a 900MHz Pi 2, whatever I can’t do with .NetMF, I can use a small computer, phone, band,.whatever to do.
Now the Pi might find a home with Makers, but let say I’m going to release a commercial product, it certainly isn’t going to have a Pi in it, so I’m going to use .NetMF and prototype it, and then do a custom board and a production run of that board.
I’ve built hundreds of devices with .NetMF so it hasn’t been like I’ve been sitting around waiting for the Pi, currently I’m building an environmental monitor with sound level and noise detection, sending the data up to Azure via event hubs (data every second with additional noise events) and then using Stream Analytics to make it available to Power BI and machine learning to top it off. Why would I want to use a Pi? Sure I could build it with a Pi, but why not .NetMF and a spider board. I had only one challenging part and that was with the sound sensor itself, once I got that running I got everything else going in a couple of hours (could have been faster if Azure hadn’t slowed me down a bit by making me wait for it). Gadgeteer is a great tool for my experiments and creative adventures.
Thanks all, very helpful collection of inputs and experinces, much appreciated.
I can certainly see .net mf being a no brainer with size/power demands being a key factor, no way a Pi’s gonna win that game.
So industrial designers and consumers will and do find it attractive.
But lets not kid ourselves that the capabilities of the Pi wont eventually come in a G30 like package, at that point MS will be dominant having then commoditized WIoT. I recall saving up for weeks to buy 16Meg of memory to run Win NT 3.1 back in like 91 or something, inconceivable then that we’d see something like Pi (1 GB) some twenty years later.
This is a brilliant move by MS, today’s makers are tomorrow’s business movers shakers.
I see appeal in both. As mentioned, your tiny projects with specific power needs will certainly still be .netmf, and I for example am thinking of a project with Nixie tubes to show unread email counts, and I’ll go .netmf for it I wager. I’m also looking at a countertop gateway device with a touchscreen that has me leaning W10 IOT for the XAML.
I think there can be some confusion about what a given products intended market is. The Pi is a great example of a product who’s market is the Education/Maker/Hacker market. It is a multipurpose device with a broad mass market appeal that helps keep its cost down. Because of its low cost it is a very attractive platform for hobbyist/hackers to develop projects in the IoT space. It and other boards like the BeaglBone have a lot of documentation, shields and other expansion platforms that make development easier for some. (I might be in the minority but I think using Visual Studio and .NET MF is far easier than any development I have done in embedded Linux but that might be just me.)
It has already been expertly pointed out by other folks in this thread that when looking for long term availability or production level availability the Pi is not going to cut it. I have used the Beagle Bone for prototypes or proof of concept designs but nothing that I intent to produce on a large scale or intent to support long term.
When looking at raw processing power the Pi2 certainly wins out over the G400. However, the G400 will be available for much longer than the Pi2 most likely will. (The exception might be the Raspberry Pi compute module.) In the IoT world a Rasperry Pi, or similar, would probably be considered more of a gateway device that would interface with remote sensors and upload that data to the cloud. A processor of that scale, running a full blown OS, would not last very long on battery power.
There is also the issue of software. Having a full size OS like Linux or Win10 might be appealing at first but there is a lot going on that is out of the control of the average software developer. When working at the .Net MF or lower level with something like a G400, G120, G80 or G30 you have direct access to the hardware. Processor resisters, wake/sleep modes, hardware interrupts are all directly accessible to the developer. This allows a more responsive and lower power applications.
The full OS also greatly increases the attack surface for hackers. It is possible for operating systems to have security vulnerabilities that sit undetected for decades. While it is very possible to lock up a small device with DoS attack; I doubt you will get a .net mf device to be infected with a virus. (The only exception I can think of is if the developer left the In-Field update process unsecured in someway.)
There are embedded applications that do require a full OS. If you intend to produce them at a large scale there are plenty of module options, similar to the Raspberry Pi compute module, that can provide the necessary production stability and support. When looking at the IoT sensor market (non-gateway devices) the processor in the G30 size and smaller are probably where most people are looking due to power requirements.
I am currently using the G120 (FEZ Spider II) in a gateway application using a cellular modem. I initially tried using a Beagle Bone but got frustrated working with Linux. So much overhead to do something so simple. So far I have 2 in the field with a 3rd going out in a week or 2. I am finishing up my own circuit board that will use the G120E.
Excellent point. For internet-connected scenarios, having an SSL-capable device is important, but you’re absolutely right that more capable devices also have downsides that should be considered. And additional attack surface is a big one.
I will be interested to see how customizable Windows 10 IoT Core is, in terms of removing unneeded features or services. My gut tells me that IoT Core will naturally have less attack surface than full Windows 10 with shell and desktop, but considerably more than a NETMF device.