去年春天,微软发布了自己的window系统与物联网系统的方案,该方案使用树莓派和window 10组成物联网的核心。树莓派是一个与window完全不同的运行在ARM构架下的系统。是的,或许微软决心离开桌面系统,构架一个数以十亿计的物联网平台,或者用它来填补数以万计的POS终端和ATM机留下的空白。
当window 10物联网系统第一次发布时,人们对这样一个window实时系统抱着很大的希望。能够运行真正的Windows应用程序在树莓派上可是一个杀手级的特性。在树莓派上运行Skype的视屏通话可是一个很Cool的方式。
Window 10物联网核心并不非常像一个操作系统。它作为一个设备,可以运行使用Windows API写的应用,但是不能运行脚本。如果你想控制多个设备,每个程序都需要使用程序进行开发,如Visual Basic,JavaScript,C#,或者是Python。
Window 10物联网核心的一个主要特性是网络互动性。当启动树莓派并指定一个浏览器后,它会呈现一个基于互联网的界面。你能通过它检测设备是否连接,是否运行,并启动新的应用程序。这被认为是一个基于网络特性的窗口控制面板。
虽然windows 10物联网系统使用了HDMI作为输出,但输出的信息不多。视频输出的能力暂时未被支持。这样,一些数字设备如POS机和ATM机可以使用window 10的物联网系统,但对于通用计算机,最好使用其他的系统实现。
安装:
官方说法,安装window 10的物联网系统只能在已经安装了window10系统的机器上运行。在GitHub上有一个ffu2img的项目,该项目使用python语言编写,可以将微软专门的FFU镜像文件转换成IMG文件,从而能够在nix或者有Win32DiskImager的window系统上运行。
Window 10系统相对其他的windows系统来说是免费的,但运行windows 10物联网核心的要求是将镜像文件放在SD卡中安装并且只能监控使用物联网核心的设备。不知道为什么这个系统不能提供一个IMG镜像文件。
当将镜像文件放到SD卡上之后,安装windows 10物联网系统核心就像树莓派介绍的一样简单:将卡放进树莓派的卡槽,连接以太网电缆,并供电。不需要使用键盘和鼠标,你几乎不需要做什么事,需要做的只是通过HDMI接口的监控输出信息,输出信息包括IP地址和USB设备是否连接等。
你能对语言和网络设置等做一些修改。这里也有一些教程和例子,比如连接到Visual Studio和点亮LED灯,但是例子不多。基本的使用windows 10物联网核心的信息仅仅是 网络信息、设备名称、和一张树莓派的图片。
官方宣称,树莓派支持的Wifi模块只有官方宣布的BCM43143芯片。但是我们通常会在树莓派上使用的wifi模块是Edimax EW-7811Un,这个小模块使用了Realtec公司的芯片。奇怪的是,如果你手头有一块树莓派2的板子,你接上wifi模块之后是不能工作的。通常的想法是认为缺少Realtec芯片的驱动。但事实并非这样,其实没有一个window的驱动能够在windows 10 物联网系统核心上工作,即使是树莓派官方的驱动,如树莓派的摄像头驱动,这些驱动都不会被window 10物联网驱动核心支持。
如果你想要更进一步的证据证明windows 10物联网核心是一个不可扩展的系统,你只需要再看深一点。数字音频是完全被忽略的,板子的引脚8和10,通常树莓派的3.3V电压的UART引脚被保留了。微软企图让这块板子不能使用硬件UART接口。
幸运的是,这些问题只是暂时的。一个window的设备驱动团队表示更多的wifi驱动将会被支持,但也仅限于那些树莓派基金会支持的官方驱动。同样的关于UART口支持的问题也会得到进一步的协调。
到底是为谁开发的:
关于微软推出的这种操作系统不支持目前通用的标准wifi、UART或者其他重要硬件设备的说法,是为了通过出售这种设备对抗开源硬件运动的趋势。当然这只是一种猜测。
让我们再想一想window 10物联网核心的实际意义。你能使用Visual Studio编写程序并上传到任何运行物联网系统核心的设备上。这些编程的工作有一个很友好的界面,对于那些20出头的windows框架开发团队来说很容易使用。这不是一个针对爱好者开发的设备,而是一个针对终端和ATM机而开发的设备。那些仍在成千上万制造的ATM设备,使用的是Windows XP系统,不久将会被淘汰,这就是微软企图挽救这个市场的方法。物联网系统核心的用户不会是你、也不是我、更不是那些9岁左右想要点亮LED灯的孩子们。这个系统是给公司用来替换那些成千上万的运行XP系统的嵌入式终端设备的。
收好你的SD卡吧:
对于那些有一块树莓派2和一张SD卡的人来说,你在尝试windows 10物联网系统核心花费的是你的时间,而这并不值得。
虽然windows 10物联网核心对于一个公司来说是个伟大的产品,因为能够继承那些使用Visual Basic等编写的产品。但对于DIYer来说这并不能创造新的东西。而且,会有很多可选的方案来代替它。比如Cloud9 IDE和BeagleBone就是一个很好的选择。
这不是一个能取代一切的操作系统。如Linux那样的系统能支持更多的硬件。Windows 10 IOT Core是一个初学者,并应该进一步的学习。它的存在对于那些想要它的人来说是合适的,但对于其他人来说或许linux才会是一个更好的选择。
優態客(YourTechnic)的博客:www.yourtechnic.com
優態客(YourTechnic)的联系方式:[email protected]