物联网嵌入式软件设计的挑战及应对之道
点或网关。
另外,用于以太网络控制器的TCP/IP协议堆栈通常要占用50KB到100KB的空间。同样地,诸如蓝牙、Wi-Fi、ZigBee等连接链路带来了由网络管理、认证和加密组成的协议堆栈,所需的内存空间将是TCP/IP堆栈的两倍。
图3:Atmel Data Visualizer可以辨识由程序代码特定部份导致的功耗突波 (来源:Atmel)
提示与技巧:
· 新一代的微控制器都配备了紧密耦合的内存(TCM)功能,可为CPU提供单周期存取,从而提升外围装置发出的高优先级延迟关键型请求。物联网开发人员可以校准要求零等待执行性能的程序代码数量,从而将TCM资源指定给这些程序代码区段和数据区块。
· 判断哪一部份的软件程序消耗太多功率是相当困难的。然而,透过像Atmel Power Probe等工具有助于开发人员快速确定哪一部份的程序代码的能耗较高。
· 接着,采用像Atmel Data Visualizer插件这一类工具,可以分析物联网应用的功率使用情况,作为标准除错过程的一部份。实时的功率测量可以在应用执行期间进行撷取,功耗使用情况也可以轻松地与应用程序的来源码直接关联。另外,藉由点选功率样本,该工具可以突显采样时执行的程序代码,使其易于针对低功耗应用实现优化,它还能以示波器的方式观察GPIO和UART等讯号。
· 新一代的高能效微控制器可以分别在工作和闲置期间智慧地通电和断电,并在睡眠时消耗极低电流。以电池供电的物联网应用有助于为永不断电的传感器作业节省大量功耗,其方式是唤醒硬件、执行任务以及回到睡眠模式。
云端与巨量资料
云端和巨量数据是物联网软件难题中第三个同样重要的部份。针对云端通讯的软件协议堆栈必须完成诸如装置配置、文件传输以及基于规则的数据分析与响应等任务。
首先也是最重要的,强大的数据分析功能为来自传感器、机器或连接云端的装置所产生的数据,发挥着创造实际价值的重要作用。其次,安全功能将透过应用白名单阻止未授权的程序代码,确保经验证的真实数据连接到云端。
中、小规模的物联网系统面临着获得且高效率使用软件工具链进行数据撷取、处理和分析的巨大挑战。此外,它们还要求软件生态系统能够因应高度分化的物联网设计领域。
这也表明了端到端解决方案在物联网环境中为什么至关重要,以及正确的工程决策在物联网软件生态系统中极其关键的原因。业界需要全新的设计工具以因应大量的连网传感器需求,这些工具将有助于中小规模的物联网设计团队因应云端服务不断增加、从而提高软件开销的问题。
提示与技巧:
· 一般来说,云端通讯超出了许多物联网产品开发人员的核心专业知识范畴,因此这些开发人员与基于云端的物联网平台供货商展开合作将更有意义。基于云端的物联网套件包括商业级嵌入式软件、用于嵌入式装置的SDK、物联网参考设计、装置和应用API以及高度可扩展的通讯服务。
· 为了能够快速部署连网装置,开发人员提供现成可用的组件连接库,并使其作为初始技术评估过程的一部份显得越来越重要。
· 诸如Atmel等公司与多家端对端云端解决方案供货商的合作,有助于为开发人员解决这些方面的所有问题。云端生态系统的合作伙伴们每一家都有自已的特色功能,很容易就能找到满足特定使用案例和需求的解决方案。
- 硬件工程师不得不知的8个软件设计技巧(06-23)
- 算法的泛化问题,这些坑你可能都经历过!|周立功教你学软件设计(08-01)
- Dust Networks 拓展工业无线以外的领域(10-09)
- 无线传感器可放置在任何地方,以在长距离提供低功耗和可靠的无线传感器网络(12-08)
- 可靠、低功耗无线传感器网络适用于物联网: 使无线传感器像网络服务器一样易于使用(05-06)
- 低功率是物联网的关键(09-14)