摘要:本文介绍了如何使用亚马逊的AWS IoT来开发物联网应用。
当我们没有足够的能力或者时间去开发一些物联网云平台的时候,使用一些现有的成熟的云平台是一个很好的选择。通常来说,这些平台可以为我们带来更快的开发速度和更简单的解决方案,并且可以让我们集中于实现上的业务逻辑。我们只需连接上我们的设备、上传我们的数据,就可以在地球的另一端观察这些数据的变化。
在这些物联网平台中,做得比较不错的有:
- IBM的Bluemix Internet of Things
- Microsoft的Azure IoT Suite
- Amazon的AWS IoT
由于亚马逊的云服务比较领先,所以这里我们以亚马逊的AWS IoT作为示例。
AWS IoT 是亚马逊推出的一款托管的云平台,它可以使互联设备轻松安全地与云应用程序及其他设备交互。它可以支持数十亿台设备和数万亿条消息,并且我们可以对这些消息进行处理,同时将其安全可靠地路由至 AWS 终端节点和其他设备。我们还可以结合AWS的其他服务,如AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning 和 Amazon DynamoDB,来构建 IoT 应用程序,以方便我们收集、处理和分析互联设备生成的数据。
亚马逊的物联网解决方案和我们之前写的服务端代码一样,如图1所示。我们将在服务端接收设备传过来的数据并存储到服务器上,然后,通过手机等就可以直接访问这个API,并可以对设备进行控制—这里采用的是MQTT协议。
图1 AWS IoT
现在让我们登录AWS后台,可以看到如图2所示的内容。在本书写作的时候,AWS IoT处于测试版。但是相信在读者看到这本书的时候,已经可以使用了。
图2 AWS IoT控制台
现在,让我们创建一个Thing。这个步骤很简单,如图3所示,我们只需填写Name就可以创建。在AWS IoT中,Thing代表了设备的一个影子,即Device Shadow。而Rule则可以对数据进行过滤——我们可以创建一些规则,如当温度大于某个值时我们才将其发布到AWS IoT上。
图3 AWS IoT 创建Thing