亚马逊云物联网AWS IoT初体验

文章内容简介:
主要对AWS IoT做一个初步的介绍,提供有用的资料入口,以及使用MQTT客户端接入平台。

1、AWS 简介

AWS - 亚马逊公司旗下云计算服务平台,为全世界各个国家和地区的客户提供一整套基础设施和云解决方案。AWS面向用户提供包括弹性计算、存储、数据库、物联网在内的一整套云计算服务,能够帮助企业降低IT投入成本和维护成本。

主要产品:计算/存储/数据库/迁移/网络和内容分发

亚马逊的产品实在是太多了…
亚马逊云物联网AWS IoT初体验_第1张图片


2、AWS IoT简介

AWS IoT 是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。AWS IoT 可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。借助 AWS IoT,您的应用程序可以随时跟踪所有设备并与其通信,即使这些设备未处于连接状态也不例外。

借助 AWS IoT,您可以轻松使用 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 和内置 Kibana 集成的 Amazon Elasticsearch Service 等 AWS 服务来构建 IoT 应用程序,以便收集、处理和分析互连设备生成的数据并对其执行操作,且无需管理任何基础设施。

这个博客有详尽的介绍
国外物联网平台初探(一)——亚马逊AWS IoT


3、连接第一个设备

(在第一次使用亚马逊云物联网之前,建议先使用百度IoT Hub体验下,因为两者有较多类似的地方,而亚马逊的使用体验要差很多)
3.1 正确打开方式

入门科普-AWS IOT常见问题
详细看上面那个文档
AWS IoT开发人员指南
根据开发人员指南中的-AWS IoT入门教程开始配置

3.2 配置流程:
这次我们使用虚拟设备MQTT.fx进行配置。(下载地址文末有)

具体教程请留言开发人员指南中的 “AWS IoT入门”

在这里仅做重点介绍

亚马逊云物联网AWS IoT初体验_第2张图片


主要要配置一下三个东西:事物thing/证书certificate/策略policy,在控制台中进行配置。

亚马逊云物联网AWS IoT初体验_第3张图片


先创建事物,再创建证书。在创建证书时,仅有一次机会下载该事物的证书,公匙,私匙。另外还需要下载自签的根证书(应该是用于对该事物证书进行授权)

亚马逊云物联网AWS IoT初体验_第4张图片


下载完后将根证书重命名为:root-CA.crt
而事物证书应为:
xxxxx.certificate.pem.crt

ps:.crt后缀就是说明文件类型为“安全证书”,若不对请修改文件后缀

公匙和私匙应该是
xxxx.privivata.pem.key
xxxx.public.pem.key


再按照教程对事物进行附加关系的添加

亚马逊云物联网AWS IoT初体验_第5张图片

3.3 MQTT.fx的配置
亚马逊云物联网AWS IoT初体验_第6张图片


注意要在policy里面给相应的publish和subscribe权限,如果要使用规则引擎的话还需要给IAM权限


亚马逊云物联网AWS IoT初体验_第7张图片

接下来就可以正常的订阅和发送数据啦,这里我使用通配符#订阅了话题topic下面的子话题。然后在topic/1里面publish helloworld,就可以在订阅栏里面看到啦。

到这里基本上就全部搞定了,接下来介绍下其他功能。


4、平台功能介绍

4.1规则引擎(触发器)
4.1.1语法
AWS IoT的规则引擎使用SQL语法: SELECT…FROM…WHERE
4.1.2功能
因为亚马逊本身云服务做的比较好,因此他的数据后续处理功能就非常的强大了~

  1. 转发(republish)
  2. 数据库(DynamoDb)
  3. 存储
  4. SNS发布(Social Networking Serivces)可以发短信,但中国好像不得行
  5. 数据流处理
  6. 机器学习
  7. 模型预测

4.2安全措施
http和mqtt都使用TLS加密。

以我这几天对通信安全浅薄的理解… …大概是这样一个流程:
1、使用CA证书对产品证书认证
2、使用产品证书认证
3、使用私匙签名
4、交换AES对称加密密匙
5、通信


5、其他

5.1收费
5.1.1注册收费
注册的时候,aws会问你是要basic账号还是developer账号,建议选择basic,虽然说明是basic好像只能浏览文档,不能进行开发,但现在有12个月 免费云服务套餐可以使用,直接百度AWS就可以看到。注册过程中好像要绑定信用卡,扣1美元来看你的卡能不能正常试用。

亚马逊云物联网AWS IoT初体验_第8张图片

我一开始就注册的developer账号,一下就扣了我25刀…不过后来在给力的印度客服的帮助下切换回了basic账号,并且还给了我24刀(咖喱味的的英语真的听不jr懂,还好他还听得懂我说的howcanigetmonnyback= =

5.1.2使用过程收费预警
亚马逊音乐和亚马逊prime都是免费试用,然后到期不取消的话自动续费。这次在AWS IoT的试用中,虽然物联网服务是免费的,但免费使用的资源是有限的,用超过了会自动收费,然后我真没找到“免费试用”的设置。只能设置一个“当费用超过0.01美元的时候自动发邮件给我预警”

5.2使用感受
虽然说功能强大,但实在是…太难用了,在国内网站上基本没找到一点有用的资料…我搞了几天都没能搞定规则引擎的触发…

5.3 技术支持
只有付费的developer才能享受技术支持哟~

5.4哪里可以找到资料
aws documents
instructable:有少量爱好者连接上AWS IoT的教程
youtubu:aws的官方账号有一系列教学视频

姿势水平:
1、关于对称加密和非对称加密
2、Arduino Using AWS IoT Serivce
3、Secure IOT With AWS and Hornbill ESP32 Using Arduino
4、百度关于MQTT.fx的介绍(及下载地址)
5、国外物联网平台初探(一)——亚马逊AWS IoT


wiki:

  • IAM (Identity and Access Management): 身份识别和访问管理

  • Policy 策略:需要在里面提供如:Publish,Subscribe等基本权限
    (可以使用通配符如#,+以减少工作量)

  • CLI (Command Line Interface)工具: 在命令行环境下接入

  • Shadow 设备影子: 每个实体设备都有其对应的影子,可以随时读取和设置设备状态,而离线设备会在重连后重新实施该状态。因此在get和post的时候获取和更新的都是影子的状态,而不用每次都和设备连接。
    影子的好处:支持异步同步,克服了网络不稳定的困难,

  • endpoint :REST API操作的接口

  • MQTT 不解释

  • Qos : Qox=1代表至少要发送到1次

  • TLS

  • CA 根证书

  • RSA和AES 非对称加密和对称加密手段

  • x509

  • SigV4

  • 规则引擎

  • SQL 结构化编程语言

你可能感兴趣的:(aws,物联网)