选择合适的物联网开发平台:微软Azure物联网、Balena、Particle、Toit

原文链接:Choosing the Right IoT Development Platform: Microsoft Azure IoT, Balena, Particle, Toit 由Saumitra Jagdale撰写。

随着第四次工业革命(工业 4.0)的持续推进,物联网技术在工业流程自动化方面发挥着重要作用。将现有系统与物联网集成,会产生一个更专注于提供更好的适应性和资源效率的智能解决方案。如果你正在从零开始构建此类系统并同时想确保系统的可靠性和其他因素,这肯定需要进行大量研究以及花费大量的时间。这就是物联网开发平台用来节省时间、让事情变得更容易的地方。

一些物联网开发平台
一些物联网开发平台

这些平台背后的主要思想是避免重新发明轮子并提供标准化的功能和特性,这样你就不会浪费时间去实现别人已经为你做过的事情。你可以收集数据、控制和管理应用程序并连接到他们的云服务,以便在机器之间实现更好的通信。本文将介绍一些现代物联网开发平台,并最终对它们进行比较,以帮助你确定适合你的项目的最佳平台。

Toit物联网平台

Toit 是由 Google 为 Chrome 构建 V8 的开发团队,创立于 2018 年,旨在为物联网设备构建一个通用固件,以取代传统的开发流程。它们提供了一套全新的功能,甚至是一种专为物联网开发的类似 Python 的新编程语言。Toit 语言是一种高级的、面向对象的语言,具有简单易用的类似 Python 的语法,并且比MicroPython快 20 倍。

物联网平台
物联网平台

通过使用Toit,一个仅仅 2 美元的 ESP32 MCU 的功能将被推向极限,可以执行真正的多任务处理。通过拆分固件和应用程序代码,Toit 允许你以更轻松和更灵活的过程在同一设备上部署多个应用程序。因此,你可以轻松尝试新事物,不用冒着损坏设备的风险。

Toit 物联网平台的主要特点

  • 在一个MCU上进行轻便高效的多任务处理的功能,使复杂的物联网解决方案能够在电池供电的设备上运行
  • 一种新的高级的、面向对象的编程语言
  • 一个公开可用的 gRPC API,可以完全控制您的设备
  • 类似于 MQTT 的 PubSub API,用于通过云与其他设备进行通信
  • 具有NB IoT/CAT M-1和现成Wi-Fi支持的蜂窝连接
    Windows、macOS 和 Linux 上的 CLI 和 SDK 支持
  • VS Code 扩展,可与他们的平台无缝集成,从而加快开发速度
  • 没有订阅或服务费用

Balena物联网平台

Balena平台为在设备上构建、部署和管理物联网应用程序提供了各种工具。该 IoT 开发平台旨在用于基于 Linux 的设备,例如 Raspberry Pi 或 Nvidia 的 Jetson TX2。该设备最初使用 balenaOS、Docker 兼容容器和基于 Yocto Linux 的主机操作系统进行烧录。因此,你可以灵活地选择自己的编程框架,不过你还是必须得自己编写功能代码。

Balena物联网平台
Balena物联网平台

为了管理你的设备,balena 提供了一个仪表板来监控设备并与之交互。你可以通过其 Web 终端将 SSH 连接到主机操作系统或正在运行的服务中。所有这些工具都围绕着核心平台balenaCloud展开。

Balena 物联网平台的主要特点

  • 用于单板计算机 (SBC) 的 Linux 容器。
  • 支持开源工具,例如 balenaOS、balenaEngine 和 balenaEtcher。
  • 基于 Git、Docker 和 Yocto 构建。
  • 设备管理器容器,即使应用程序崩溃也可以继续运行和提取新代码。
  • balena 和设备之间的通信始终经过加密。
  • balenaFin载板是基于树莓派的计算模块,体验更丰富。

Particle物联网开发平台

Particle是一个完整的物联网边缘到云平台,为硬件、连接、设备云和应用程序提供解决方案。这家总部位于旧金山的公司提供构建物联网产品从原型到生产所需的一切。Particle 拥有自己的物联网硬件产品系列,并提供对 Wi-Fi、蜂窝和 BLE 解决方案的连接支持,以及在 150 多个国家/地区的 LTE 蜂窝覆盖。

Particle物联网平台
Particle物联网平台

在软件方面,除了命令行界面和库之外,Particle 还提供基于 Web 和桌面的 IDE(Integrated development environment整合开发环境)。他们的Device Cloud(设备云)以及Device OS(设备操作系统)、IoT Rules Engine(物联网规则引擎)和开发人员工具创建了一个高度分布式的系统,能够支持数百万个同时设备连接。除此之外,还有一个拖放规则构建器,允许用户无需代码即可创建云端应用程序。

平台的主要特点

  • 基于 Arduino 和 Arduino 类库来构建应用程序
  • 提供受防火墙保护的云。
  • RESTful API 支持发送命令、检查设备变量等
  • 提供构建 IoT 解决方案所需的一切:从硬件、操作系统、连接性和云。
  • 云支持远程监控你的物联网设备。

微软 Azure 物联网

微软Azure物联网
微软Azure物联网

Microsoft 提供了两种 IoT 解决方案:Azure IoT Central 和 Azure IoT Hub。Azure IoT Central 提供全面管理的全球 IoT SaaS(软件即服务)解决方案,这是一个基于模型的现成平台。IoT Central 提供了许多基于工业应用的模板。因此,如果你需要现成的或非常快速的解决方案,那么 IoT Central 就是你的最佳选择。另一方面,Azure IoT 中心是一个PaaS (平台即服务),可帮助你加快自定义 IoT 解决方案的开发。IoT 中心提供了许多工具,允许开发人员构建和部署他们自己的 IoT 解决方案。

Microsoft Azure IoT 的主要功能

  • 支持AMQP、MQTT 和 HTTP 协议
  • 提供非常强大的安全标准
  • 支持与其他 Azure 服务/产品的集成
  • 对基本层提供有限支持,但对标准层提供完全支持的REST APIs
  • 可以将消息从设备发送到云服务或自定义端点的消息路由
  • 两种物联网解决方案,取决于您的要求 – 现成的解决方案或定制的解决方案
  • IoT Hub可以扩展到支持数百万同时连接的设备和每秒数百万个事件

总结

并非所有物联网应用都是相同的——有些应用要求基于电池的系统具有非常低的功耗,而另一些则可能更专注于提供高性能,而不管消耗的能量如何。所以在回顾了上述平台之后,我们可以总结出一些结论。

如果你希望以低成本和最少的设置构建物联网解决方案,那么 Toit 会是你的最佳选择。Toit 使 仅2 美元的 ESP32 MCU 能够作为一台完整的计算机工作,并支持开箱即用的连接。ESP32 的低功耗以及 Toit 的轻便高效流程使解决方案能够在基于电池的系统上工作很长时间。新的编程语言也使开发更加顺畅和快捷。

另一方面,balena非常适合你不想在处理能力上妥协的解决方案。基于 Yocto Linux 的操作系统允许在功能强大的单板计算机上进行开发,例如 Raspberry Pi、Nvidia Jetson TX2 或其自己的基于 Rpi 计算模块的 balenaFin 板。

如果你是一个新手,不熟悉IoT 开发过程,那么Particle将会为你提供一切。它们提供了完整的边缘到云解决方案——从硬件、软件、云服务,甚至是用于开发的Particle IDE。因此,使用Particle,你将无需四处寻找其他物联网供应商。

最后,如果你愿意全力以赴并希望大规模部署设备,那么Azure IoT提供的解决方案将是最好的。IoT Hub可以扩展到数百万台设备,并且可以处理大吞吐量数据。此外,如果你需要一个现成的解决方案或模板来构建,那么 IoT Central 可以提供所有这些。

除了上述比较之外,balena 还提供与 Azure IoT 中心集成的服务,以实现 IoT 应用程序和设备之间的双向通信。如果用户的解决方案需要此类功能,通过这样的方法,用户就可以充分利用这两个平台的优点。

分享这篇文章
0 评论
内联反馈
查看所有评论