一句话前言:本文说的是用来“写”代码的机器,不是主要用来“跑”代码的机器。
适合做开发的桌面系统很多,但适合做IoT开发的并不多。
首先要支持各种硬件驱动和外设,再则要方便安装各种开源或闭源的IDE和插件。
很多朋友可能会说Mac OS X不错啊,Mac OS X是不错,但对应的Macbook实在不合群,一旦要用到USB口或者以太网口什么的……
Windows更适合用来进行Windows IoT版开发,而大部分嵌入式设备跑的是Linux……
好吧,那我们在Linux阵营里找。
此刻的答案可能要多如牛毛了,每个发行版的粉丝们都会讲出自己的理由。但我还是要说出我的选择 —— Ubuntu Desktop。
Eclipse 基金会在2017年四月完成了由 713 位开发者回答的 IoT 开发者那个调查,他们被问到了有关 IoT 编程语言、云平台、IoT 操作系统、消息协议(MQTT, HTTP)、IoT 硬件架构等问题。
当被问及大家在IoT开发时采用的操作系统/Linux发行版时,Raspbian 以 45.5% 的比例遥遥领先,Ubuntu/Ubuntu Core 紧随其后,使用比例达到了 44.0%。
嗯,答案看起来应该是Raspbian才对。
可大家别忘了Raspbian一直是跑在树莓派上的,而我们这里说的是技术人员平时用的开发环境。
Ubuntu/Ubuntu Core的官方支持列表大家有目共睹,不管是树莓派还是Orange Pi、DragonBoard 410c、Intel NUC……都能跑。
况且市面上很多公司的产品都在基于Ubuntu Core做定制,不管是大疆、Erle Robotics的无人机还是Rigado的IoT网关。
这样一对应,用Ubuntu的桌面来开发Ubuntu IoT这类系统的软件似乎再合适不过。很多包和组件都是配套的,有官方支持。
为各类设备做内核编译等操作的时候,运行Ubuntu Desktop的高性能X86桌面电脑可以快速交叉编译,搞定你需要的组件。不管是Ubuntu系统的,还是Raspbian系统的。
另外,近期开始流行的跨发行版Snappy包管理器,最初就是为Ubuntu系统构建的。其管理的Snap 包可对 App 和 Ubuntu Core 软件本身进行原子级事务性更新。具有沙箱的属性,不可以随意访问外部资源,和系统的其它部分隔离开来,并通过设计好的安全策略与其他 Snap 进行交互。这也是 Ubuntu Core 具有极强安全性的原因。
写了半天,突然发现Ubuntu官网已经把18.04 LTS这一“长期支持版”正式上线了。
是的,作为一个IoT开发平台,LTS —— “Long Term Support”也很重要。也许这就是我喜欢用Ubuntu Desktop来写代码的原因吧!
版权声明:本文为“IoT前哨站”原创,转载请注明原文作者和出处。