Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bluetooth 启动从Arduino到远程设备的连接_Bluetooth_Arduino - Fatal编程技术网

Bluetooth 启动从Arduino到远程设备的连接

Bluetooth 启动从Arduino到远程设备的连接,bluetooth,arduino,Bluetooth,Arduino,我试图实现我的arduino内置设备在开机后自动连接到设备。该电路板是Arduino Mini Pro,蓝牙模块是bluetooth Mate Silver(RN42)。设备已配对,蓝牙模块处于从属模式,远程设备(在本例中为普通笔记本电脑)可被发现。我正在使用Arduino软件附带的软件串行库 以下是我的设置: void setup() { Serial.begin(9600); // Begin the serial monitor at 9600bps // bluetooth

我试图实现我的arduino内置设备在开机后自动连接到设备。该电路板是Arduino Mini Pro,蓝牙模块是bluetooth Mate Silver(RN42)。设备已配对,蓝牙模块处于从属模式,远程设备(在本例中为普通笔记本电脑)可被发现。我正在使用Arduino软件附带的软件串行库

以下是我的设置:

void setup()
{
  Serial.begin(9600);  // Begin the serial monitor at 9600bps

  // bluetooth

  // set baud rate to 9600 
  bluetooth.begin(9600);  
  // start command mode
  bluetooth.print("$$$");
  // reply delay
  delay(100);
  // set to slave mode
  bluetooth.println("SM,0");
  // reply delay
  delay(100);
  // set device pin to 0403
  bluetooth.println("SP,0403");
  // reply delay
  delay(100);
  // connect to pixelsense
  bluetooth.println("C," + remoteMAC); // remoteMAC is a string with the mac address
  // reply delay
  delay(2500);
  // leave command mode
  bluetooth.println("---");
  // reply delay
  delay(100);
}
我阅读了RN42的命令集,我认为这些命令是正确的。我可以通过蓝牙连接到Arduino,但另一个方向不工作。我还尝试使用主模式或将远程mac存储在闪存中,而不是使用字符串。从文档中,应该可以从RN42启动连接,但我还没有详细了解它是如何工作的。有人能帮我解决问题吗


编辑:设备似乎根本没有进入命令模式。至少闪光灯没有显示这一点。命令是否有任何错误,以致无法访问命令模式?

我认为您可能需要在蓝牙之后设置一些延迟。begin(9600),设置其波特率,然后发出打印命令。

我认为您可能需要在蓝牙之后设置一些延迟。begin(9600),设置波特率,然后发出打印命令。

将近一周后,我遇到了一个解决方案。实际上,似乎有一个接受蓝牙连接的程序是很重要的。我一直在尝试使用Windows7蓝牙对话框菜单项“接收文件”,但没有成功。所以我使用了一个第三方程序来监听传入的连接,这实际上是有效的。基本上我所做的一切都很好,除了丢失的连接侦听器

有时,如果我上传新代码到Arduino,就会出现无法建立连接的问题。这可以通过移除和读取蓝牙设备来解决


上述RN42蓝牙客户端的代码有效。使用Arduino软件提供的库。

近一周后,我发现了一个解决方案。实际上,似乎有一个接受蓝牙连接的程序是很重要的。我一直在尝试使用Windows7蓝牙对话框菜单项“接收文件”,但没有成功。所以我使用了一个第三方程序来监听传入的连接,这实际上是有效的。基本上我所做的一切都很好,除了丢失的连接侦听器

有时,如果我上传新代码到Arduino,就会出现无法建立连接的问题。这可以通过移除和读取蓝牙设备来解决


上述RN42蓝牙客户端的代码有效。使用Arduino软件提供的库。

只有在模块通电后60秒,您才能进入命令模式。您可以使用状态指示灯查看计时器是否仍在计数(如果每秒闪烁2次)。对不起,我的英语不好。

您只能在模块通电后60秒内进入命令模式。您可以使用状态指示灯查看计时器是否仍在计数(如果每秒闪烁2次)。对不起,我的英语不好。

启动时,RN-42需要500毫秒才能进入命令模式,请尝试“延迟(500);”在“蓝牙开始(115200)”之前这应该能让你达到目的。此外,电流互感器应连接在低位

可以在下面的链接中找到文档的第45页

第45页

“3.3与微处理器的接口 漫游网络蓝牙设备可以使用 UART接口。当与微处理器接口时,使用以下指南: •蓝牙设备的电源、接地、RX和TX信号必须连接并 电流互感器应保持在低位或与RTS相连。 •蓝牙设备可以在启动500毫秒后进入命令模式。 •微处理器应发送$$$,无需回车或换行 命令模式。 3.3.0.1我如何知道模块已准备好进入命令模式? 重新启动后500毫秒,模块已准备好进入命令模式。您发送$$$时不带 回车。 3.3.0.2我应该连接哪些硬信号? 您应该连接电源、接地、接收和发送。电流互感器应为低电流,或者您可以连接
或者将其连接到RTS。”

启动时,RN-42需要500毫秒才能进入命令模式,请尝试“延迟(500);”在“蓝牙开始(115200)”之前这应该能让你达到目的。此外,电流互感器应连接在低位

可以在下面的链接中找到文档的第45页

第45页

“3.3与微处理器的接口 漫游网络蓝牙设备可以使用 UART接口。当与微处理器接口时,使用以下指南: •蓝牙设备的电源、接地、RX和TX信号必须连接并 电流互感器应保持在低位或与RTS相连。 •蓝牙设备可以在启动500毫秒后进入命令模式。 •微处理器应发送$$$,无需回车或换行 命令模式。 3.3.0.1我如何知道模块已准备好进入命令模式? 重新启动后500毫秒,模块已准备好进入命令模式。您发送$$$时不带 回车。 3.3.0.2我应该连接哪些硬信号? 您应该连接电源、接地、接收和发送。电流互感器应为低电流,或者您可以连接
或者将其与RTS绑定。“

不起作用。我认为主要的问题是设备甚至没有进入命令模式。闪光灯仅表示设备处于可发现模式(1闪烁/秒)…您可以尝试本讨论中列出的一些建议吗。或者尝试不同的波特率如果你