有了协同支持,云解决方案就能超常发挥,对于跨越多个硬件节点的IoT应用来说这一点至关重要。可惜这一类协同支持在独立运用工具时难以集成。
开发者工具集成
云环境离不开工具集成和支持,但厂商也不会忽视传统的开发工具链。提供IDEs和编译器之外,他们还纳入操作系统和堆栈来加强工具集成和支持。如今这两者都远远强于过去。厂商为了留住用户,就得比对手提供更多的选择。
有时这种集成很有针对性,如Renesas的Synergy针对Cortex-M微控制器的Synergy line,是以Express Logic的Thread-X RTOS为中心创建的。Microchip的Harmony框架则包含诸多第三方组件,更具包容性(见“Interview: Rich Hoefle Presents Microchip’s Harmony”)。
两种方法对厂商和开发者来说各有优势。更有针对性的集成能提供更好支持,但、选择范围有限。开发者需要考虑使用这些框架和工具的间接成本,毕竟天下没有免费的IDE,硬件成本等稍不留神就会冒出来。
开源软件和IoT
开源软件(OSS)和专利软件相互影响着彼此。对于IoT而言,由于参与各方互相协商来统一标准,合作就促成了OSS重头戏的角色。从Linux支持到开源许可软件,厂商可适时用OSS来提升自己的服务,但也不能随心所欲地使用OSS,需要考虑将优势和收益最大化;相比之下,所幸很多开发者都乐意为工具集成和支持付钱。
一涉及到安全问题,开发者和公司都要顾及到OSS许可相关的标准。开发者可能要利用Black Duck Software来追踪编译,安全和应用相关的管理问题(见“Is it GPL if it quacks like a Duck?”),而选择专利许可软件通常更明智,缺点是选择范围有限,在IoT应用环境中,IoT包含太多成分时更是如此。
别忘了节能软件
移动IoT设备需要考虑高效节能硬软件。一些较精密的硬件在电源控制和配套外部设备上差距太大,因而需要更有效的节能方案。管理不同的电力模式,还有那么多外部设备,芯片厂商不得不提供与应用和操作系统配套的节能框架。
安装电池的IoT设备通常采用低耗电模式。要选择低耗电的,从FRAM一类的非挥发性内存,到超低耗电的外围设备芯片,再到利用可配置的智能外部设备相互连接,实现芯片独立于CPU的运行……开发者需仔细斟酌再做出选择。
注意:非对称的多芯微控制器解决方案能进一步扩大能耗控制和性能间的鸿沟。复杂的编程环境虽有不足之处,但可以有效隔离系统安全风险。
IoT并不意味着一切
IoT颇受开发者和厂商持续的关注,但其本质还是嵌入式软件平台。IoT的迅速发展让越来越多公司开始制定相关的长期规划,同时需要考虑如何利用这些解决方案来增加收益。
但话又说回来,IoT并不意味着一切,也尚未普及,开发者应切忌盲目跟风。另一方面,很多IoT工具和支持也适用于传统的嵌入式应用。云开发工具也可用于非IoT开发,安全硬软件不管是否是IoT云解决方案,对于非联网和联网设备都同样重要。
原文地址:IoT Frameworks / Development Dominate Software Trends in 2016
(原作者/William Wong;编译/张新慧;审校/翟方庆)