为物联网更新软件应该这样干
扫描二维码
随时随地手机看文章
要让嵌入式装置连结到网际网路是微不足道的小事,不过一旦那些装置被部署,就会有更不容易解决的问题浮现…
物联网(IoT)的新鲜感过了之后,该市场的现实是一群快速投入其中的投资者、市场行销人员以及设计工程师…
不过被设计来支援难以捉摸的物联网市场之底层技术与生态系统仍然太不成熟,让大多数企业以及投资人无法回收利润;事实上,坊间传闻显示,想要在物联网领域创业的人,开始面临来自投资社群的直觉怀疑。简而言之,物联网的后座力开始显现。
在这样的背景下,一家总部在伦敦的4岁新创公司Resin.io,日前宣布该公司获得了来自DFJ、GE Ventures、Ericsson与Aspect Ventures等大企业、总额担保为900万美元的资金。Resin.io可提供的技术反映了目前很少被讨论、但正威胁物联网建立者与设计者的挑战
要让嵌入式装置连结到网际网路是微不足道的小事,不过一旦那些装置被部署,就会有更不容易解决的问题浮现──也就是如何管理并远端监测那些数以百万计的已布署物联网装置。
想知道更多物联网&嵌入式系统关键技术?快来免费参加Tech Taipei研讨会!
物联网装置需要能无线下载(over-the-air)的韧体以及软体更新,而且:“还需要能快速并安全完成;”Resin.io总经理Bryan Hale接受EE TImes编辑采访时表示,装置的安全漏洞必须要在几个小时而非几星期内被修补,在客户无论何时何地需要的时候提供新功能,此外还要能针对大规模数量连网装置提供一致性与可靠性。
Hale表示,Resin.io的任务就是让远端装置上的程式码容易布署、更新与维护;该公司基本上是采用Linux软体容器(container)以及其他开放性技术,来简化开发工程师们建立、布署以及管理物联网软体的工作。
大厂开始关注物联网装置软体更新问题
Resin.io创办人暨执行长Alexandros Marinos认为,来自GE Ventures、Ericsson等大企业的资金,反映了目前工业物联网市场缺少的东西,而该公司的技术正可以填补这些空缺。
“要推动工业物联网,需要具备在远端环境布署并管理软体的能力;”General Electric 旗下投资部门GE Ventures总监Sam Cates在一份声明中表示:“Resin.io扮演了独特的角色,能为工业物联网带来速度与安全性。”
Ericsson副总裁暨技术与软体解决方案部门主管Diomedes Kastanis则认为,传统的无线下载(over-the-air,OTA)软体更新方式,因为数以亿计的连网装置负担的任务越来越复杂,明显已经不够用:“我们很高兴能支持Resin.io,协助让整个产业界能拥有随时随地安全布署新软体容器的必要能力。”
Hale表示,综观今日的物联网市场:“已经有很多DIY形式的物联网装置,它们不会更新韧体或软体,而我们看到了很多可怕的情景。”
工业物联网市场无法承担忽略连网装置弱点的风险;例如在一个小型工厂,制造商需要处理大量资料以及因应日常营运中的各种不可预测状况,他们可以在需要的时候,尽快为物联网装置进行必要的程式更新吗?毕竟,能即时监控厂房状况是让连网工厂智慧化的关键。
“智慧垃圾桶”提供的宝贵经验
同样的考量适用于像是数位看板、销售终端系统以及互动性查询机(interacTIve kiosk)等装置;事实上,Resin.io还知道一些关于英国伦敦为了2012年奥运推出的“智慧垃圾桶(smart trash bins)”的事情。
曾经出现在伦敦街头的智慧垃圾桶
这种垃圾桶每一面都嵌入了LCD显示器,并有Wi-Fi功能;其原始构想是让那些萤幕能持续显示不同的资讯,从天气预报到股票价格,不过因为隐私权顾虑(一旦任何附近的手机或是其他装置开启Wi-Fi,垃圾桶就会记录其MAC位址),这种智慧垃圾桶最终被束之高阁。
虽然智慧垃圾桶阵亡,但催生了Resin.io这家公司──他们原本是个由具备博士学历的菁英组成之团队,因为智慧垃圾桶这个专案而亲身体验到更新或改变嵌入式系统中的软体有多困难;特别是智慧垃圾桶这样一个嵌入式系统,没有明显的使用者介面,处理性能也很有限。
尝试修复智慧垃圾桶软体的博士工程师
(来源: Resin.io)
简化嵌入式装置应用程式开发/维护程序
Resin.io的团队发现,撰写物联网应用程式并非简单任务;Marinos表示:“跟撰写网路应用程式不一样。”物联网采用的是记忆体容量与处理性能都很有限的嵌入式装置,可能是内建特制的微处理器或微控制器,而且各种物联网装置的CPU架构迥异。
物联网应用程式开发者必须一直担心,如何让物联网硬体装置在运作同时,又能保持应用程式更新;若这牵涉到工业物联网,程序包括设定作业系统、建立安全性区域网路、配置一些纪录并检视登入的方法,以及提供一些为装置现场安装新版程式的方法…等等。
Resin.io 在嵌入式应用程式维护所扮演的角色
(来源: Resin.io)
但Resin.io想:“为何不把云端的直观感受带到嵌入式世界呢?”而这家公司已透过来自网路与嵌入式两个世界的最佳实践找到答案。
Resin.io将Linux软体容器延展到新处理器架构,包括i386、ARMv6与ARMv7;Linux软体容器是一种作业系统层级的虚拟化方法,用以在使用单一Linux核心(kernel)的控制主机上,执行多个隔离的Linux系统。
该公司采用的是一种名为Git的分散式修改版系统,能推进更新、执行装置与整合测试;在此期间,该系统能维持与Docker──即一种能自动化布署软体容器内应用程式的开放性专案──的相容性。
Marinos解释:“我们将网路开发与布署流程带到硬体领域;”采用Git与Docker等工具,Resin.io赋予软体开发者无缝更新所有嵌入式Linux装置的能力。在此同时,Resin.io能处理交叉编译(cross-compilaTIon)、装置监测、VPN以及日志集中(log collecTIon),因此应用程式开发者能专注于产品,不用顾虑基础建设。