赞
踩
先看这里https://quickstart.org.cn/IoT/lab1.IoTCore.1.html
https://www.npmjs.com/package/onoff
aws-iot可以理解为一个物联网平台,任何硬件都可以加入到这个平台,这样你就可以无处不在的控制相应的设备。
本次利用esp32平台接入到aws-iot,目前esp平台内部有支持接入aws-iot的sdk,所以选择这个平台能快速体验aws-iot控制设备。
主要由三个模块组成,硬件、硬件平台的aws-iot sdk、aws云服务。aws-iot sdk与aws云服务的通信协议是mqtt,这个协议是怎么通信的可以百度一下。
硬件代表一个设备,需要先把这个设备注册到aws平台,每一个注册的设备会生成一个设备影子,aws-iot通过这个设备影子来改变这个设备的状态。
在aws平台里面使用lambda服务创建一个lambda函数,在这个lambda函数里面调用操作设备影子的接口就能控制相应的设备影子状态,这个状态的改变会发送到硬件aws-iot sdk,开发者便可以利用这个状态值去控制设备。
在这里只是简单的介绍控制逻辑,具体操作步骤可以参考aws的官方文档,里面的步骤很多在此就不说了。
---------------------
作者:蜗牛人生牛
来源:CSDN
原文:https://blog.csdn.net/wangfeitaozhijia/article/details/80662759
版权声明:本文为博主原创文章,转载请附上博文链接!
使用具有IOT服务权限的用户登陆
实验目的:熟悉使用IoT Core组件,设备接入,消息分发,设备认证
涉及AWS组件:
实验流程
进入IOT Core service 如下图所示
1.创建物
进入如下列表后, 输入对于本地设备的命名, 比如light, 其他保持默认点击下一步.
2.生成证书
下载完后,还需要点击左下角的激活
3.设置device相应的权限(Policy)
- {
- "Version": "2012-10-17",
- "Statement": [
- {
- "Effect": "Allow",
- "Action": [
- "iot:Publish",
- "iot:Subscribe",
- "iot:Connect",
- "iot:Receive"
- ],
- "Resource": [
- "*"
- ]
- },
- {
- "Effect": "Allow",
- "Action": [
- "iot:GetThingShadow",
- "iot:UpdateThingShadow",
- "iot:DeleteThingShadow"
- ],
- "Resource": [
- "*"
- ]
- }
- ]
- }
上述中的主要元素有Effect,Action和Resource. 以第一条为例,Effect:Allow,表示允许操作;ACTION的中的"iot:Publish",表示允许已注册的设备向云端IoT Core发送消息;最后Resource:* 表示可以对任何云端的topic执行上述的ACTION。
4.绑定证书和policy
点击左侧tab,Secure->Certificates,选中刚刚创建的Certificates. 进入Certificate详细界面后,选择attach policy,如下图所示 选择上一步中创建的 lightdevie_policy policy
至次,设备再AWS IOT中的注册已经结束,下面进入模拟设备运行的环节。
1.串联分压电阻
将灯泡与 100 欧姆的的电阻串联在面包板上
2.接入树莓派
将面包板引出的两条线一端接入树莓派的GPIO 的 17 号引脚,另一端接地
3.接通树莓派电源
1.下载实验代码
从 代码桶中下载代码,并解压
2.设置证书
在代码中新建 certs 目录,将在1.中生成的证书放到 certs 目录中,放置后如下所示
3.修改代码并运行
修改主运行文件index.js为如下
对与上图中的3,我们需要切换回AWS IOT主页面,点击左侧TcdAB,Manage->Things。选择刚注册的thing如light, 进入如下界面,红框即位endpoint
4.上传代码到设备
$ tar -cvf demo.tar aws-iot-lab-1/
$ tar -xvf demo.tar
$ npm install
5.验证消息上传
lights_oidnline
topic,此处topic只要与客户端对应即可$node index.js
得到如下的输出:
同时我们在Test界面看到了树莓派已上线的消息,即设备到云端的发送消息成功。
6.验证消息下发的逻辑
同样,在Test界面,并修改消息如下图所示 点击publish to topic,发现灯亮 同理,修改message的value为0,点击Publish to topic发现灯灭。
CA证书下载,不需要自己创建
https://curl.haxx.se/ca/cacert.pem
自己创建会报 解决地方·:https://developer.ibm.com/answers/questions/438703/curl-60-ssl-certificate-problem-unable-to-get-loca/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。