HM-10:综合概述
在这个新时代,无线通信是一个令人兴奋的概念。一些(如果不是大多数)现代电子设备以一种或另一种方式使用无线通信。本文将介绍 HM-10 及其在使用蓝牙低功耗模块建立无线通信中的重要作用。通读并获取了解 HM-10 所需的所有信息,这里提供了各种必要的组件。
1。 HM-10 引脚配置
模型设计采用 CC2540 或 CC2541 蓝牙 SOC(片上系统)蓝牙低功耗 (BLE)。

HM-10 引脚配置
HM-10模块有34个引脚,其中建立通信只需要4个。
引脚号 | 引脚名称 | 引脚说明 |
1 | UART_TX | UART接口-发送 |
2 | UART_RX | UART接口-接收 |
3 | UART_CTS | UART接口 |
4 | UART_RTS | UART接口 |
5-10 | NC | 没有连接 |
11 | 重置 | 低电平100ms复位 |
12 | VCC | 3.3V |
13-14 | 接地 | 地面 |
15 | USB_D- | USB接口 |
16-19 | NC | 没有连接 |
20 | USB_D+ | USB接口 |
21-22 | 接地 | 地面 |
23 | PIO0 | 系统密钥 |
24 | PIO1 | 系统指示灯 |
25-34 | PIO2-11 | 可编程输入/输出线 |
上表说明了每个引脚及其功能。
HM-10 BLE Module有两个版本,HM10C和HM-10S。
2。 HM-10 模块特点
- 发送和接收时没有字节限制
- 蓝牙低功耗(BLE 芯片)
- 蓝牙版本:V4.0
- 工作频率:2.4GHz ISM 频段
- 设备处于睡眠模式时使用 50-200uA
- 12 个通用输入和输出引脚
- UART 串行接口和全速 USB 接口
- 带捕捉功能的 32-kHz 睡眠定时器
- 在线串行编程 128 KB 或 256 KB
- 8 KB 静态随机存取存储器
- 远距离:开放空间高达 100M
- 便携尺寸

一个易于携带的蓝牙模块
2.1 HM-10 模组规格为 :
- 模块工作电压:2.0V – 3.6V
- 低电压运行
- 235uA 备用电池消耗
- 射频输入电平:10dBm
- + 3.9V 最大电压
- 工作温度为 -40ºC 至 +85ºC
- 静电放电:750V
HM-11、HM-01、HM-09也可以代替HM-10使用。

HC-08 蓝牙模块
3。那么,我们可以在哪里使用 HM-10 模块?
- HM-10 BLE 模块便于进行不超过 100 米的短距离无线通信。
- 由于功耗低,对于移动设备也很方便。
- HM-10 蓝牙 4.0 模块价格便宜,更适合低成本项目。
- 它使用 UART 通信连接到大多数控制器和处理器,例如 Arduino 板。
其他应用包括:
- 机器人
- USB 加密狗
- 服务器
- 医疗设备
- 休闲和运动器材
- 计算机外围设备

使用蓝牙模块的血氧仪
4.如何使用 HM-10 模块
UART 串行连接使模块与 Arduino 轻松配对。
如果遇到问题,在将模块与 Arduino 或 Raspberry Pi 集成时,您可以查阅 HM-10 数据表。

底板上的 HM-10 传感器
在项目中使用之前确保您的 HM-10 模块是正品至关重要。
因此,为避免克隆模块,请确保您的模块有 32KHz 晶振。
或者,您需要通过下载克隆模块的固件来更改模块的固件版本。
否则,在不修改固件的情况下,将无法通过 AT 指令访问模块或与智能手机配对。
BLE 模块可以与其他支持 BLE 的设备进行通信,例如 android 设备,即 2 个 HM-10。
可以通过串行 UART 进行通信,并且可以使用 AT 命令集进行完全自定义。
该模块是用于 CC2541 蓝牙的分线板,包括一个 3.3V 电源调节器。
值得注意的是,当使用 Arduino 5V 板时,HM-10 RX 引脚通常仍为 3.3V。因此需要将 Arduino 的 HM-10 TX 引脚转换为 3.3V。
4.1 必要组件
- Arduino 蓝牙控制器
- HM-10 蓝牙模块
- 电阻器(1 kΩ、470 Ω)
- 连接线 (FTDI)
- Arduino IDE
- Android 应用 - BLE 扫描仪(HM-10 模块)
4.2 电路图

HM-10 电路图
来源:https://www.youtube.com/watch?v=geSEbu6mj2Q
4.3 Arduino模块设置+AT指令
要执行 AT 命令,请在您的 PC 上打开 Arduino 板并确保选择正确的 USB 端口。
接下来,打开串口监视器,确认默认波特率是出厂默认的9600。
然后输入命令 AT+NAME? 没有空格。它应该显示 OK+NAME:HMSoft
您现在可以与蓝牙 4.0 LE 进行通信了。
4.4 2个HM-10之间发送和接收数据
这一步可以让2个HM-10相互发送和接收数据。
使用 AT 命令 AT+ADDR? 查询原始MAC地址。
输出看起来像 20C38FF61DA1 记住每个 HM-10 BLE 都有一个唯一的地址。
要配对 2 个 HM-10,请使用命令 AT+CON[param1] 和 AT+ROLE[param1]。
4.5 将 HM-10 BLE 4.0 与 Arduino 板接线
Arduino蓝牙控制器与模块的接口连接如下:
HM-10 | 阿杜诺 |
HM-10 TX | D2 |
HN-10 RX | 第三天 |
接地 | 接地 |
VCC | 3.3V |
您可以使用软件串行或硬件串行对 Arduino UNO 进行编程。在我们的示例项目中,我们将使用软件序列号。

与 HM-10 接口的 Arduino 蓝牙控制器
来源: https://www.youtube.com/watch?v=Xt5e10B4Eq0&t=13s
下面的代码解释了如何使用 Arduino 蓝牙控制器和蓝牙低功耗控制 LED。
#include
SoftwareSerial HM10(2, 3); // RX =2, TX =3
字符应用程序数据;
String inData =“”;
无效设置()
{
序列号.begin(9600);
Serial.println("HM10串口从9600开始");
HM10.开始(9600); // 将 HM10 串口设置为 9600 波特率
pinMode(13,输出); //板载LED
数字写入(13,低); //关闭LED
}
无效循环()
{
HM10.listen(); //监听HM10端口
while (HM10.available()> 0) { // 如果 HM10 发送了一些东西然后读取
appData =HM10.read();
inData =String(appData); // 以字符串格式保存数据
Serial.write(appData);
}
if (Serial.available()) { // 如果可用则读取用户输入。
延迟(10);
HM10.write(Serial.read());
}
if ( inData =="F") {
Serial.println(“LED 熄灭”);
数字写入(13,低); //关闭LED
延迟(500);
}
if ( inData ==“N”) {
Serial.println("LED ON");
数字写入(13,高); //关闭LED
延迟(500);
数字写入(13,低); // 关闭 LED
延迟(500);
}
}
4.6 BLE Android 扫描仪应用
要使用带有低功耗蓝牙模块的安卓设备,您首先需要为您的移动设备下载 BLE 扫描仪。
这是链接。
完成后,启动应用并授予蓝牙和位置权限。

应用权限页面
来源:应用截图( https://play.google.com/store/apps/details?id=com.macdom.ble.blescanner&hl=en_IN )
然后扫描设备,蓝牙低功耗4.0将在MLT-BT05下
使用 123456789 作为配对码。连接,一切就绪。
连接就绪后,点击MLT-BT05 如需更多选项,请选择自定义服务。
接下来会有选项R、W、N。
如需测试,请点击 W 发送 1 或 0 以使用您的 Android 设备操作 LED。
5。 HM-10 BLE 与其他模块有何不同?
蓝牙4.0 LE与其他的显着区别在于蓝牙版本。
请记住,默认出厂设置包含所有蓝牙 4.0 功能。
默认出厂设置还允许它以低功耗传输高达 24Mbps。
因此,将 HM-10 与蓝牙 2/2.1 等其他模块进行比较时,HM-10 的表现更好。
HC-05模块是使用蓝牙2.0的模块之一。
HC-05 模块
来源: https://freesvg.org/1554744332
6.结论
总之,我们已经广泛研究了 HM-10 模块的特性。此外,现在可以轻松地将 Arduino 集成到其默认设置中。有了底板和更多组件,您现在可以毫不费力地执行您的项目。如需更多信息、查询或希望购买这些组件,请在此处与我们联系。
工业技术