全面进入万物互联时代必不可缺的 12 大开发平台就有哪些?
物联网是增长最快的行业之一。我们身边充斥着各种联网设备,比如智能家居、汽车、可穿戴设备等等。Gartner 预测未来 95% 的电子产品都将具备物联网特性。但是,构建物联网项目所面临的挑战也不少。
物联网平台能够提供多种简化项目开发的服务以及一系列可远程管理设备的工具。一般而言,物联网平台是一种多层技术,它使用户能够管理联网的设备。此外,物联网平台还提供可扩展性与安全性保障。
以下列举了目前最顶级的物联网平台,排名不分先后。其中一些平台提供免费帐户,有些平台还可以通过高级帐户启用其它有趣的功能。
物联网平台在物联网架构中发挥着重要的作用。在构建物联网项目或系统时,联网设备会将数据发送到云平台,云平台可以存储这些数据并用其来构建图表。物联网云平台就像 PaaS,它为物联网生态系统提供有用的服务。这些服务支持连接到远程服务的设备。
一般而言,物联网平台提供下列服务:
- 数据采集
- 数据转换
- 仪表板创建
- 规则管理
- 设备管理
- 安全服务
- 平台集成
借助数据集成功能,开发人员可以把从开发板(比如 Arduino 或者Raspberry)发送过来的数据存储起来;例如,可以存储从传感器读取的值。此外,用户可以使用云平台提供的图表显示这些信息,还可以使用平台提供的工具对这些信息进行分析。
规则管理是基于 Web 的编程逻辑,可用于在事件发生时触发某些操作。如果我们仅需使用 Web 界面实现“业务逻辑”,并且对项目使用的开发板了解不多,那么使用物联网云平台很有用。通常,逻辑就像 IF-THEN,例如,如果发生某事件,就执行某操作。事件可以是从传感器读取的信号,执行的操作可以是发送电子邮件或者 SMS。
平台集成是一组实现特定协议的“适配器”,因此无需编写不同 Internet 服务混合的代码即可构建一系列操作。例如,当具有网络功能的 Arduino 从传感器读取的值高于阈值,Arduino 便通过 SMS 发送报警。
以下列举了目前最顶级的 12 大物联网平台,排名不分先后。
1.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
2.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
3.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
4.ThingSpeak
ThingSpeak 平台的官网地址:https://thingspeak.com/
ThingSpeak 是一个支持 Matlab 的开放物联网平台。该平台的核心功能是物联网数据分析和可视化。它主要通过 Matlab 提供实时数据可视化,此外,还提供数据分析和处理服务。
该物联网平台提供的主要功能有:
- 实时传感器数据可视化
- 第三方提供商的数据聚合
- 通过物联网分析任务以分析数据
- 管理事件
- 根据获取的数据执行相应操作
该物联网平台支持多种设备,比如 Arduino、树莓派、ESPParticle,等等。
5.TheThings.io
TheThings.io 平台官网地址:https://thethings.io/
TheThings.io 这个物联网平台大大简化了物联网解决方案的开发流程。该物联网平台提供远程联网设备管理,以及其它一些有意思的服务:
- 云代码管理
- 数据监控和可视化
- 数据分析
- 人工智能
- 互操作性和集成
TheThings.io 支持多种设备,比如 Arduino、树莓派、ESP8266,等等。此外,设备可以使用多种协议连接到该平台提供的云服务,比如 MQTT、CoAP、HTTP、Websocket ,等等。
6.Xively
Xively 平台官网地址:https://developer.xively.com/
Xively 物联网平台是另一个有趣的解决方案。如今,Xively 已是谷歌云平台的一部分。它提供了开发者体验帐户。Xively 是一个用来管理设备的企业级平台。Xively 在管理设备通信、安全性和固件更新方面发挥着重要作用。
7.Kaa
Kaa 平台官网地址:https://www.kaaproject.org/
Kaa 是一个提供多种服务的开源物联网平台。该平台可以帮助开发人员轻松快速地构建复杂的物联网项目。Kaa 提供的主要功能有:
- 设备连接
- 设备管理
- 数据采集
- 数据处理和分析
- 数据可视化
- 命令执行
Kaa 支持多种物联网协议,比如 MQTT 和 CoAP。
8.Google Cloud IoT
Google Cloud IoT 的官网地址:https://cloud.google.com/solutions/iot/
Google Cloud IoT 是最有趣的企业级物联网平台之一。该物联网平台提供多种工具,用于管理联网设备以及边缘级别或云端数据。联网设备可以通过 cloud pub/sub 发布数据。此外,我们可以通过 BigQuery 来分析数据,或者对这些数据应用机器学习。Google Cloud IoT 有一个参考架构,该架构详细描述了构建此平台的各个组件。使用专业服务探索无数的可能性。该平台提供物联网平台安全方面的所有服务。
9.Microsoft Azure IoT
Microsoft Azure IoT 平台官网地址:https://azure.microsoft.com/en-us/services/iot-hub/
Microsoft Azure IoT 是另一个著名的物联网平台。它是一个提供了多种服务的专业平台。它使用 IoT 标准协议支持联网设备和平台本身之间的双向通信。此外,它支持设备身份验证以解决所有安全问题。Microsoft Azure IoT 简化了物联网项目开发过程,解决了开发过程中我们必须面对的安全方面的挑战。
10.IBM Watson IoT
IBM Watson IoT 平台官网地址:https://www.ibm.com/internet-of-things
IBM Watson IoT 是构建物联网解决方案的另一个物联网平台。IBM Watson IoT 平台提供的服务有:
- 设备管理:该服务提供对设备的远程操作,比如重启或固件更新
- 响应性、可扩展性、连接性:该平台使用行业标准协议 MQTT 来交换数据
- 安全通信:使用 MQQT 和 TLS 进行安全数据交换
- 数据生命周期管理
该视频展示了该平台的主要功能。
原文:https://dzone.com/articles/12-iot-platforms-for-building-iot-projects
作者简介:Francesco Azzola,是一位架构师,拥有 15 年的 JEE 架构经验。热爱 Android 开发,拥有多年 Android 应用开发经验。喜欢写博客,博文包括 Android 编程以及物联网生态。
译者:安翔,责编:屠敏
相关推荐
第三步:通过 arduino 软件选择对应的网络端口就可以进行固件更新了,不过更新的时候要注意不能将 Arduino.begin() 和 ArduinoOTA.handle() 这两个关键函数给更新掉