轻装上阵,奋起直追 —— Fedora 30 物联网版亮相

红帽是全球知名的开源大厂,云计算浪潮到来时,他们果断出击,攻城略地。不管是OpenStack还是容器、存储、中间件,都有着极佳的战绩。旗下RHEL、CentOS、Fedora三个发行版,也有着数量可观的用户。

可在物联网领域,他们却有些尴尬。

绝大部分用户都在用Android、Ubuntu和Raspbian(Debian)相关的平台,很难找到红帽系统的物联网设备。

在2017年Eclipse基金会发布的一份物联网开发趋势报告中大家可以看到。

Raspbian(45.5%)和 Ubuntu(44.%)使用率位居一二,红帽系列甚至都没在其中亮相。

一些红帽开发者开始转向其他阵营。

而红帽旗下的Fedora 和 CentOS发布的几款新系统虽然加入对ARM的支持,但对“IoT”的支持还是一般。

以树莓派3x为例,跑Fedora 29之前的版本都有不同程度的卡顿。CentOS倒是可以正常运行,但除了基础软件包以外,很多x86环境下已经支持的第三方应用并没有ARM版,只能自己编译源代码。

目前Linux的各大发行版情况是怎样?

Linux官网上有篇“2018 最佳 Linux 发行版排行”的文章可见一斑。

地址:

https://www.linux.com/blog/learn/intro-to-linux/2018/1/best-linux-distributions-2018

痛定思痛,红帽先锋Fedora终于在近期祭出了大招。

与以往支持Pidora等“野生“版本,或者把ARM归入次级架构不同。

这款系统上来就力推aarch64和x86_64,没有传统的32位ARM,也没有传统的32位x86或其他。

他们专门发布了“Fedora IoT”,并启用二级域名“https://iot.fedoraproject.org/”。

2019年5月,正式推出内核为5.0.9的Fedora 30 For IoT。把一众4.x内核的竞争对手甩在了身后。

包管理工具没有使用经典的yum,也没用dnf。而是采用了 rpm-ostree 这一新式武器。支持原子升级和回滚,干净利落。

在预装程序方面,默认就是Python3.7.3,没有Python2.x等老的组件。

其他开发组件调用的也是最新源,比如刚发布的Perl和Golang等。

传统的 GPIO sysfis 接口也没有了,在系统中不会找到 /sys/class/gpio。

要与GPIO交互,可安装 libgpiod-utils 包来启用相关工具。

经过测试,市面上的几款主流开发板都可以顺畅运行该系统。没有出现烦人的驱动问题,也没有莫名的卡顿。

当然,作为一个刚出道的选手,Fedora IoT还有很多不足之处。

1、缺乏 Ubuntu Core 或 Raspbian 那种强大的生态支持。

2、其原子化操作对新用户来说也会有点门槛,用惯了 Raspbian 的人可能不太适应。

3、诡异的预配置流程(不太方便理解)。

但让人欣慰的是,这是笔者见过红帽系列对树莓派和DragonBoard 410C支持最好的一个版本,是一款可以在中低配ARM板上良好运行的IoT系统。

无论是智能家居,还是物联网网关、边缘计算……精悍的Fedora IoT给我们多了一个选择。

作者:王文文

WebThings Gateway附加组件:扩展网关的功能

除了常规功能以外,WebThings Gateway还有一个附加组件系统。你可以用它来扩展网关的功能。

默认情况下已安装Web Thing、Zigbee和Z-Wave等组件,足以支持大量的商业设备。但是,如果有其他不同类型的设备要加进来。你会需要附加组件来增强对它们的支持。

根据需要找到并安装更多附加组件:

从“设置”菜单中选择“附加组件”。

如果首屏没看到你想要的组件,请单击右下角的“(+)”按钮浏览附加组件列表,然后选择“+ Add”以启用任何附加组件。

例如,你家里有TP-Link或HomeKit兼容的设备,你可以安装它们的附加组件,然后发现这些设备,并且配对。以便它们由你的IoT网关管理。

有些附加组件需要配置才能正常工作(例如Pulse、Weather、ONVIF)。另一些则在添加后立即工作(例如Virtual Things)。

适配器

适配器页面显示当前安装并激活了哪些插件。转到“附加组件”页面,你可以添加或删除系统中适配器。

新的组件将继续被开发,以便能管控更多新的设备。因此请定期检查以扫描列表中的附加组件。你可以在网关开发站点的issues选项卡中提交对额外设备支持的请求。

实验中的功能

你可以在“experiments”选项中启用智能助手和日志记录等实验中的功能。

从“设置”菜单中选择“实验”,然后勾选“启用智能助手”和“日志”。

使用智能助手

一旦启用,智能助手页面就会在主菜单中出现。它允许你用语音和消息命令来控制家里的设备。无论你是使用语音还是输入文本,都可以达到同样的效果。

Web页面会显示你最近发出的打字和语音命令,以及命令的结果。如果你所说的命令被误解或者没说全,请再试一次。记得对麦克风大声清晰地说话。

你可以给它一些指令,比如“打开厨房的灯”。它会回应你,并确认你的动作。到目前为止,它能够理解一组基本的命令来打开和关闭设备、设置级别,设置颜色和色温。

当你第一次点击麦克风图标时,你的浏览器将请求允许使用麦克风。在弹出对话框中,点击“记住这个决定”复选框,然后选择“允许”。

注意,在0.8网关版本中,基于浏览器的语音命令调用的是谷歌语音API,因此音频是在云端处理的。如果你在智能助手的文本框中输入一个命令,那将直接在本地处理,不需要连接到谷歌。

使用日志

一旦启用,日志页面将在主菜单中可见。单击右下角的加号图标,选择要记录的设备、属性以及要存储(日志数据)的持续时间。任何已连接的智能设备都能被记录,并在配置屏幕上可见。

好了,Webthings Gateway的高级功能差不多就到这里。其他的功能大家可以自行探索。

素材:iot.mozilla.org

编译:王文文

怎样用WebThings Gateway管控你的智能家居

普通计算机联网要普通网关,物联网设备联网要用物联网网关。

物联网网关,作为一个新的名词,在物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。作为网关设备,它可以感知网络与通信网络,以及不同类型感知网络之间的协议转换.既可以实现广域互联.也可以实现局域互联。

我们这次就在树莓派上搭一个物联网网关。

WebThings Gateway是一款面向智能家居的物联网网关,来自国际知名的Web浏览器厂商Mozilla。

安装所需要的核心零件:

1、 树莓派

2、SD卡

3、支持ZigBee或Z-Wave协议的USB适配器

WebThings Gateway 镜像地址:

https://github.com/mozilla-iot/gateway/releases/download/0.8.1/gateway-0.8.1.img.zip

安装步骤:

1、刷卡

2、插入USB适配器

3、通电

注:第一次启动可能要等2-3分钟,后面会快一些。

启动系统后,你会在Wi-Fi连接中看到一个名为 “WebThings Gateway XXXX” 的SSID,连上去。

此时会自动跳转到网关的Web管理页面,如果没有自动跳转,就在浏览器里输入“http://192.168.2.1”

然后你必须再次设置Wi-Fi连接,以便物联网网关能接到你家无线路由器上。

将Webthings联网后,系统会问你要不要创建个子域名。

下一步就是添加设备的环节了。

你可以把家里的智能灯泡、插座、门锁……都加进去。

一般的添加过程:

选择要添加的设备,并为其配对。这方面Zigbee和Z-Wave的都差不多。

灯泡拧入(配对时应点亮灯泡),插头插好。

电池驱动的设备,如门/窗传感器、运动探测器、按钮、调光开关、检漏器、温度传感器等等,也都要先通电。

远程控制和规则设置:

添加完相关智能设备后,你可以在手机或平板电脑上直接控制它们。在浏览器中输入WebThings的域名或IP,然后用你设置的用户名密码登录即可。

也可以在“规则”栏里面做设置,比如你想让卧室灯在晚上10点后自动熄灭。

当然,你也可以随时删除它们。

好了,开始享受物联网时代的智能家居生活吧!下一篇文章我再给大家讲WebThings的高级用法。

作者:王文文

Mozilla 推出物联网平台项目 WebThings

Mozilla 物联网团队宣布去年发布的物联网开放平台项目 Project Things 脱离实验阶段,并正式更名为 Mozilla WebThings。

Mozilla 的使命是确保互联网是一个全球公共资源,对所有人开放,所有人都可以访问。互联网将真正把人民放在第一位,个人能获得赋权、安全和独立。而 Mozilla 物联网团队的使命则是创建一种 Web of Things 实现去体现那些价值,帮助推动制定物联网的安全、隐私和互操作标准。

秉承了使命的产物 Mozilla WebThings 志在打破大厂只想绑架消费者使用自家路由器的局面,改变当前物联网生态的破碎现状,从而进一步降低市场物联网设备的售价。此前 Mozilla WebThings 已经历了两年的开发和七个季度的更新,已经引起了开发者和制造商社区的极大兴趣。

WebThings 让用户可以通过网页监控设备,它包括WebThings Gateway和WebThings Framework两个部分。其中,WebThings Gateway 是用于家庭智能网关的软件发行版,专注于隐私、安全和互动;WebThings Framework 可以帮助开发者构建可重复利用的软件组件集。

在宣布推出 WebThings 后,Mozilla 发布了新版本 WebThings Gateway 0.8。新版让用户可以私密记录并监控智能家居设备的数据,还添加了警报、日志的功能和网络设置 UI。

此外,Mozilla 还透露团队正在构建基于 OpenWrt(针对嵌入式设备的 Linux 操作系统)的 WebThings Gateway 版本。该版本将针对消费级无线路由器,本身就可以充当 Wi-Fi 接入点,而不仅仅是作为客户端连接到现有的无线网络。

有兴趣对项目进一步了解,可查阅 WebThings 官网

关于什么是物联网网关:

http://v.qq.com/x/page/r0867d7i4xq.html

让无人机听懂我们说话

大部分无人机都要靠手机或手持遥控器控制。

总而言之,不管是转向还是拍照……都离不开双手来控制。

如果能让无人机听懂我们的诉求,根据语音提示来行动,那就太棒了。

之前曾有一款名叫 XEagle 的语音控制无人机在 Kickstarter 上众筹。

有了它之后,运动爱好者和户外工作人员获得了极大的解放。因为 XEagle 无需双手就能操控,其语音控制、智能手表一键控制、智能避障等功能,不仅将无人机的操控极简化,还能进行自动跟踪拍摄。

不过我们今天的重点不 XEagle,而是要给大家介绍如何构建无人机语音模块。

先来看一段演示:

http://v.qq.com/x/page/h0850udk504.html

当然,不是所有无人机都提供了类似的 SDK。所以目前这个方案主要支持的是 Parrot minidrone 系列产品。

相关 Python 和 JS 代码:

https://github.com/IoToutpost/dronecontrol

硬件需求:

1、Cargo 或 Mambo 这类支持蓝牙遥控的 Parrot minidrone 无人机。

2、负责把 AWS 云服务连接到无人机的 树莓派 。

软件需求:

1、配置遥控用的 Alexa 框架。

2、配置 lambda 将 Alexa 语音命令连接到 AWS。

关于AWS的 lambda 请访问:

https://aws.amazon.com/lambda/

3、在树莓派上安装这个 kickass 库(由@amymcgovern创建):

https://github.com/amymcgovern/pyparrot

这个库提供了python-api 来通过蓝牙连接无人机。

主要流程:

1、调用 AWS lambda 函数,该函数接收操作请求并将事件发送到队列(AWS SQS)。

关于 AWS 的 SQS 消息队列服务请访问:

https://aws.amazon.com/cn/sqs/

2、树莓派上的 DroneService 轮询 SQS 并处理事件

3、DroneService 通过蓝牙向 Parrot 无人机发送移动指令。

DroneService:

无人机服务是一个做以下工作的微循环程序:

轮询AWS的SQS,如果消息可用,则提取有效信息并调用相应的方法。

例如:”TakeOffDroneIntent” -> takeOff()
该方法调用 pyparrot 库来执行无人机的动作,如“向上移动”、“向下移动”、“着陆”。

Alexa 技能:

这个技能包支持6种类型的语言表达:
TakeOffDroneIntent: 无人机起飞
LandDroneIntent: 无人机降落
RotateDroneIntent: 无人机旋转+90或-90度。
位置:RotationType(2个值:[+ 90,-90])
定位精度:“顺时针” -> 90,“逆时针” -> -90。
DroneMovementIntent: 无人机在6个可能的方向上移动。
位置:DirectionType(6个值:[“向上”,“向下”,“向左”,“向右”,“向前”,“向后”])
HoverDroneIntent: 徘徊一次。
FlightPlanIntent: 无人机在 flight_plan 中调用硬编码的飞行计划

构建模型将各种话语指向这个任务集合。

一些提示和计划:

队列应该只有一个执行者和一个发布者,它不适用于多个树莓派轮询相同的队列。

除了AWS,其他云计算提供商也有类似的语音识别、消息队列服务。

该项目未来计划在树莓派中添加面部识别以支持“请无人机来找我”类型的用例,以及支持无人机内部通信。

小结:

以上内容只是用语音代替了双手,遥控器依然需要。之前也有其他人用 Alexa 实现了类似功能,但 IoT前哨站 认为改进的空间依然很大,希望大家可以继续创新。让无人机变得更加人性化!

作者:长空无名

本文内容来自IoT前哨站,转载请注明作者和出处。

Scratch3.0正式发布 脱胎换骨扩展强大

作者:王文文

Scratch是一款由麻省理工学院(MIT)设计开发的少儿编程工具。

早期版本基于Adobe AIR,因此一直无法让iOS和Android的设备运行。近日Scratch官方终于发布了以Blocky为核心的Scratch 3.0,采用Node.js + Html5技术, 支持积木拖拽式 图形界面开发,可以在iOS & Android手机平板及桌上电脑跨平台使用,为青少年编程降低了难度!

而且Scratch 3.0可以向下兼容,因此你不必担心以前的作品无法调试。

你可以访问:https://scratch.mit.edu/create在线编辑,

也可以从:https://scratch.mit.edu/download下载最新的离线编辑器。

新版Scratch界面

此版本更新内容包括:

1、采用JS+Html5的页面技术,除了笔记本或台式机之外,还可以在平板电脑上创建和展示项目。

2、声音引擎(Audio Engine)重新设计,程序画面的速度因为WebGL的加速,达到40 fps,比Scratch 2.0的30fps快了一些,支持16:9画面。

3、新的精灵和背景,还有全新的扩展库,允许连接到Micro:bit、LEGO MINDSTORMS EV3等硬件,40多种语言支持。(连语音识别都给你准备了)

4、将舞台移到了编辑器右边(我倒是觉得放左边更好)。

5、新的运算符,使文本(字符串)更容易使用。

6、新的笔块(pen blocks),支持透明度。

7、IDE的小猫图标都改成字母了。

8、还有其他更新内容请自行发掘。

新版扩展区

从此次大改版大家应该能看出,Scratch志向不小。特别是新加的几个扩展,都是流行的IoT和AI应用。如果你的孩子在家用它搞出什么黑科技,千万不要惊讶。

小米二季度IoT收入翻番 上市来股价振幅高达30%

8月22日,小米集团公布了2018年半年报,这也是小米集团上市以来的首份财报。财报显示,今年上半年,小米收入796.48亿元,同比增长75.4%;经调整利润38.16亿元,同比增长62.2%。

不过,值得一提的是,在过去一个多月中,小米股价多次破发,最低时曾跌至15.52港元/股,较最高峰时的22.2港元/股,震荡幅度达30%。有中国香港券商人士对《证券日报》记者表示,破发是因为投资者仍然担心小米前景,所以沽出股份。截至8月22日收盘,小米报17.68港元/股,当日涨幅1.61%。

上半年收入796亿元 手机业务比重降低

半年报显示,2018年上半年,小米实现了收入、利润双增长。其中,今年二季度小米收入达452.36亿元,同比大涨68.3%,环比增长31.5%;经调整利润21.17亿元,同比增长25.1%,环比增长24.6%。2018年上半年小米收入达796.48亿元,同比增长75.4%;经调整利润38.16亿元,同比增长62.2%。

具体到各业务分部来看,手机业务在小米整体收入中的比重正在降低,收入结构有所优化。其中手机收入由2017年第二季度的192.19亿元增长58.7%至2018年第二季度的305.01亿元,但占总收入百分比由71.5%下降至67.4%。

小米表示,手机收入增长得益于销量和平均售价的双提升。2018年第二季度,小米手机销量达3200万部,同比增长43.9%。而受小米MIX2S、小米8系列等中高端旗舰机型在中国市场优异表现影响,中国大陆地区手机平均售价同比增长超25%。“小米抓住了中国手机市场消费者喜好的转变趋势,将优化产品组合、持续提升高端机型市场占比。”小米在财报中表示。

而与此同时,IoT与生活消费产品和互联网服务收入合计,所占百分比由27.9提升至31.7%。在小米各业务分部中,IoT及生活消费品的增长最为突出。2018年第二季度,该分部收入达103.79亿元,同比增长104.3%。其中,小米电视、小米笔记本电脑等主要IoT产品贡献最大,销售收入达41.78亿元,同比增长147.2%。

此外,2018年第二季度小米互联网服务收入为39.58亿元,同比大涨63.6%。其中,广告收入同比增长69.6%,互联网增值服务收入同比增长54.1%。同时,小米互联网服务的毛利率保持了一贯的高水平,2018年第二季度为62.8%,较上一季度略有提升。

海外市场蓬勃发展 西欧成新增长点

财报显示,小米海外市场收入已占总收入的36.3%,2018年第二季度收入达164亿元,同比增长151.7%。

截至2018年6月30日,小米在全球25个国家和地区跻身市场前五。其中,根据Canalys数据,2018年第二季度小米手机在印度市场同比增长106%,连续四个季度稳居市场份额第一。同一时期,在另一个市场容量极大的海外市场印尼,小米出货量位居该国第二。

此外,继2017年11月进入西班牙市场之后,小米在2018年5月扩展至法国及意大利,截至2018年第二季度,小米手机在西欧的出货量同比增长超过2700%。

来自:证券日报

怎么用 Fio 来测试树莓派的磁盘性能

为了测试系统IO性能的高低,在实际开发中,需要使用IO性能测试工具进行测试。

这里要介绍一款经典神器 —— Fio(Flexible I/O Tester)。

这是一款由 Jens Axboe 开发的用于测评和压力/硬件验证的开源软件。

它支持 19 种不同类型的 I/O 引擎 (sync、mmap、libaio、posixaio、SG v3、splice、null、network、 syslet、guasi、solarisaio,以及更多), I/O 优先级(针对较新的 Linux 内核),I/O 速度,fork 的任务或线程任务等等。它能够在块设备和文件上工作。

Fio被广泛的应用在非常多的地方,包括测评、QA,以及验证用途。它支持 Linux、BSD、OS X、Android 以及 Windows。

简单来说,Fio是用来测试系统IO性能的工具,它的强大之处在与提供了一套测试框架,能够支持多线程多进程的IO测试,用户只需进行参数的配置,便能够方便地定制不同的IO行为(顺序读写,随机读写等),并对其性能进行监测。

对于Debian/Raspbian来说,Fio的安装很容易。

执行 sudo apt-get install fio 即可。

一般的参数和说明:

bs : 设置IO请求的块大小,可以给出上下限
支持对read,write,trim分别进行设置,以逗号隔开
比如:bs=1k-2k,3k-4k,5k-6k
size : 文件请求的大小,控制job结束
rw : 控制读写类型: read/write/rw/randread/randwrite/randrw
direct : 1表示绕过buffer,直接作用于设备
ioengine: io引擎:libaio(异步IO),syslet等
iodepth : 异步IO情况下,IO队列的长度
runtime : 执行时间限制,控制job结束
filename: 输出文件或者设备名,eg:/dev/sba

例子:

bs=4k:单次io的块文件大小为4k
ioengine=libaio:IO引擎使用libaio方式
direct=1: 测试过程绕过机器自带的buffer,使得测试结果更真实,等效于buffered=0
runtime=7200:运行时间设置7200s
size=20G :设置本次测试的空间为20G
filename=/dev/sdb20 :被测裸盘的盘符
group_reporting=1:汇总每一个进程的信息
rate_iops=5000 : rate_iops设置额定的iops,一般测试不需要设置
time_based :设置测试基于时间,注:虽然设置了runtime为7200s,如果没有设置time_based,在空间写满之后停止。
write_iops_log=w-4kb-7200s-numjobs4-iodepth128-ssd:表示将iops写入到一个在fio目录下名叫4kb-7200s-numjobs4-iodepth128.iops.1.log的文件中,注:如果numjobs设置为多线程,则每一个线程的iops写入到一个log文件中。
log_avg_msec=1000: 每隔1000ms往log中写一次数据
rw=randwrite : 测试方式随机写

numjobs=4:设置测试线程数
iodepth=128:io 深度设置为128

实际操作:

随机写入的性能测试:

sudo fio –name=randwrite –ioengine=libaio –iodepth=1 –rw=randwrite –bs=4k –direct=0 –size=512M –numjobs=2 –runtime=240 –group_reporting

输出的结果:

随机读取的测试:

sudo fio –name=randread –ioengine=libaio –iodepth=16 –rw=randread –bs=4k –direct=0 –size=512M –numjobs=2 –runtime=240 –group_reporting

输出的结果:

结果里面包含吞吐量和时间。io=表示总共完成的IO量。在基于容量的测试中,这个值能匹配size参数。aggrb是所有进程/设备的汇总带宽。minb/maxb表示测量到的最小/最大带宽。mint/maxt表示测试的最短和最长耗时。和io=参数类似,时间值对于基于时间的测试应该能匹配runtime参数,对于基于容量的测试是一个变量。

如果对相关参数搞不明白可以看帮助:

好了,IoT前哨站希望大家熟练掌握这个性能检测工具。

在Raspberry Pi 3B上跑Resin balena容器引擎

物联网正在快速发展,它是智慧设备的高度互联网络,这些设备包括环境传感器、健康跟踪器、家用电器和工业设备等。到 2020 年,预计有 200 亿个设备将连入网络,这超过 PC、智能手机和平板电脑加起来的数量的两倍。开发人员正在快速开始为 IoT 创建应用程序,而使用容器可在不同方面为他们带来帮助。

容器是一种轻量型的虚拟化方法,开发人员可使用该方法快速、大规模地开发、测试、部署和更新 IoT 应用程序。此前也有许多 Web 和移动应用程序开发人员使用虚拟机管理程序(比如 VirtualBox)来运行虚拟机 (VM),在一个跨平台的开发、测试和部署工作流中虚拟化物理硬件。道理异曲同工,但容器肯定更轻量。

Balena就是这样一个基于“Moby”的轻量级开源容器引擎,可以兼容32位到64位多种ARM架构,精简又轻便。可以跑在树莓派上。

安装也非常简单,一个命令搞定。

curl -sfL https://balena.io/install.sh | sh

不过缺点也是有的,比如没有Swarm集群、插件、云日志、应用层网络、非boltdb支持的商店。当然在IoT场景中,这些特性的需求度不高。

我在树莓派3B上测试了这个容器引擎,感觉还挺方便。

以后balena将在ResinOS里代替Docker,相信其他一些Docker相关的初创公司也会慢慢走上这条道路。恩,我指的是各种基于Moby的容器引擎替代Docker的。

为什么说最适合IoT开发人员的发行版是Ubuntu

一句话前言:本文说的是用来“写”代码的机器,不是主要用来“跑”代码的机器。

适合做开发的桌面系统很多,但适合做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前哨站”原创,转载请注明原文作者和出处。