问题标签 [hc-05]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

arduino - 将char数组解析为整数,atoi()返回平方

我正在使用一个 android 应用程序来发送值来控制伺服系统。代码:

问题:我得到值 + AF 字母来寻址每个伺服 - A10、A180、B30 等。现在问题是将其转换为实际整数。如您所见,我已经声明了一个字符数组来存储整数,并且按照 arduino 论坛上的帖子中的建议,我在数组末尾添加了一个 \0。目前,Atoi 返回随机字符,主要是正方形和一些随机数。我什至尝试将它们分配给一个字符串,然后分配给 .toInt() 但同样的问题,主要是正方形。有任何想法吗?谢谢!

0 投票
0 回答
177 浏览

android - 尝试使用 HC-05 板(连接到 Arduino)了解蓝牙连接上的数据传输行为(滞后)

我有的

我有一个硬件传感器和一个连接到 Arduino 的 HC-05。Arduino 收集传感器数据并通过蓝牙 HC 05 将其实时传输到 Android 设备进行分析。

每帧传感器数据为 44 字节。

平均数据传输速率为每秒 2200 字节。

有一个定制的 Android 应用程序可以处理传感器数据。


问题

一旦 Android 应用程序连接到硬件数据流开始以正常速率流动,直到,Android 应用程序从应用程序向 Arduino 发送单个命令。之后,每隔几百帧就会观察到 450-950 毫秒的大延迟,然后才能接收到更多数据。

注意:此命令不会以任何方式影响上述功能。还有其他命令不时从 Android 手机发送到 Arduino。


其他观察

  1. 来自 Arduino 的数据似乎以正常速度运行,没有观察到滞后。

  2. 如果 Android 应用程序不发送任何命令,则只要执行分析(大约 12 分钟)就没有观察到延迟。

  3. 在任何一种情况下(有或没有滞后)都没有丢失/丢失/损坏帧。即所有数据都被发送和接收。

谁能帮我理解为什么会产生这种巨大的滞后?

如果需要任何信息,请发表评论,我很乐意提供。

PS Android端代码是标准的教科书的东西,一旦连接,有两个线程在运行,一个保持从InputStream轮询(读取)数据,另一个用于写入。两个线程仅用于一个目的(编写器线程几乎没有像预期的那样参与)。

相关代码:

连接后,从 InputStream 读取的线程

作家线程,

0 投票
1 回答
715 浏览

bluetooth - 输入蓝牙 HC-05 的 AT 命令时,在 arduino 串行监视器中看不到任何内容

我是 arduino 的初学者,并试图按照 youtube 上的一个视频制作一个项目 - 使用 HC-05 模块的主从。我仔细遵循了该视频中的每一步。这是视频的链接-> https://www.youtube.com/watch?v=BXXAcFOTnBo 对于从模块,当我在串行监视器中键入 AT 命令时,什么都没有显示。我在互联网上搜索了这个问题,但仍然没有解决它。这是我所做的:

  1. 累了重启我的电脑
  2. 尝试更改arduino,起初我使用arduino nano,然后使用uno
  3. 我尝试将波特率更改为所有其他值,但没有任何反应

并且灯闪烁没有变化,它保持在AT命令模式,直到电源关闭并再次打开。

这就是外观

谢谢你的回答

0 投票
1 回答
78 浏览

c++ - Arduino蓝牙通信

我有一个关于 Arduino 和 HC-05 模块之间使用串行通信的 BT 通信的问题。我正在尝试通过手机上的 BT 终端控制我的 Arduino nano 上的 RGB 灯模式(将来它将是 Android APP),但我被困在需要检查发送的命令是字母还是字符串的地方颜色。下面是示例:

我想使用将字母 T 设置为命令的模式,所以我有代码:

它工作得很好,但现在我想发送 BT RGB 颜色,如 255,255,255,然后将其放入代码中

我尝试将其保存为字符串,然后如果它不是任何模式,请将其解析为int's ( redInt, greenInt, blueInt) 但我不知道该怎么做。我试过了parseInt,但它说它不适用于字符串。问题是如何将传入Serial.read()的字符串保存为字符串,并在检查是否不是之后,如何将其解析为 3 个单独的命令int以让我设置颜色?

0 投票
1 回答
76 浏览

java - 我的代码有什么问题,因为当我按下连接或断开连接时没有任何操作?

我在android studio中编写了以下代码,以便在输入其MAC地址后使用Connect按钮连接到HC-06蓝牙模块,如代码所示。我希望能够连接到我的蓝牙模块并在我的屏幕上返回蓝牙连接以及在按下断开连接时断开连接。不幸的是,这些按钮都没有执行所需的操作。请帮助我解决我的以下代码以及控制器按钮代码。谢谢!

这是清单:

我在连接上按了无数次,没有任何反馈。

我需要连接按钮来连接到 HC 06 并在按下断开连接时断开套接字连接

0 投票
1 回答
824 浏览

android - 通过 HC-05 和 node.js 将控制器连接到智能手机

我正在构建一个 android 应用程序来充当 IOT 控制器的接口。我已经有了芯片的代码,它连接到一个 HC-05 蓝牙模块。我已经尝试使用应用商店的蓝牙终端,我的手机成功连接到 HC-05。我现在正在构建移动应用程序以从芯片发送/接收数据。所以我需要直接从 node.js 连接到 HC-05,这就是我卡住的地方。

我一直在寻找可以帮助我的 npm 模块,到目前为止,我已经找到了 web-bluetooth-terminal、bluetooth-terminal、serialport、bluetooth-serial-port 和 johnny-5。问题是,我不确定它们之间的区别是什么,以及哪一个实际上可以与 HC-05 一起使用。据我了解,johnny-5 是为控制器本身编写代码,不连接蓝牙模块,我不确定 web-bluetooth-terminal 是否可以以 9600 波特率和不同站点连接到 HC-05说不同的话。我怎样才能使这项工作?

0 投票
1 回答
112 浏览

bluetooth - 发送/接收数据 Nodemcu(V3) + 蓝牙模块 HC-05

我现在尝试与 HC-05 蓝牙模块通信很长时间,但没有成功。

我正在使用 Nodemcu(V3) ESP8266 模块。

我按以下顺序将 HC-05 连接到 Nodemcu:

对于初学者,我想检查我的 Nodemcu 是否与我的 HC-05 模块正常通信。

我编写了以下代码来读取 AT 命令的响应:

但是,我根本没有得到任何 AT 命令的响应。串行监视器只是显示空白。

提前致谢

编辑:-我将 HC-05 上的“EN”引脚连接到 Vcc。不,HC-05 上的 LED 灯缓慢闪烁,这意味着 HC-05 已配置为命令模式。但是,我仍然无法收到任何 AT 命令的响应。我还在串行监视器中选择了“NL & CR”,正确配置了波特率并仔细检查了硬件连接。

一切似乎都是正确的,除了我没有得到 AT 命令的响应。

请帮忙!!!

0 投票
1 回答
641 浏览

android - 使用 HC-05 将字符串从 arduino 发送到 android 时接收垃圾数据

一切都在标题中。当我将字符串数据从 Arduino 发送到 android 时,我会收到这个 ������������������。我尽一切努力获得真正的价值,但没有。请帮忙。在这里编辑 Arduino 部分:

在 onCreate

我跑步时的控制台。

0 投票
0 回答
177 浏览

android - 在 Android 中通过蓝牙 HC-05 获取数据时 inputStream 中的数据丢失

通过我的安卓应用程序上的蓝牙 hc-05 连接时,我无法从输入流中获取所有数据。这是我的代码:

我的connectedThread代码:

}

当我测试我的设备和 realterm 应用程序之间的连接时,我能够看到所有数据。上面的应用程序只能接收大约 80% 的数据。我确定这不是设备的故障,因为我能够在实时应用程序中看到所有数据。我试过的:

1) 在读取方法之前/之后添加睡眠
2) 将 inputStream 包装到缓冲流中
3) 使用 inStream!!.readBytes() 而不是 inStream!!.read(buffer) -> 线程在此方法上冻结(内部调用读取方法()) 4)使用可用方法()检查可用数据,但它给了我不正确的结果 - 即当流即将结束时,它显示有 50 个字节可用,但实际上我看到缓冲区中有 200 个字节可用。 ..无论如何,根据文档,我永远不应该依赖这种方法。
5) 使用来自 apache commons 的 IOUtils 和来自 guava 的 Bytestreams -> 结果与第三点相同,线程冻结
6) 更改缓冲区的大小:尝试 1、10、100、256、512、1024、10000 7

问题是:输入流中的数据是否可能丢失?

0 投票
1 回答
42 浏览

arduino - ATMEGA328P-PU 需要上传,但无法通过串口通信

我正在使用独立的 ATMEGA328P-PU 从 mpu6050 获取加速度计数据并以波特率 115200 发送到串行,并将数据发送到另一个串行(到 HC05 蓝牙模块)。但问题是,有时我会遇到一个奇怪的场景,atmega328p-pu 通过 usb 到 ttl 转换器接受程序,但控制器无法通过串行发送任何数据。hc05蓝牙和usb串口的串口数据都是空白的。任何人都知道任何可能的原因。我正在使用以下代码。

我曾尝试检查 veroboard 上的连接,但这种情况有时会修复,有时会再次出现。