×

通过蓝牙将传感器数据发送到AWS云

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-19

王玲

分享资料个

描述

此应用程序将允许您将 ATmega4809 微控制器连接到 AWS 云。

poYBAGOYjqSAf0PBAABs8YS4brQ286.png
 

在此处查看详细的应用说明

你会学到什么

您将学习如何通过蓝牙将传感器数据发送到 AWS 云。您将通过将两个点击板连接到 ATmega4809 微控制器并提供从传感器点击板发送到蓝牙点击板的逻辑来做到这一点。蓝牙模块将数据发送到运行 Greengrass 核心的网关,然后网关将其发送到服务器

构建天气传感器

将 Mikroe Clicks 和 Curiosity Nano 板连接到 Click 板的 Curiosity Nano 底座。

pYYBAGOaZmSAdYlcAFR2z7PETpM156.png
 

只需将 Curiosity Nano 板连接到其插槽中,将 RN4870 Click 连接到第一个 mikroBUS 插槽 (mikroBUS 1) 并将 Weather Click 连接到第二个插槽 (mikroBUS 2)。Curiosity Nano 和基板可能需要焊接引脚和插座。

探索 ATmega4808 代码的工作原理

我们编写此代码是为了让您轻松配置和部署工作解决方案。它提供两个功能:用于原型设计的命令状态和运行天气传感器功能的应用程序状态。

poYBAGOaZmaAfpVHAAA5BV8hgdk405.png
启动顺序
 

命令状态

在命令状态期间,MCU 充当串行终端和 RN4870/71 模块之间的 UART 桥接器。

pYYBAGOaZmmAVEEKAAA46PfR7xo655.png
命令状态使您能够使用您的 PC 从 BLE 模块中检索信息
 

此功能打开与 RN4870/71 模块的通信线路,以便您可以使用 PC 检索模块 MAC 地址。您还可以进入命令状态进行任何所需的配置,例如更改模块的名称。

命令状态仅用于原型设计目的,不会在最终应用程序中使用。

应用状态

BLE 连接的天气传感器操作发生在应用程序状态期间。

在此状态下,MCU 从天气传感器读取数据并更新特征值。

然后通过 RN4870/71 BLE 模块将特征值发送到云网关。

poYBAGOaZmuAI2NCAAAs85EOnrY299.png
应用程序状态为连接的传感器应用程序提供核心功能
 

对 MCU 进行编程

您可以从 Github 下载整个项目并使用它来对 MCU 进行编程。本教程还将解释如何从 MCC 修改 Weather Click 的配置。

对更详尽的操作方法感兴趣?查看应用说明,了解如何从头开始对 MCU 进行编程的详细说明

1. 从此GitHub 存储库下载文件

2. 将开发板连接到您的计算机并打开 MPLAB X。

3. 点击文件菜单

4.点击打开项目

5. 在“打开项目”选项卡中,导航到您下载项目的位置,选择它并单击“打开项目”

pYYBAGOaZm2AVqEkAAArnIps3Co158.png
 

6. 点击蓝盾图标打开MCC 您可能必须在打开文件时选择MyConfig.mc3文件。

poYBAGOaZnCABWjJAAAWmKrcjJw381.png
 

7. 在项目资源选项卡中,导航到 Mikro-E Clicks 下拉菜单和 Sensors 下拉菜单并选择 Weather。

pYYBAGOaZnKAat33AACAmc2NUO4347.png
 

8. 您现在可以修改天气传感器的配置。有几个预设示例应用程序,例如“室内”或“游戏”,或者您可以通过选择“自定义”选项并更改其他参数来自行设置。如果选择了预设,则其他选项将不会执行任何操作。

poYBAGOaZnWACYSAAAA2L96myxY837.png
 

9. 按Generate并等待 MCC 生成代码并将其添加到您的项目中。

10. 单击Make and Program Device按钮(绿色向下箭头图标)编译代码并对 ATmega4809 MCU 进行编程。

poYBAGOaZneAJhzVAAAWGOYWLqg864.png
 

获取RN4870模块的MAC地址

1、需要从RN4870模块中获取MAC地址,写入树莓派云网关的lambda函数代码中。

2. 打开UARTserialterminal程序,如 Hercules、Tera Term 或 CoolTerm。本教程将使用 Hercules。

3. 打开设备管理器并导航到端口(COM 和 LPT)。

poYBAGOaZnmAA0ByAABDTpgEB68498.png
 

4. 识别 Curiosity 虚拟 COM 端口。在本例中是 COM5,但在您的机器上可能会有所不同。

5. 在该端口上建立连接,波特率为 115200 数据大小为 8 位无奇偶校验同时启用 DTR 和 RTS ,因为调试器需要它进行数据传输。

6.发送字符“/”。这将使 RN4870 进入停止发送数据并可以接收配置它的命令的命令状态。有关命令的更多信息,请参阅RN4870 BLE 模块用户指南

7.发送字符“d”接收RN4870模块的信息并识别MAC地址

poYBAGOaZnyAbRXcAAAtjN5-tMY993.png
 

8. 从您从 GitHub 下载的存储库中,打开名为 AWS_Lambda 的文件夹找到名为lambda_function.py的文件使用 Notepad++ 或 Atom 等文本编辑器打开它。

9. 找到名为DEVICE的变量并将默认 MAC 地址替换为您的特定RN4870 ModuleMAC 地址

pYYBAGOaZn6AJw4cAAEDCQRmToc602.png
 

 

将 lambda 函数部署到网关

1. Raspberry Pi 网关应该已经按照本教程配置了 greengrass

2. 在“创建和打包 Lambda 函数”的模块 3 中,您可以跳过前四个步骤,因为存储库中已经提供了 zip 文件。该文件名为 AWS_Lambda.7z,可以按原样上传。

3. 您现在可以通过订阅主题 BLE/data 来测试设置。

poYBAGOaZoCAKM6IAAB-GmW_850495.png
 

4. 您应该收到如上图所示的数据。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !