文章内容简介:
主要对AWS IoT做一个初步的介绍,提供有用的资料入口,以及使用MQTT客户端接入平台。
AWS - 亚马逊公司旗下云计算服务平台,为全世界各个国家和地区的客户提供一整套基础设施和云解决方案。AWS面向用户提供包括弹性计算、存储、数据库、物联网在内的一整套云计算服务,能够帮助企业降低IT投入成本和维护成本。
主要产品:计算/存储/数据库/迁移/网络和内容分发
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
(在第一次使用亚马逊云物联网之前,建议先使用百度IoT Hub体验下,因为两者有较多类似的地方,而亚马逊的使用体验要差很多)
3.1 正确打开方式
入门科普-AWS IOT常见问题
详细看上面那个文档
AWS IoT开发人员指南
根据开发人员指南中的-AWS IoT入门教程开始配置
3.2 配置流程:
这次我们使用虚拟设备MQTT.fx进行配置。(下载地址文末有)
在这里仅做重点介绍
主要要配置一下三个东西:事物thing/证书certificate/策略policy,在控制台中进行配置。
先创建事物,再创建证书。在创建证书时,仅有一次机会下载该事物的证书,公匙,私匙。另外还需要下载自签的根证书(应该是用于对该事物证书进行授权)
下载完后将根证书重命名为:root-CA.crt
而事物证书应为:
xxxxx.certificate.pem.crt
ps:.crt后缀就是说明文件类型为“安全证书”,若不对请修改文件后缀
公匙和私匙应该是
xxxx.privivata.pem.key
xxxx.public.pem.key
再按照教程对事物进行附加关系的添加
注意要在policy里面给相应的publish和subscribe权限,如果要使用规则引擎的话还需要给IAM权限
接下来就可以正常的订阅和发送数据啦,这里我使用通配符#订阅了话题topic下面的子话题。然后在topic/1里面publish helloworld,就可以在订阅栏里面看到啦。
到这里基本上就全部搞定了,接下来介绍下其他功能。
4.1规则引擎(触发器)
4.1.1语法
AWS IoT的规则引擎使用SQL语法: SELECT…FROM…WHERE
4.1.2功能
因为亚马逊本身云服务做的比较好,因此他的数据后续处理功能就非常的强大了~
4.2安全措施
http和mqtt都使用TLS加密。
以我这几天对通信安全浅薄的理解… …大概是这样一个流程:
1、使用CA证书对产品证书认证
2、使用产品证书认证
3、使用私匙签名
4、交换AES对称加密密匙
5、通信
5.1收费
5.1.1注册收费
注册的时候,aws会问你是要basic账号还是developer账号,建议选择basic,虽然说明是basic好像只能浏览文档,不能进行开发,但现在有12个月 免费云服务套餐可以使用,直接百度AWS就可以看到。注册过程中好像要绑定信用卡,扣1美元来看你的卡能不能正常试用。
我一开始就注册的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
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 结构化编程语言