如何通过蓝牙将数据值从Arduino板发送到M2X Cloud

电子说

1.3w人已加入

描述

第1步:材料

在开始之前,您需要注意以下几点:

NodeMCU ESP8266蓝牙模块

跳线

面包板

Arduino开发板

第二步:下载

蓝牙

蓝牙

蓝牙

蓝牙

转到http://www.mingw.org/wiki/Getting_Started,然后下载mingw-get-setup.exe。请遵循安装说明。进入软件包选择和安装时,请确保安装msys-base,mingw32-base和mingw-developer-toolkit。

下一步,请访问https://git-scm.com/下载/赢得下载Windows版Git Bash。下载.exe文件,然后按照其上的安装说明进行操作。

转到https://curl.haxx.se/download.html并将curl-7.49.1.zip下载到您的计算机。提取.zip文件夹,您就可以开始使用!

最后,从https://en.osdn.jp/projects/ttssh2/releases/下载Tera Term并按照安装说明进行操作。

步骤3:M2X入门

蓝牙

蓝牙

转到https://m2x.att .com/并创建一个帐户。

在设备选项卡下,单击左侧面板上的“新建”按钮,然后选择创建新设备。

创建后设备上,添加新的流。创建它之后,您现在可以登录并将值保存到其中。

步骤4:创建脚本

蓝牙

打开Git Bash在计算机上,然后导航到要保留脚本的文件夹。 Git Bash使用Linux之类的命令(cd,vim,mkdir等)。要转到文件夹,请使用不带引号的“ cd”。例如,我想将文件保留在桌面上,因此在git bash中,我键入了“ cd desktop”。

键入“ vim script_name.sh”以创建一个新的脚本文件(并替换为您的脚本名称)。复制脚本并将其粘贴到文件中。

脚本的运行方式如下:

脚本将连续运行,直到到达文件末尾,并且每次读取一行时,脚本都会保存任何内容它读入一个名为‘line’的变量

接下来,我们获得ISO8601格式的日期(YYYY-MM-DDTHH:MM:SS.nnnZ),因为我们需要这样做才能将数据发送到M2X云使用curl

现在将读取的值(行)发送到设备并使用curl流化。确保使用您自己的设备信息替换curl命令中的“设备ID”,“流名称”和“设备API密钥”。

将curl请求的响应保存到名为“ send”的变量中。

从send变量获取状态。如果被接受,则继续该文件。否则,请退出程序。

第5步:Arduino代码

我们将使用来自的SoftwareSerial库Arduino IDE,以便Arudino可以将数据发送到HC-05蓝牙模块,该模块随后将通过蓝牙将数据发送到计算机。

将HC-05的TX连接到Arduino的数字引脚10。

将HC-05的RX连接到Arduino的数字引脚11。

将HC-05的GND连接到Arduino上的GND。

将HC-05的VCC连接到Arduino上的5V。

如果要更改发送数据的时间间隔,请确保脚本和Arduino代码中的时间间隔相同。

注意:我只是向云发送随机数,但是您总是可以获取一个传感器,并修改Arduino代码以读取传感器输入,然后将该数据发送到HC-05模块,而不仅仅是向其发送随机数。

步骤6:一切就绪

蓝牙

蓝牙

现在是时候将计算机与HC- 05模块!转到设置-》更改PC设置-》 PC和设备-》蓝牙。确保计算机上的蓝牙已打开,并确保HC-05模块已打开(模块上的红色LED指示灯将快速闪烁)。从蓝牙设备列表中选择HC-05,然后输入配对代码。如果您的HC-05具有默认设置,则配对代码应为 1234 。

打开Tera Term并连接到HC-05。与它配对后,应该会显示两个COM端口。选择编号较低的一个。如果成功连接HC-05,则其上的红色LED指示灯应大约每1或2秒快速闪烁两次。

我们现在需要记录HC-05发送的所有数据。转到文件-》日志。..,然后选择保存日志的位置。

步骤7:运行程序

蓝牙

现在您已经有了Tera Term的日志,可以将所有传入数据保存到文件中,您可以将Arduino程序上传到Arduino。一旦上传,您的数据值应该开始以固定的时间间隔出现在Tera Term窗口中。该数据将保存在文件中,因为我们选择了记录会话。

通过打开Git Bash并转到脚本的位置来运行脚本。要运行该脚本,请键入“ 。/script_name.sh file_name”,并将您的脚本名称和Tera Term日志作为文件名。

现在,您可以登录M2X并看到其中的数据值您的设备流!

步骤8:AT&T流程

蓝牙

蓝牙

蓝牙

蓝牙

蓝牙

使用M2X,我们可以看到已发布的值的列表或图形。此步骤将向您展示如何在AT&T Flow中检索这些值,以便您可以对数据进行某些操作(发送电子邮件或文本通知等)。

在flow.att.com上创建一个帐户。然后单击左下角附近的(+)图标以创建新流程。

从“注入”节点开始。将其设置为在开始时注入,并将时间间隔设置为与Arduino代码和脚本设置为相同的时间间隔。

添加一个Function节点(我称为mine Get M2X Value)以从M2X获取数据值,并将Inject节点的输出连接到Function节点的输入。功能节点的代码在上图中。

添加一个M2X节点,并将其连接到功能节点。

将M2X节点的输出连接到JSON节点,以便将M2X数据转换为javascript对象。

将JSON节点的输出连接到另一个函数节点(我称为mine Parse Output)。上图中是第二个功能的代码。此函数从msg.payload中查找并获取值,并将其转换为数字。如果您的流发送非数字数据,则需要更改函数以不将值转换为数字。另外,您可能需要根据每个值的大小来更改从中获取值的索引。

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

全部0条评论

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

×
20
完善资料,
赚取积分