问题标签 [hm-10]

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 投票
0 回答
384 浏览

android - HM-10 作为 BLE 监听器:从它建立一个简短的连接

我需要在 BLE 主设备和 BLE 外围设备之间建立简短的通信。

在我必须使用手机之前我没有任何问题,因为我选择了安卓的蓝牙设备,我可以连接到它,然后我可以接收数据,只需将它们写入 HM-10。

但是,这种方法的电池成本很高,因为 BLE 扫描比 BLE 广告更昂贵(对吗?)。所以我希望手机成为广告商,而 HM-10 扮演奴隶的角色。

但是,我仍然不明白是否可以连接到其他设备:我尝试了 AT+CONN,但它总是失败(AT+CONF)。有什么方法可以从 HM-10 向广告商发送简短的数据,即使没有连接?

甚至我的固件看起来也与自述文件略有不同!例如,AT+LN 存在于文档中,但它似乎不存在。此设备是否存在更好的固件版本,或者是否有可用的资源?我安装了 HM-Soft V705(最新)。

谢谢

更新 1:

@ChrisStratton 好的,我有一些有趣的消息:我已经在关注你的想法(有时电话广告,而 HM-10 总是扫描并尝试连接到服务,如果它看到它,然后 HM-10 发送一些数据,电话接听) . 我设法让 HM-10 可以看到手机(不要问我怎么做的!)。我正在使用 BLE Tool Android 应用程序来测试所有内容。现在,中心问题是即使广告商可连接,HM-10 也不会连接到 android 服务(见附图)。

我很想知道 AT+CO(我发现它是 AT+LN 的一种替代品,但我不确定)可以提供帮助,但我不知道如何。

AT 命令结果

Gatt 服务器广告商

HM-10 手动 V609/V705

0 投票
0 回答
341 浏览

bluetooth - 写入描述符失败 - HM-10 BLE

我对带有 V705 固件的 HM-10 BLE 模块有疑问。当我尝试使用蓝牙串口监视器应用程序(小米红米 5 Plus、MIUI 11.0.2 Global、Android 8.1)连接到模块时,write descriptor failed出现错误。UUID 为 0xFFE0(默认)。相同的模块适用于 V609 固件。此外,如果我使用 BLE Scanner 应用程序,手机会与 mthe 模块配对 - BLE Scanner 看到的信息上的图像

我在 Dev 中打开了蓝牙调试。选项,我发现了这个。

包 306

我是蓝牙(LE)的新手。另外,如果我尝试通过手机设置与模块配对,如果模块不需要 PIN,则手机无法配对,但如果需要 PIN,则手机可以配对。为什么?为什么与 V705 固件配对不起作用,而与 V609 配对却没有任何问题?所有设置都保持不变。HM-10 将用于 DIY 项目。该项目的应用程序将很快完成,所以现在我使用蓝牙串行监视器应用程序来查看来自 BT 的包。感谢帮助!

0 投票
1 回答
618 浏览

android - HM-10 Arduino 蓝牙模块不工作

我目前正在尝试使用我的 Arduino 设置我的 HM-10 蓝牙模块,当我这样做时,我面临两个问题。当我连接蓝牙模块时,我无法将任何代码上传到 Arduino,因为它永远卡在“上传”上,直到崩溃。当我断开模块时,我可以很好地上传代码。另一个问题可能与另一个问题有关,我无法用手机连接到蓝牙模块。我使用了密码 1234,0000 和 123456,他们都说无法连接?AT 命令不执行任何操作,因为我无法向其上传任何内容。

蓝牙设置

蓝牙 1

蓝牙 2

0 投票
1 回答
160 浏览

arduino - HM-10 在不知道 MAC 地址的情况下与另一个 HM-10 配对

我试图弄清楚,当我不知道从机 MAC 地址时,如何连接两个 hm-10 模块。想象一下,你有一个电动长板,却丢了遥控器。你给自己买了一个新的,现在想与董事会配对。

在数据表中,我找不到任何有用的功能来简化此过程。我考虑过为从设备设置一个唯一的名称,并在主设备上制作一个配对按钮。配对按钮会将主设备设置为配对模式(AT-ROLE1,AT+IMME1 以执行 AT+DISC?)。AT+DISC的结果?命令将被保存到一个数组中,在找到从设备的唯一名称后,设备/MAC地址的索引将被保存并用作建立连接的参数。我正在使用固件版本 v707。

问题是,我觉得这个解决方案并不优雅,我认为必须有更好的方法来做到这一点,但我找不到任何关于它的信息。有没有人试图这样做,也许有一些见识?我非常感激。

0 投票
1 回答
3014 浏览

arduino - 如何与 HM-19 BLE 模块通信并使用超声波传感器进行扫描

我正在为学校做我的高级项目,我需要做的一部分是使用 HM-19 蓝牙 5.0 模块连接到另一个蓝牙 5.0 模块并建立主从连接。

我可以做到这一点,但是当我包含超声波传感器进行扫描所需的代码时,我对 HM-19 的命令不会返回任何内容,并且我无法执行任何基本功能,例如查找连接。我已经在使用和不使用超声波传感器代码的情况下对其进行了测试,当我使用代码的传感器部分时会出现问题。

明确一点,我要做的只是让我的蓝牙 5.0 芯片连接到另一个芯片并执行正常命令,同时当我把手放在前面时,还向我的串行监视器输入一段距离。这只是一个测试,一旦完成,我将转向我真正想做的事情。

这只是项目的起点。我在 void 循环中对我的传感器和蓝牙芯片进行了函数调用,这就是其中的全部内容。

我只想知道如何解决这个问题。如何使用超声波传感器进行扫描并向蓝牙模块发送命令?任何帮助将不胜感激。

[这里是评论传感器时的结果][1] 和 [这里是导致无限循环的不成功结果,我无法到达返回芯片所说内容的代码部分][2]。最后,虽然大部分链接都包含 HM-10 的内容,但 HM-19 的命令基本相同。我正在添加更多内容,因为堆栈溢出不会让我编辑这篇文章,直到有更多字符或其他东西。我希望你有一个美好的一天/晚上的人阅读这篇文章。

这是我的代码:

0 投票
1 回答
182 浏览

ios - 从Nsnumber转换为数据发送rssi到蓝牙模块IOS swift 4

我发现我正在使用的蓝牙 4.0 模块接收到 iPhone 的信号强度,但它的格式为NSNumber并且 writeValue() 方法只接受 type 的值Data

我将如何转换 fromNSNumber到 type Data?还是有另一种更好的方法将这些数据从我的 iPhone 发送到蓝牙模块?

我使用的蓝牙模块是 HM-10,它连接到一个 arduino。

0 投票
1 回答
2250 浏览

arduino - Arduino Nano 和 HM-10 BLE 控制器之间的通信不起作用

我想检查我在 Arduino IDE 中的 SerialMonitor 和 BLE 控制器之间的通信是否正常。

AT我向我的 SerialMonitor输入了命令,它应该返回OK响应,但什么也没发生。

这是我使用的方案:

在此处输入图像描述

代码:

更新:

更改了SoftwareSerial bleSerial(3, 2) 的值;// RX,TX仍然不起作用。

更新2:

我试过切换引脚和代码,没有任何效果。我至少应该在我的 Android 手机上的蓝牙设备中看到 HM-10 控制器,但我什么也看不到。

更新3:

我使用了这个 Stackoverflow 帖子中的代码,并且工作正常。我终于可以在我的 Android 手机上的蓝牙设备中看到控制器了。它在命令MLT-BT05后返回了名称。AT+NAME?看起来您必须读取每个字符的消息并在字符之间放置 10 毫秒的延迟,否则将无法从 BLE 控制器读取消息。那是唯一的问题。

0 投票
3 回答
703 浏览

android - HM-10 BLE 微控制器无 PIN 连接

我正在使用 HM-10 控制器与我的 Android 应用程序进行通信。在 Arduino 控制台中,我使用命令设置引脚,AT+PIN112233该命令应该是 BLE 设备的密码。此 PIN 已保存到我的设备,但 Android 手机无需任何确认或 PIN 请求即可连接到此设备。这是正常行为吗?

我只是通过扫描找到设备,BroadcastReceiver然后我得到了正在运行的设备BluetoothDevice.ACTION_FOUND。它会返回蓝牙设备,我只需连接到这个设备

我的 Android 应用程序中没有任何对话框窗口要求输入 PIN。还尝试了其他一些蓝牙或BLE连接的应用程序,结果是一样的。在配对过程中,他们都没有要求输入 PIN。

此外,我的 HM-10 BLE 控制器对某些 AT 命令没有反应:

  • AT+TYPE2返回+TYPE=0
  • AT+VERR?没反应
  • AT+VERS?没反应
  • AT+RESTART没反应
  • AT没有回应,但AT+回应OK
0 投票
1 回答
47 浏览

arduino - iBeacon 通知数据无法读取?

0 投票
0 回答
79 浏览

c - BLE 数据与 HM-10 和 Arduino Nano 不一致

我们有一个控制 80 条 LED 灯条的项目,通过移动应用程序连接。我们使用的组件如下:

  • Arduino纳米板
  • HM-10蓝牙模块
  • WS2812b 灯带

在应用程序上,用户可以选择颜色(最多 5 种)、动画(可选)、动画速度和亮度。选择的配置通过一定的节流和去抖动传输到 BLE 模块。颜色(在应用程序的色轮上选择)和亮度传输良好,没有任何问题。

我们遇到的问题是,当某些动画处于活动状态时,如果用户通过应用程序更改动画速度,arduino 部分会自行锁定,不再接受任何命令。

要使用动画激活配置,我们将数据从应用程序发送到 arduino,如下所示:

<l255180200,240135068:089;04200>

格式为:< [mode] [colors(with ',')] : [brightness] ; [动画代码(2位)] [动画速度] >

起初,我们对连续数据有一些不一致的地方,所以我们实现了以下数据采集:

所以当模式=='l'时调用自定义函数。在自定义函数中,我们执行如下:

问题出现在脉冲动画中,是这样的:

我们使用以下方法初始化动画,没有任何问题:

<l255180200,240135068:089;04200>

一旦我们从应用程序调整动画速度,我们每秒发送大约 2 个新配置,这与上面相同,只是速度不同('>' 之前的最后 3 个字符)。arduino部分随机接收数据不正确,丢失2-3个字符,如<l2551800,240135068:089;04200>

字符丢失通常发生在字符串的不同部分,但每次都会发生连续字符被误读的情况。此外,有时我们会得到一个倒退的问号。我们不确定我们在哪里实施了错误,因此对于解决此问题的任何帮助表示赞赏。

谢谢!