问题标签 [bluesmirf]

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 投票
2 回答
4174 浏览

android - 将 Android Nexus One 与 Arduino + BlueSmirf 连接

我对这一切有点陌生,所以请耐心等待 - 我非常感谢您的帮助。

我正在尝试将 Android Nexus One 与连接到 BlueSmirf 的 arduino (Duemilanove) 链接。我有一个程序,它只是将字符串“Hello Bluetooth”输出到 BlueSmirf 连接的任何设备。这是Arduino程序:

无效设置(){ Serial.begin(115200);诠释我; }

void loop(){Serial.print("你好蓝牙!"); 延迟(1000);}

一台我的电脑BT终端我可以看到消息并且连接没问题。问题出在我的android代码上。我可以使用 android 连接到设备,但是当我查看日志时,它没有显示“Hello Bluetooth”。这是调试日志:


04-09 16:27:49.022:错误/BTArduino(17288):FireFly-2583 已连接
04-09 16:27:49.022:错误/BTArduino(17288):开始连接套接字
04-09 16:27:55.705:错误/BTArduino(17288):收到:16
04-09 16:27:56.702:错误/BTArduino(17288):收到:1
04-09 16:27:56.712:错误/BTArduino(17288):收到:15
04- 09 16:27:57.702:错误/BTArduino(17288):收到:1
04-09 16:27:57.702:错误/BTArduino(17288):收到:15
04-09 16:27:58.704:错误/BTArduino(17288) ): 收到: 1
04-09 16:27:58.704: ERROR/BTArduino(17288): 收到: 15

等等...

这是代码,我试图只放相关代码,但如果您需要更多,请告诉我:

更相关的代码在这里:

我正在读取字节 = inStream.read(buffer)。我知道字节是一个整数,所以我尝试通过蓝牙发送整数,因为“字节”是一个整数,但它仍然没有意义。

几乎看起来发送的波特率不正确。这可能是真的吗?

任何帮助,将不胜感激。非常感谢。

0 投票
4 回答
5093 浏览

bluetooth - Arduino上的蓝牙固件?

我有 Firmata 在 Arduino Uno 上工作正常,通过电缆 USB 与 Processing 通信。

我想摆脱电缆,并通过蓝牙传输(使用 BlueSMIRF 模块)运行连接。我不清楚我需要对 Firmata 做什么来告诉它使用 BT 模块而不是(未连接的)USB 电缆接口。特别是,我是否需要破解 Firmata 本身来添加初始化代码

  1. 特定于我正在使用的 BT 模块,或
  2. 更一般地说,需要告诉 Firmata 使用有线 USB 以外的端口吗?

谢谢

D

0 投票
1 回答
1106 浏览

java - 使用java将数据从PC发送到蓝牙芯片BlueSMiRF

我想将笔记本电脑中蓝牙设备的数据发送到 BlueSMiRF 蓝牙芯片。我以前从未处理过蓝牙编程,所以我需要有关如何开始和使用什么的指导。我正在研究 java,但如果有更好的选择,我会研究它。

0 投票
1 回答
12340 浏览

c# - 稳定蓝牙串行通信的波特率

我有一个 Arduino mega 通过蓝牙(bluesmirf gold 设备)与我编写的 C# 应用程序通信。Arduino 不断发送 32 个字符的串行信号,第一个始终是“S”,最后一个是“E”。使用 putty,我可以确认 99% 的时间都正确发送了这个信号。

现在我想用我的 C# 应用程序读取这个信号,我正在使用以下代码:

serialHC 属于串行类。

有时这工作得很好,但有时我遇到问题,我不知道为什么它有时会起作用,但其他时候却不行。

我似乎遇到的问题是,有时我从 arduino 读取的数据中会出现相当大的滞后。我注意到这一点是因为我正在发送按钮状态,并且它们仅在我实际按下或释放 Arduino 上的按钮后几秒钟发生变化。我使用了蓝牙设备的标准波特率,即 115200,并且想知道将其更改为更低的速率是否会产生更好的结果?如果有什么优势呢?我不需要高通信速率,即使每秒更新状态 4-5 次对于我的应用程序也是可以接受的。

延迟是否可能来自我的代码?我认为它可能来自等待传入“S”的while循环,但我不明白为什么它应该挂在那里,因为总是有新信号以高速率进入。

我使用 DiscardInBuffer() 因为我不关心过时的数据,只想跳过它。更重要的是,我正在阅读最新数据并根据这些新数据采取行动。

感谢您的帮助!

最好的祝福,

本德

更新:

刚刚在调试时发现了更多信息。问题似乎只出现:

  1. 通过蓝牙连接时(通过 USB 电缆绝对没有延迟)
  2. 当从 PC 建立第二个蓝牙连接到另一个设备时(不同的 COM 端口和不同的波特率)

有没有人有在 PC 上使用同一个蓝牙加密狗运行两个不同设备的经验?我可以设法连接到这两个没有问题,但仍然有前面提到的滞后问题。

谢谢你的帮助

0 投票
1 回答
108 浏览

android - Android暂停线程但将内容添加到文本视图

我有一个线性布局,我在其中放置一个 id 为“out”的 textview。在我的代码中,我得到了这个 textview 并调用了 out.append("Some string here");。我想做的是让它使用 thread.sleep(1000); 等待一秒钟,然后再做一次追加。当我只使用一个 for 循环并遍历它十次时,它会等待十秒钟,然后在最后更新视图。我怎样才能让这个更新在睡眠之间的视图?

附言。这样做的主要原因是因为我有另一个使用蓝牙输出流运行的线程,我希望它在每次向通过 bluesmirf 模块连接的 arduino 发送字节时更新文本视图。我可以让它发送数据,但屏幕的更新发生在 for 循环的末尾。如果我在这个循环中休眠,它将等待一秒钟,然后输出到 arduino 没问题。我只想更新它,这样我就可以在不使用日志的情况下看到失败的地方。

0 投票
1 回答
1005 浏览

bluetooth - Arduino 蓝牙连接

我正在尝试从我的 arduino 向串行监视器发送一个字符串。我正在使用带有 arduino UNO 的 sparkfun bluesmirf 芯片。

我的代码很简单:

当我打开显示器时,我收到了乱码。当我用 USB 电缆连接到 arduino 时,一切正常。

谁能把我引向正确的方向?

0 投票
1 回答
1556 浏览

android - 蓝牙连接 (Android/Bluesmirf) 仅在未配对时才能正常工作

我正在尝试通过蓝牙在 Android 平板电脑和带有 BlueSmirf 蓝牙加密狗的 Arduino 之间进行通信。在我的 Android 代码中,我首先检查已配对设备的列表以查找我正在寻找的设备。如果它不在那里,我开始发现。这两种可能性都起作用,BlueSmirf 上的状态 LED 变为绿色,表示连接成功。但只有在我启动应用程序之前设备没有配对,我也能够通过蓝牙发送/接收数据。如果设备之前已配对,则可以更可靠、更快地建立连接,但无法发送或接收数据。你知道为什么会这样吗?提前谢谢了!

以下是相关代码:

}

更新:

我现在也尝试替换这部分:

有了这个:

如此处建议:Android蓝牙accept()/connect()与已配对的设备

但它仍然不起作用......

更新 2:

我换了

还是一样的问题。

我还尝试在一个新线程中运行整个连接过程,而不是只运行自己的 socket.connect() 和 socket.getInput/OuputStream,但这也无济于事。

更新 3:

我认为如果我还提供建立可以发送/接收数据的连接的代码可能会有所帮助:

0 投票
1 回答
2586 浏览

arduino - 字符数组的初始化字符串在 Arduino 上太长错误

我正在尝试在 Arduino 上运行下面的代码,但是当我验证代码时,它显示“字符数组的初始化字符串太长”。尽管我已经阅读了有关类似问题的先前问题,但我不知道从我现在正在尝试的代码中从哪里开始。是的,,, 我对 C++ 世界很陌生,,, 如果你能给我一个自学的线索或直接的答案,那将非常感激。

最好的,

0 投票
1 回答
2394 浏览

android - arduino 到 android 蓝牙:检测两者是否已连接

目标:

让ardiuno检查它是否通过蓝牙连接到android。然后在连接时执行动作,如果未连接则重新连接。

我正在使用什么:

Bluesmirf silver with arduino uno 和 note 3

到目前为止我所做的:

[阿杜诺代码]

Bluesmirf 处于主模式自动连接。arduino 应该检查 android 应用程序是否正在发送 H 字符。如果是,则意味着它已连接。如果没有,则需要继续重新连接。

[安卓代码]

这是安卓应用程序在连接应用程序后发送 H 的方法。

边注:

我已经尝试了很多方法来让这个 arduino 检查它是否连接。我 3 周前才刚刚开始编程,所以这变得越来越困难。任何帮助,将不胜感激。

0 投票
2 回答
3489 浏览

bluetooth - Arduino - 如何从串口读取字符串

我最近才开始使用Arduino. 我只是有一个快速的问题,我尝试寻找答案,但已经失败了好几天。基本上我想问的是是否有办法从串行端口读取整行。就像下图中突出显示的行。

在此处输入图像描述

我想要做的是使用 aBluesmirf Silver Rn-42在该区域搜索蓝牙设备并在找到匹配地址时触发信号。我只是不知道如何阅读串行端口上已经存在的消息。