Sunday, May 22, 2016

IoT Idiot!

One of the reasons I went with a Raspberry Pi for my little project was the claim that it ran Windows 10 IoT. Now I had no idea what IoT was, but I knew Windows 10 and I could program for it. I quickly found out that I would need some new ideas though if this was to work.

Once I had read that the Pi supported Windows 10, I had started writing my code, but I quickly learned that IoT, the Internet of Things, did not have a Windows desktop. This meant that my desktop application would not run on it. I would need to rewrite my code as a Windows Universal application.

Now I had wanted to try my hand at Universal apps for a while (think of them as the Windows Store applications, or applications for what they once called Windows Metro), but had never had the reason to try. So, when I read that, I made a tentative start at rewriting my application as a Windows Universal app, but never got real far. The learning curve into Universal apps is a little steep for those of us who have only written desktop or web apps in the past. Also, I knew that anything I wrote was a temporary measure as I had read that Windows 10 IoT came with its own version of Visual Studio and that you should create the application on the device, so the work I was doing was more or less getting a feel for the environment.

I was told that Windows 10 Iot came on the NOOB (New Out Of the Box) tools that would ship with the Pi, but this was not so. When it arrived, the only OS my Pi came with was Raspbian, one of the many flavors of Unix that run on the Pi. I would have to download Windows 10 and have it installed on my SD card in order to run it, only, I didn't have another SD card and I didn't want to destroy the only OS I was sure ran my Pi, so I ordered a new SD card from Amazon and went back to the waiting game.

In the mean time I hooked up the Pi, as it was, to my new monitor, used one of the USB ports to add the Touchscreen capabilities and played with it a bit. For a $39 computer the Pi is pretty awesome. I could play games, surf the web, do all kinds of things on it.

Finally my SD card arrived and I burned Windows 10 IoT onto it and booted up Windows 10 on my P1! Yay! Or so I thought.

It didn't seem to do anything but show me a static page with non-functioning links. Where was the Visual Studio I had been promised? Where was, hell, anything?

Seems the article I had read about VS being a part of the OS was, how shall we say, bullshit. Not only was Visual Studio not included, IoT could not run it as...wait for's a desktop application!

This was when I learned the real limitations of IoT. Seems it has no program loader, which means in laymen's terms, you can't point it to an application and have it run it. Seems the OS has to boot into your application and it is the only application that will run. I could see the serious limitations beginning to show in trying to run Windows IoT on the Pi.

Can I work with Raspbian?

No comments: