@程序员,全面进入万物互联时代必不可缺的 12 大开发平台
物联网是增长最快的行业之一。我们身边充斥着各种联网设备,比如智能家居、汽车、可穿戴设备等等。Gartner 预测未来 95% 的电子产品都将具备物联网特性。但是,构建物联...
物联网是增长最快的行业之一。我们身边充斥着各种联网设备,比如智能家居、汽车、可穿戴设备等等。Gartner 预测未来 95% 的电子产品都将具备物联网特性。但是,构建物联网项目所面临的挑战也不少。
物联网平台能够提供多种简化项目开发的服务以及一系列可远程管理设备的工具。一般而言,物联网平台是一种多层技术,它使用户能够管理联网的设备。此外,物联网平台还提供可扩展性与安全性保障。
以下列举了目前最顶级的物联网平台,排名不分先后。其中一些平台提供免费帐户,有些平台还可以通过高级帐户启用其它有趣的功能。
物联网平台在物联网架构中发挥着重要的作用。在构建物联网项目或系统时,联网设备会将数据发送到云平台,云平台可以存储这些数据并用其来构建图表。物联网云平台就像 PaaS,它为物联网生态系统提供有用的服务。这些服务支持连接到远程服务的设备。
一般而言,物联网平台提供下列服务:
数据采集
数据转换
仪表板创建
规则管理
设备管理
安全服务
平台集成
借助数据集成功能,开发人员可以把从开发板(比如 Arduino 或者Raspberry)发送过来的数据存储起来;例如,可以存储从传感器读取的值。此外,用户可以使用云平台提供的图表显示这些信息,还可以使用平台提供的工具对这些信息进行分析。
规则管理是基于 Web 的编程逻辑,可用于在事件发生时触发某些操作。如果我们仅需使用 Web 界面实现“业务逻辑”,并且对项目使用的开发板了解不多,那么使用物联网云平台很有用。通常,逻辑就像 IF-THEN,例如,如果发生某事件,就执行某操作。事件可以是从传感器读取的信号,执行的操作可以是发送电子邮件或者 SMS。
平台集成是一组实现特定协议的“适配器”,因此无需编写不同 Internet 服务混合的代码即可构建一系列操作。例如,当具有网络功能的 Arduino 从传感器读取的值高于阈值,Arduino 便通过 SMS 发送报警。
以下列举了目前最顶级的 12 大物联网平台,排名不分先后。
Temboo
Temboo 平台官网地址:https://temboo.com/
这是一个非常有趣的平台,它提供的服务能够将 Arduino、Raspberry 与其它平台的不同网络服务(如 SMS、Email 等)集成起来。该平台使用 choreos,它是外部服务的连接器,Arduino 中的事件(如传感器信号)可以转换为不同类型的事件。它还提供处理逻辑,比如 IF-THEN 机制。此外,Temboo 通过 MQTT、CoAP和 HTTP 协议支持 M2M 应用程序。Temboo 提供的主要功能有:
代码生成:该平台使用多种不同的编程语言为多个设备生成优化代码,例如 Java、C/C++、Python 等。
互操作性:Temboo 提供了一组名为 choreos 的服务,可简化与其它云服务的集成过程。
数据:Temboo 能够存储和可视化不同类型的数据。
使用 Temboo 的物联网项目有:
使用 Temboo 将 Arduino 与谷歌集成:https://www.survivingwithandroid.com/2018/02/integrate-arduino-and-google-cloud-iot-project.html
使用 Temboo 将 Arduino MKR1000 与 Twitter 集成:https://www.survivingwithandroid.com/2016/05/arduino-mkr1000-arduino-tutorial.html
Ubidots
Ubidots 平台官网地址:https://ubidots.com/
Ubidots 物联网平台是另一个有趣的物联网平台,它提供多种服务。首先,它能够支持多种设备,比如 Arduino、树莓派、Particle、Espressif、Onion,等等。此外,它还提供了多种类型的服务,比如设备连接管理以及数据可视化:
Ubidots 为不同设备提供 SDK,以简化设备本身和平台之间的集成过程。此外,它提供了丰富的 API,开发者可以调用这 API 与此平台进行交互。
支持多种通信协议,比如 MQTT 和 HTTP。
可应用到数据上的现成数学公式。
数据存储。
数据可视化。
使用 Ubidots 的物联网项目有:
使用 Ubidots 集成 Arduino 和 Android:https://www.survivingwithandroid.com/2015/12/internet-of-things-project-arduino-and-android-ubidots.html
使用 Ubidots 构建 Android Things 应用程序:https://www.survivingwithandroid.com/2017/10/how-to-develop-an-android-iot-app-using-android-things-and-cloud.html
使用 Ubidots 构建智能种植系统:https://www.survivingwithandroid.com/2016/06/iot-project-tutorial-smart-plant-system.html
myDevices
MyDevices Cayenne 平台官网地址:https://mydevices.com/
MyDevices Cayenne 是一个具有丰富功能的物联网平台。该平台最核心的功能是数据可视化。通过简单的拖放操作,即可实现远程连接设备数据的可视化,并且可以对这些设备进行远程控制。它使用小部件来实现信息的可视化。该平台能够支持多种设备,比如 Arduino、树莓派、ESP,等等。此外,myDevices Cayenne提供了一系列 API,用以简化服务集成并支持 MQTT 协议。该平台主要包含两个领域:
远程控制设备的 App
仪表板
该平台集成了 LoRa,LoRa 是一种用于为 M2M 创建 LPWAN 的技术,该特性意义非凡。
使用 myDevices 的物联网项目有:
使用 ESP8266 Cayenne 和 MQTT 构建物联网系统:https://www.survivingwithandroid.com/2018/04/how-to-build-an-iot-system-using-arduino-esp8266-mydevices-cayenne-and-mqtt.html
ThingSpeak
ThingSpeak 平台的官网地址:https://thingspeak.com/
ThingSpeak 是一个支持 Matlab 的开放物联网平台。该平台的核心功能是物联网数据分析和可视化。它主要通过 Matlab 提供实时数据可视化,此外,还提供数据分析和处理服务。
该物联网平台提供的主要功能有:
实时传感器数据可视化
第三方提供商的数据聚合
通过物联网分析任务以分析数据
管理事件
根据获取的数据执行相应操作
该物联网平台支持多种设备,比如 Arduino、树莓派、ESPParticle,等等。
TheThings.io
TheThings.io 平台官网地址:https://thethings.io/
TheThings.io 这个物联网平台大大简化了物联网解决方案的开发流程。该物联网平台提供远程联网设备管理,以及其它一些有意思的服务:
云代码管理
数据监控和可视化
数据分析
人工智能
互操作性和集成
TheThings.io 支持多种设备,比如 Arduino、树莓派、ESP8266,等等。此外,设备可以使用多种协议连接到该平台提供的云服务,比如 MQTT、CoAP、HTTP、Websocket ,等等。
Xively
Xively 平台官网地址:https://developer.xively.com/
Xively 物联网平台是另一个有趣的解决方案。如今,Xively 已是谷歌云平台的一部分。它提供了开发者体验帐户。Xively 是一个用来管理设备的企业级平台。Xively 在管理设备通信、安全性和固件更新方面发挥着重要作用。
Kaa
Kaa 平台官网地址:https://www.kaaproject.org/
Kaa 是一个提供多种服务的开源物联网平台。该平台可以帮助开发人员轻松快速地构建复杂的物联网项目。Kaa 提供的主要功能有:
设备连接
设备管理
数据采集
数据处理和分析
数据可视化
命令执行
Kaa 支持多种物联网协议,比如 MQTT 和 CoAP。
Google Cloud IoT
Google Cloud IoT 的官网地址:https://cloud.google.com/solutions/iot/
Google Cloud IoT 是最有趣的企业级物联网平台之一。该物联网平台提供多种工具,用于管理联网设备以及边缘级别或云端数据。联网设备可以通过 cloud pub/sub 发布数据。此外,我们可以通过 BigQuery 来分析数据,或者对这些数据应用机器学习。Google Cloud IoT 有一个参考架构,该架构详细描述了构建此平台的各个组件。使用专业服务探索无数的可能性。该平台提供物联网平台安全方面的所有服务。
Microsoft Azure IoT
Microsoft Azure IoT 平台官网地址:https://azure.microsoft.com/en-us/services/iot-hub/
Microsoft Azure IoT 是另一个著名的物联网平台。它是一个提供了多种服务的专业平台。它使用 IoT 标准协议支持联网设备和平台本身之间的双向通信。此外,它支持设备身份验证以解决所有安全问题。Microsoft Azure IoT 简化了物联网项目开发过程,解决了开发过程中我们必须面对的安全方面的挑战。
IBM Watson IoT
IBM Watson IoT 平台官网地址:https://www.ibm.com/internet-of-things
IBM Watson IoT 是构建物联网解决方案的另一个物联网平台。IBM Watson IoT 平台提供的服务有:
设备管理:该服务提供对设备的远程操作,比如重启或固件更新
响应性、可扩展性、连接性:该平台使用行业标准协议 MQTT 来交换数据
安全通信:使用 MQQT 和 TLS 进行安全数据交换
数据生命周期管理
该视频展示了该平台的主要功能。
Artik Cloud
Artik Cloud 平台官网地址:https://artik.cloud/
Artik Cloud 是三星开发的物联网平台。该平台提供设备之间的互联,并支持设备连接到云服务。它提供的服务可以快速将设备连接到云平台并开始收集数据。此外,该物联网平台还有一组连接器,可用于连接第三方服务。与其它平台一样,该平台可以存储来自联网设备的数据并聚合此信息。
Artik Cloud 提供了 SDK 来简化开发过程以及一组可随时使用的 API。
该视频展示了该平台的主要功能。
AWS IoT
AWS IoT 平台官网地址:https://aws.amazon.com/iot/
AWS IoT 是亚马逊的物联网云平台。AWS IoT 提供了一组服务来连接多个设备并保障安全性。使用 AWS IoT,我们可以从联网设备收集数据并执行复杂的实时操作和分析流程。
AWS 提供的服务有:
亚马逊 FreeRTOS:这是一个微控制器操作系统,它提供的服务有连接、安全性和简易编程等。
AWS Greengrass:它是一种能够在边缘设备上运行本地计算的软件。
AWS IoT Analytics:它使我们能够对收集的数据运行复杂的分析。
AWS IoT 设备管理:它简化了设备管理过程,尤其是设备数量很大时。
AWS IoT Core:它是 AWS IoT 的核心,它能够实现设备轻松连接,并保证设备安全地与云服务进行交互。
该视频展示了该平台的主要功能。
原文:https://dzone.com/articles/12-iot-platforms-for-building-iot-projects
作者简介:Francesco Azzola,是一位架构师,拥有 15 年的 JEE 架构经验。热爱 Android 开发,拥有多年 Android 应用开发经验。喜欢写博客,博文包括 Android 编程以及物联网生态。
译者:安翔,责编:屠敏
推荐阅读:
更多推荐
所有评论(0)