物联网江湖 第三回 - 群鸦的盛宴 微软的阳谋

文/王嘉宇

纵横江湖的王者

微软的前三十年,就是一部不断前进,不断征服的历史。自从Windows操作系统在商业层面击败乔帮主的麦金塔开始,微软就开始了它帝国扩张的步伐。 在此期间,微软以office为护城河,以Intel为盟友,不断拓展其帝国的疆土。灭网景如砍瓜切菜,战谷歌似虎斗龙争,王霸之气令人敬畏。人言三十而立,可是微软在度过自己而立之年后,却结结实实的栽了个大跟头。如果说在互联网领域的搜索引擎之争微软还败的不甘心的话,那么上一个十年中在移动操作系统这个战场上输得就是心服口服。不仅如此,若非office这条护城河够宽够阔,微软在桌面操作系统领域的铁王冠能不能戴这么稳当还很难说。

时间是个很有趣的东西,这不,微软又迎来了一个十年轮回的关键节点。十年前微软的Windows Mobile被苹果和Android打个了措手不及,在十年后的今天,微软显然不愿意让历史在物联网领域重演。Windows IoT正是在这种情形下诞生的。

Windows IoT是什么

Windows IoT很有意思,它的目前版本是基于Windows10的一个精简的内核,该内核针对微小设备进行了优化。Windows IoT还支持UWP(Universal Windows Platform)编程接口以供开发者获取更强大的能力。

硬件要求

Windows IoT的硬件要求很高,在我看到的这些IoT操作系统里属于最高的,甚至比一些精简过的Android设备对硬件的要求都高。在是否配置显示设备这两种情形下对硬件的要求分别如下:

  • 无显示设备:256MB内存,2GB存储;
  • 有显示设备:512MB内存,2GB存储。

这样的硬件要求很让人迷惑,这是为物联网设备准备的吗?适用于什么样的物联网设备呢?同等硬件需求,我相信开发者必然选择Brillo甚至是仅仅做过优化的Android而不是微软的产品。

开发板

Windows IoT的开发者网站上罗列了一下现在可以上手应用的硬件开发板:

  • 树莓派2
  • 树莓派3
  • Dragonboard 410C
  • Minnowboard Max

树莓派在硬件发烧群体内已经大名鼎鼎自不待说,微软也极力推荐开发者使用该开发板。个中缘由我们不得而知,不过从微软坑合作伙伴的传统来看,树莓派的一只脚已经上了微软的贼船,贼船上还有很多其他的硬件开发板。只是,恐怕树莓派们期待的盛宴到头来只是一枕黄粱。

开发者网站

Windows IoT开发者网站链接在这里。很明显,Windows IoT的开发者网站与Brillo的开发者网站是两个风格。Brillo开发者网站是现下互联网流行的极简风格,Windows IoT开发者网站则充满浓郁瓷片风格。

开发指南

在开发指南页面,我们可以看到的是如下内容:

入门内容

主要包含两类:

  • 开发者使用的开发环境搭建,毫无意外的是windows10版本。主要包括开发环境的下载以及配置。
  • 开发者目标设备的环境搭建。这里Windows IoT主要以树莓派为介绍对象。重点讲解了如何在目标设备上安装系统,物理连接开发板以及通过工具连接设备。这里介绍并链接了一系列的开发者工具,上手程度并不难。

兼容硬件

与Brillo类似的是,该页面也提供了兼容的硬件类型。不同的是,该页面提供的硬件列表更详细,包含了很多的外设设备列表。不过并没有提供设备的购买链接。但是无伤大雅。兼容的外设设备主要包括如下类型:

  • 相机设备
  • 温湿度传感器设备
  • 气压传感器
  • 三轴加速计传感器
    ...

在这一点上微软确实有足够的积累和经验,为硬件开发发烧友提供了足够多的外设。能够让人确信的是这些外设设备会越来越丰富。

文档和示例

在这一点上,微软再一次显示了作为传统操作系统厂商的经验优势。该页面提供了很丰富的功能以及工具。还包括非常多的应用示例。具体内容各位读者可以转到此页面上详细了解。这里只提一些比较重要的特性:

  • AllJoyn连接性
  • 安全性
  • 嵌入模式
  • Device Portal连接工具

总结

优势

  • Windows平台丰富的开发工具以及开发者的开发习惯是微软的一项很大的优势。
  • Windows IoT开发者网站和开发指南都很友好,虽然我还没有机会去使用树莓派真正的做一下开发体验,但是我看了这么详细的指南之后是非常乐意尝试一下的,尤其是微软在开发者网站上还提供了树莓派的购买链接。
  • 开发者指南页面详细的列出了硬件兼容的外设设备,可以吸引开发者体验开发性能更为丰富的设备。这是很重要的一点。

劣势

  • 开发设备要求的性能比较高,体验的设备主要是树莓派等性能相对比较高的开发板。针对性能更低的一些设备,并没有明确的提供支持。
  • Windows IoT开发平台强制性的要求为Windows10版本。
  • 互联互通的责任全部放在了AllJoyn这个开发框架上。操作系统本身并不提供设备自发现,自组网的功能。
  • 树莓派之类的开发板,供开发者开发测试或者说玩票足够,但是具体到工业生产上,这样的劣势可不是一点半点。

从以下方面向微软学习

  • 丰富的外设设备,更有利于开发者体验开发更丰富的功能。
  • 开发者网站内容清晰,对于开发者的支持非常友好,所有的内容导向清晰,篇幅控制有效。
  • 详细的驱动开发指引,可以让开发社区的开发者提供自己对设备驱动的贡献。
  • 此外,Windows IoT开发者网站还提供了中文页面,而且内容几乎同步,相信其他语言的页面也一定有,这一点也是值得我们学习的。我们自己的Huawei LiteOS开发者网站也需要同步中英文版本。

结语

总的来说,微软仍然有非常大的优势,包括在开发工具方面,在设备驱动兼容性方面都有很多可以继承的积累和能力。这些方面的能力,是微软在物联网操作系统领域可以仰仗的威力十足的武器。但是微软的弱点在于它固有的传统操作系统的理念阻碍了它在物联网操作系统上的发展。物联网设备的核心能力是互联互通,微软在自己的操作系统上并没有全力以赴的专注于这一点。至少从开发者层面上看来,Windows IoT的互联互通的能力非常依赖于AllJoyn这个开发框架。相比来讲,google自己推出Weave显然高出一筹。当然,Windows IoT对硬件的需求才是决定微软IoT操作系统生态建设能否成功的第一要素。如果微软无法在不远的将来有效降低自身物联网操作系统的硬件需求的话,那么等待它的必然是历史的重演。

最后我们必须注意到的一点就是,微软在历史上一系列坑合作伙伴的阳谋会让很多人后背发凉。诺基亚轰然崩塌可是殷鉴不远?

下回预告

下一回准备分析一下Zephyr这个今年刚刚由Linux基金会发布的物联网实时操作系统。

(更多华为资讯请关注华为开发者社区,华为自己的对外开放门户:http://developer.huawei.com/cn/ict/ ,不要问我叫啥,别人都叫我雷锋

物联网江湖 第三回 - 群鸦的盛宴 微软的阳谋_第1张图片


你可能感兴趣的:(物联网开发)