|
如何使用EC2和MQTT将STM 32 Lora DiscoveryKit连接到AWS物联网 中间型ProTip1小时1,688 在这个项目中使用的东西 硬件组件 ST微电子STM 32 Lora DiscoveryKit(B-L072Z-LRWAN 1) (STM32L0发现工具包LORA,低功耗无线) ST微电子X-核子-IKS01A1 (STM 32核的运动MEMS和环境传感器扩展板) Laird-Sentrius RG1XX Lora网关 (Sentrius RG1XX Lora启用网关+Wi-Fi/蓝牙/以太网) 软件应用和在线服务 物联网 亚马逊Web服务AWS EC2 亚马逊网络服务AWS物联网 节点红 油灰 WinSCP 故事导言 这个项目是为了提供一个完整的Lora解决方案。 这是整个讲习班的第二部分,其中包括: 1-建立Laird Sentrius RG1xx Lora网关 2-利用Lora和STM 32进行环境传感 3-连接STM 32 Lora DiscoveryKit与AWS物联网 为了开始这个项目,我们假设您已经完成了车间的所有其他步骤,并且它已经接收到了ThingsNetwork中的传感器数据。 我们将使用Node-Red将来自物联网的传感器数据集成到AWS物联网。因此,我们需要创建一个EC2实例,安装Node-Red,在AWS物联网中创建一个东西,最后配置Node-Red来接收来自TTN的数据,然后转发到AWS物联网。 1)创建和配置EC2实例 存取AWS控制台(如果您没有帐户,请创建一个帐户)。 在主页中,选择AllServices>Compute>EC2 AmazonWebServices主页 点击按钮LOUCH实例若要创建实例,请执行以下操作。 选择Ubuntu服务器16.04 LTS在第1步: 选择实例类型t2.微在步骤2并单击“下一步:配置实例详细信息” 在配置安全组选项卡(步骤6),单击添加规则,选择类型Custom TCP Rule、港口范围1880和来源Anywhere。点击审查和启动继续。 查看信息,然后单击发射纽扣。一个新窗口将要求您配置密钥对。选择创建一个新的密钥对,命名并单击下载密钥对. 将.pem文件保存在安全的位置。最后,单击LOUCH实例若要启动EC2服务,请执行以下操作。 在运行服务几分钟后,控制台将显示Luch状态。点击视图实例,去拿公共DNS(IPv 4)然后遵循接下来的步骤。 PuTTY将使用公共DNS连接到服务 2)连接到EC2实例 如果您没有使用Windows机器,请按照AWS指南进入第三步。 下载和安装油灰。启动PuTTYgen(开始菜单>所有程序>PuTTY>PuTTYgen),单击负载并选择AWS生成的.pem文件。 在浏览器窗口中选择“All Files(*.*)”以显示该文件 选择RSA作为键的类型,然后单击保存私钥。 密码是一个可选的额外保护层。您可以在本教程中保留空白。 现在,启动PuTTY(开始菜单>所有程序>PuTTY>PuTTY)。 获取公共实例 类别>会话>主机名,进入ubuntu@public_dns_name , 港 22 和连接类型SSH 替换实例的公共DNS(IPv 4)的“public_dns_name” 在class>Connection>SSH>Auth中,浏览您的私钥(.ppk)文件: 回到类别>会话,在保存会话给出一个名称,然后单击存钱若要保存配置,请执行以下操作 您可以重新加载您的配置,选择一个会话名称,单击Load。 最后,单击打开开始会话 3)节点红装置 现在,您需要安装node.js和node-red: curl -sL http://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs build-essential sudo npm install -g node-red 将Node-red配置为在重新启动实例时自动启动: sudo npm install -g pm2 pm2 start `which node-red` -- -v pm2 save pm2 startup 使用浏览器访问节点红色: http://<your-instance-ip-or-dns>:1880/ 如果连接失败,请尝试使用“节点-红色”命令启动Node-red或重新启动。 4)在AWS物联网中创建一个东西 转到AWS控制台并选择AWS物联网。 在左侧面板上,选择管理事物然后点击创造右边的按钮。 给出这个东西的名称,然后点击创造物 单击创建的东西,选择保安创造证书. 下载3份证书,然后单击激活: 在同一页中,右键单击根CA的下载链接并选择“另存为.”。使用名称保存文件根CA.pem在证书的同一文件夹中。 点击已完成. 回AWS物联网去。在左侧面板上,选择Secure>Policy。单击创造右边的按钮。 给政策起个名字。在……上面行动进入iot:* , 资源ARN *,选中该框允许“效果”和“单击”创造. 再次转到安全>证书并选择创建的证书。 单击操作>附加策略 选择创建的策略并单击附附. 点击动作>激活 在左侧面板上,选择试验。AWS物联网将显示MQTT客户端,在右侧,单击作为控制台连接.。>查看端点 弄到端点在步骤6中配置节点红色。 5)上传证书 安装和执行温普。创建一个新址,选择协议SFTP,进入主机名public_dns_name , 港 22 , 用户 ubuntu然后点击先进的.。 主机名与PuTTY上使用的名称相同 在……上面环境>壳牌,选择sudosu - 在……上面SSH>身份验证>私钥文件,选择私钥(.ppk)文件。点击OK。 点击存钱和登录. 在左侧屏幕上,浏览到AWS物联网证书。 在右边的屏幕上,右击>新建>目录.使用名称创建目录certs . 在左侧屏幕上选择证书、私钥和rootca。拖放到证书文件夹中的右侧屏幕。 6)将物联网与AWS物联网集成 使用浏览器访问NodeRED实例: http://<your-instance-ip-or-dns>:1880/ 单击右上方的菜单按钮,然后选择ManagePalette。 在……上面安装选项卡,搜索ttn。安装节点红. 拖放节点TTN消息和注射流向流动。 双击ttn节点以编辑属性.向节点输入名称,单击“编辑”按钮添加新的ttn应用程序使用Things Network应用程序配置: 获取TTN应用程序中的配置https:/控制台.thingsnetwork.org/application/ 输入设备ID从TTN,离开场域空白。点击已完成. 在左侧面板上,在“输出”处拖放调试和MQTT节点。按以下方式连接节点: 双击MQTT节点。单击“编辑”按钮添加新的mqtt-代理. 启用安全(SSL/TLS)连接并单击tls配置编辑按钮添加新的tls-config. 使能使用密钥和证书从本地文件中输入步骤5中通过WinSCP上传的相应文件的位置和名称。点击更新. 不要忘记输入整个名称,包括扩展名.pem.crt和.pem.key 进入服务器这,这个,那,那个AWS IoT Endpoint , 港8883 , 客户IDAWS Thing ID。点击更新. 输入主题lora_device_01 , QoS0,并将其命名为节点。点击已完成. 最后,单击部署若要完成并启动节点红色应用程序,请执行以下操作。 7)测试! 存取AWS物联网>测试。在Subsctription主题上,输入lora_device_01,单击订阅主题. MQTT客户端显示AWSIoT中接收的所有消息。你可以点击时间戳按钮在节点红色发送一些数据进行测试,或者你可以等待数据从事物网络。 祝贺你!你成功完成了。 |
微信公众号
手机版
对的,我后面在重发