0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:wv 2019-10-15 14:24 次阅读

第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中查找并获取值,并将其转换为数字。如果您的流发送非数字数据,则需要更改函数以不将值转换为数字。另外,您可能需要根据每个值的大小来更改从中获取值的索引

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

    关注

    112

    文章

    5530

    浏览量

    166834
  • Arduino
    +关注

    关注

    186

    文章

    6445

    浏览量

    185459
收藏 人收藏

    评论

    相关推荐

    CYUSB3KIT-003电脑上运行串口助手查看FX3通过UART发送到电脑的数据,为什么串口助手没有收到数据

    FX3通过UART发送到电脑的数据,但是电脑上的串口助手没有收到数据。请问我下面的代码有什么问题吗? #include #include #include void dela
    发表于 05-30 08:01

    如何才能将adc转换后的数据发送到代码中指定的任何数据类型为uint8的变量中?

    通过 DMA 接收 value2 中的数据,然后进行处理并通过 DMA 将其发送到 pwm,因此基本上我需要知道如何
    发表于 03-04 06:48

    数据通过FPGA发送到CYUSB3014再到电脑端,为什么有时候flagA会一直为低,且时间比较长了?

    现在使用cyusb3014,数据通过FPGA发送到CYUSB3014再到电脑端, 每次发送1024个字节,固件使用的官方的固件, 时钟是100M
    发表于 02-28 07:33

    在Linux系统上使用cyusb_linux_1.0.5,CAN无法通过FX3读取FPGA上的数据怎么解决?

    数据发送到 FPGA,但我 CAN无法通过 FX3 读取 FPGA 上的数据。 顺便说一句,设备功能:向设备
    发表于 02-27 07:56

    ESP32与Arduino之间的区别差异

    Arduino包括一个ATmega328P8位微控制器,具有0至13个数字引脚。这些引脚用于数字输入和数字输出,其中数字输入用于设备读取数据,数字输出用于
    的头像 发表于 02-02 14:36 4499次阅读
    ESP32与<b class='flag-5'>Arduino</b><b class='flag-5'>板</b>之间的区别差异

    如何使用BLE数据从一个PSOC发送到另一个PSOC?

    我有一个 PSOC (我正在使用 CY8CPROTO-063-BLE )采样数据,我想通过 BLE 将其发送到另一个 PSOC 。 我需
    发表于 01-29 07:53

    EVAL-AD7760采集光信号并将其转变为数字信号,怎样输出信号发送到PC端?

    我希望用该评估来采集光信号并将其转变为数字信号,怎样输出信号发送到PC端,希望用过的解答一下
    发表于 12-14 08:26

    如何用ds18b20读取来的数据通过串口发送到pc?

    如何用ds18b20读取来的数据通过串口发送到pc?
    发表于 11-06 07:26

    单片机如何ds18b20测得的温度通过串口发送到电脑上边?

    单片机如何ds18b20测得的温度通过串口发送到电脑上边,获取到的温度是十进制,但是串口只能发送16进制,请问怎么转换才能发送正确的温度
    发表于 11-03 06:58

    发送到MCU的停止位变窄导致USART接收数据出错的解决方法

    发送到MCU的停止位变窄导致USART接收数据出错发送到MCU的停止位变窄导致USART接收数据出错
    发表于 10-20 07:50

    USART3接收条码扫描器的数据通过UART4发送到上位机串口调试助手,如何衔接?

    USART3接收条码扫描器的数据,然后通过UART4发送到上位机串口调试助手,不知道怎么衔接,怎么编
    发表于 10-18 08:21

    高速数据传输蓝牙双模模块方案

    高速数据传输蓝牙双模方案 高速数据传输透传模式是一种直接传输模式,数据通过蓝牙模块传输,不需要特定命令。 主控制器
    发表于 08-19 15:28 1次下载

    使用uart通信时,通过串口助手软件发送到FPGA并不能触发中断的原因?

    在使用uart(uart0、uart1、uart2)通信时,uart通过中断处理uart接收函数并打印出来,但通过串口助手软件发送到FPGA并不能触发中断,不能触发中断处理函数。com
    发表于 08-16 08:20

    高速数据传输蓝牙双模方案

    高速数据传输透传模式是一种直接传输模式,数据通过蓝牙模块传输,不需要特定命令。 主控制器通过串口数据
    的头像 发表于 07-26 14:45 810次阅读
    高速<b class='flag-5'>数据</b>传输<b class='flag-5'>蓝牙</b>双模方案

    NodeMCU捕获数据并将其发送到Thingsio.ai云

    电子发烧友网站提供《NodeMCU捕获数据并将其发送到Thingsio.ai云.zip》资料免费下载
    发表于 07-12 10:50 0次下载
    <b class='flag-5'>从</b>NodeMCU捕获<b class='flag-5'>数据</b>并将其<b class='flag-5'>发送到</b>Thingsio.ai云