找回密码
 立即注册
查看: 801|回复: 10

[人体存在] 领普es3可以通过esp32蓝牙模块接入ha吗?

[复制链接]

8

主题

47

回帖

257

积分

中级会员

积分
257
金钱
202
HASS币
0
发表于 2025-2-13 17:57:39 | 显示全部楼层 |阅读模式
领普es3可以通过esp32蓝牙模块接入ha吗?
纯粹不想买小米的网关,刚好手里有一块esp32,想问问各位老哥有无接入的经历
回复

使用道具 举报

33

主题

1075

回帖

5232

积分

论坛元老

积分
5232
金钱
4109
HASS币
90
发表于 2025-2-13 20:37:33 | 显示全部楼层
我的理解是所有被动式设备理论上都可以接入,像之前那个最便宜的小米的温度传感器,不刷机只要能获取加密的key就可以。
通过这两个集成理论上是行的
https://custom-components.github.io/ble_monitor/by_brand#linptech
https://www.home-assistant.io/integrations/xiaomi_ble

但是还没有大佬写集成支持这个设备。

不折腾的话还是用多模网关吧,现阶段最方便的
我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

7

主题

166

回帖

1419

积分

金牌会员

积分
1419
金钱
1246
HASS币
0
发表于 2025-2-13 22:23:36 | 显示全部楼层
不可以,小米的蓝牙协议是私有协议
回复

使用道具 举报

8

主题

47

回帖

257

积分

中级会员

积分
257
金钱
202
HASS币
0
 楼主| 发表于 2025-2-14 09:26:34 | 显示全部楼层
relliky 发表于 2025-2-13 20:37
我的理解是所有被动式设备理论上都可以接入,像之前那个最便宜的小米的温度传感器,不刷机只要能获取加密的 ...

好像蓝牙是可以,到了蓝牙mesh就不行了
回复

使用道具 举报

8

主题

47

回帖

257

积分

中级会员

积分
257
金钱
202
HASS币
0
 楼主| 发表于 2025-2-14 09:27:38 | 显示全部楼层
hungheo 发表于 2025-2-13 22:23
不可以,小米的蓝牙协议是私有协议

纯蓝牙也私有吗?(我不知道领普es3是不是蓝牙还是蓝牙mesh)
我接入过温湿度,我知道蓝牙mesh是私有的
回复

使用道具 举报

6

主题

20

回帖

266

积分

中级会员

积分
266
金钱
240
HASS币
0
发表于 2025-2-14 10:24:40 | 显示全部楼层
顶一下, 我也有这个需求,不过是因为ES3在角落的卫生间里,多模覆盖不到。   
回复

使用道具 举报

8

主题

47

回帖

257

积分

中级会员

积分
257
金钱
202
HASS币
0
 楼主| 发表于 2025-2-14 10:54:47 | 显示全部楼层
你这泼猴! 发表于 2025-2-14 10:24
顶一下, 我也有这个需求,不过是因为ES3在角落的卫生间里,多模覆盖不到。    ...

你有es3,不如去买个esp32试一试,反正就20多块哈哈哈
回复

使用道具 举报

6

主题

20

回帖

266

积分

中级会员

积分
266
金钱
240
HASS币
0
发表于 2025-2-17 19:07:31 | 显示全部楼层
dhljj 发表于 2025-2-14 10:54
你有es3,不如去买个esp32试一试,反正就20多块哈哈哈

esp32我也有,  没研究明白。 不搞了哈哈。 正好又买了个中枢网关。配合官方集成接入到HA了。还算好用
回复

使用道具 举报

5

主题

156

回帖

1989

积分

金牌会员

积分
1989
金钱
1828
HASS币
0
发表于 2025-2-18 10:55:11 | 显示全部楼层
领普es3目前还不支持esp32的蓝牙模块接入,但小米人在支持,
回复

使用道具 举报

2

主题

67

回帖

377

积分

中级会员

积分
377
金钱
308
HASS币
0
发表于 2025-2-18 16:59:54 | 显示全部楼层
领普 ES3 通常是一款温湿度传感器,理论上是可以通过 ESP32 蓝牙模块接入 Home Assistant(HA)的,下面为你详细介绍实现思路与操作步骤:

### 实现原理
ESP32 具备蓝牙功能,能够扫描并连接领普 ES3 这类支持蓝牙通信的设备。通过编写特定的代码,ESP32 可以获取领普 ES3 传感器的数据,然后借助 MQTT 协议或者其他通信方式将数据传输给 Home Assistant。

### 操作步骤

#### 1. 硬件准备
- 一块 ESP32 开发板。
- 连接 ESP32 开发板到电脑的 USB 数据线。

#### 2. 环境搭建
- **安装 ESP-IDF 或者 Arduino IDE**:
    - **ESP-IDF**:这是乐鑫官方的开发框架,功能强大但相对复杂。安装和配置可参考乐鑫官方文档。
    - **Arduino IDE**:简单易用,适合初学者。需在 Arduino IDE 中添加 ESP32 开发板支持,路径为“文件” -> “首选项” -> “附加开发板管理器网址”,添加 `https://dl.espressif.com/dl/package_esp32_index.json`,然后在“工具” -> “开发板” -> “开发板管理器”中搜索并安装 ESP32 开发板支持。
- **安装 MQTT 代理**:可以在 Home Assistant 中安装 Mosquitto MQTT 插件,也可以使用独立的 MQTT 服务器,如 EMQ X。

#### 3. 编写 ESP32 代码
在 Arduino IDE 或者 ESP-IDF 中编写代码,实现 ESP32 与领普 ES3 的蓝牙连接和数据获取,并将数据发布到 MQTT 主题。以下是一个简单的 Arduino IDE 示例代码框架:

```cpp
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
#include <PubSubClient.h>
#include <WiFi.h>

// WiFi 信息
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";

// MQTT 信息
const char* mqttServer = "your_MQTT_SERVER";
const int mqttPort = 1883;
const char* mqttUser = "your_MQTT_USER";
const char* mqttPassword = "your_MQTT_PASSWORD";

WiFiClient espClient;
PubSubClient client(espClient);

// 领普 ES3 设备 MAC 地址
String targetDeviceAddress = "XX:XX:XX:XX:XX:XX";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");

  client.setServer(mqttServer, mqttPort);
  while (!client.connected()) {
    Serial.println("Connecting to MQTT...");
    if (client.connect("ESP32Client", mqttUser, mqttPassword)) {
      Serial.println("Connected to MQTT");
    } else {
      Serial.print("Failed with state ");
      Serial.print(client.state());
      delay(2000);
    }
  }

  BLEDevice::init("");
  BLEScan* pBLEScan = BLEDevice::getScan();
  pBLEScan->setActiveScan(true);
}

void loop() {
  BLEScanResults foundDevices = BLEDevice::getScan()->start(5);
  for (int i = 0; i < foundDevices.getCount(); i++) {
    BLEAdvertisedDevice device = foundDevices.getDevice(i);
    if (device.getAddress().toString() == targetDeviceAddress) {
      // 处理领普 ES3 数据
      String data = device.getPayload();
      // 发布数据到 MQTT 主题
      client.publish("es3/data", data.c_str());
    }
  }
  client.loop();
  delay(10000);
}
```

请将代码中的 `your_SSID`、`your_PASSWORD`、`your_MQTT_SERVER`、`your_MQTT_USER`、`your_MQTT_PASSWORD` 和 `XX:XX:XX:XX:XX:XX` 替换为实际的值。

#### 4. 配置 Home Assistant
在 Home Assistant 中添加 MQTT 集成,配置 MQTT 服务器信息。然后在 `configuration.yaml` 文件中添加传感器配置,例如:

```yaml
sensor:
  - platform: mqtt
    name: "领普 ES3 温湿度传感器"
    state_topic: "es3/data"
    # 根据实际数据格式解析温度和湿度
    value_template: "{{ value_json.temperature }}"
    unit_of_measurement: "°C"

  - platform: mqtt
    name: "领普 ES3 湿度传感器"
    state_topic: "es3/data"
    value_template: "{{ value_json.humidity }}"
    unit_of_measurement: "%"
```

#### 5. 重启 Home Assistant
完成配置后,重启 Home Assistant 使配置生效,之后就能在 Home Assistant 界面看到领普 ES3 传感器的数据了。

### 注意事项
- 要准确获取领普 ES3 的蓝牙 MAC 地址和数据格式,不同版本的设备可能存在差异。
- 确保 ESP32 与领普 ES3 的距离在蓝牙有效通信范围内。
大佬发的教程往往让新人卡在第一步
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-4 14:15 , Processed in 0.390098 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表