『瀚思彼岸』» 智能家居技术论坛

标题: M1820Z温度传感器接入esphome [打印本页]

作者: ouyangyiluo    时间: 2024-7-12 21:18
标题: M1820Z温度传感器接入esphome
本帖最后由 ouyangyiluo 于 2024-7-12 21:20 编辑

刚玩esphome没多久,如果有发现什么问题可以多多指正。


复制官方的dallas_temp修改的,因为协议都差不多,都是单总线协议。

效果图:
[attach]61409[/attach]


使用方法:
1. 首先,需要注释掉esphome中 one_wire的ROM ID CRC校验(47~51行,只保留50行)代码,要不然会一直校验不过,导致设备列表中没有M1820Z。M1820Z的数据手册有说明:
[attach]61410[/attach]

2. 导入外部组件,可以参考这个连接
  1. external_components:
  2.   - source:
  3.       type: local
  4.       path: components
复制代码


3.  后面的流程和dallas_temp差不多

  1. one_wire:
  2.   - platform: gpio
  3.     pin: GPIO18
  4.     id: bus1

  5. sensor:
  6.   - platform: mysentech_m601_m1601_m1820
  7.     one_wire_id: bus1
  8.     name: "M1820Z"
  9.     update_interval: 1s
  10.     repeatability: 2 # 0=低可重复性; 1=中等可重复性; 2=高可重复性; 具体可看M1820Z数据手册;
复制代码


yaml和外部组件源码:
[attach]61412[/attach]

数据手册:[attach]61411[/attach]




作者: polisher    时间: 2024-7-13 11:07
非常感谢楼主的分享。如楼主有时间,把敏源的MC12T电容芯片也做个外部组件,就太完美了
作者: ouyangyiluo    时间: 2024-7-13 12:33
polisher 发表于 2024-7-13 11:07
非常感谢楼主的分享。如楼主有时间,把敏源的MC12T电容芯片也做个外部组件,就太完美了 ...

手头没这个芯片,搜了下看没有包邮的。你自己尝试弄过吗?
作者: polisher    时间: 2024-7-14 11:52
ouyangyiluo 发表于 2024-7-13 12:33
手头没这个芯片,搜了下看没有包邮的。你自己尝试弄过吗?

没有尝试过。
很想做土壤湿度检测,使用太阳能,通过蓝牙广播进行数据传输,其中湿度检测想使用这个芯片。因为缺少低功耗设备调试和数据标定的仪器仪表,所以一直没感行动起来,不知道您有兴趣没有。
作者: ouyangyiluo    时间: 2024-7-14 21:57
polisher 发表于 2024-7-14 11:52
没有尝试过。
很想做土壤湿度检测,使用太阳能,通过蓝牙广播进行数据传输,其中湿度检测想使用这个芯片 ...

简单搜了下资料,可以用烘干称重法测量土壤含水率,功耗的话可以用万用表测个大概。我已经"斥巨资"下单了同系列的MC12G模组,过几天到手后再研究研究。
作者: polisher    时间: 2024-7-17 16:39
ouyangyiluo 发表于 2024-7-14 21:57
简单搜了下资料,可以用烘干称重法测量土壤含水率,功耗的话可以用万用表测个大概。我已经"斥巨资"下单了 ...

很期待。已经迫不及待想看看您的元件选择了
作者: ouyangyiluo    时间: 2024-8-1 01:38
polisher 发表于 2024-7-14 11:52
没有尝试过。
很想做土壤湿度检测,使用太阳能,通过蓝牙广播进行数据传输,其中湿度检测想使用这个芯片 ...

有现成的方案,你看看适合你不
https://bbs.hassbian.com/forum.p ... 4165&pid=404608
作者: ouyangyiluo    时间: 2024-8-1 01:44
polisher 发表于 2024-7-17 16:39
很期待。已经迫不及待想看看您的元件选择了

非专业人员,我买的是已经焊接好的模组(http://www.mysentech.com/filedownload/736906)。
最佳忙,没什么时间搞。目前是能用CH340连接模块测量数据,还没把代码移植到esphome。

作者: jjcs    时间: 2024-8-1 02:04
支持,不过建议可以把外部组件在GitHub提交pr,说不定后续合并到官方
作者: richard695    时间: 2025-1-19 18:41
src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp: In member function 'virtual void esphome::mysentech_m601_m1601_m1820::MysentechTemperatureSensor::setup()':
src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp:91:14: error: 'to_underlying' is not a member of 'std'
  cfg |= std::to_underlying(this->repeatability_);
              ^~~~~~~~~~~~~
src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp:94:14: error: 'to_underlying' is not a member of 'std'
  cfg |= std::to_underlying(CfgMps::Single);
              ^~~~~~~~~~~~~
src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp:97:14: error: 'to_underlying' is not a member of 'std'
  cfg |= std::to_underlying(CfgAlarm:isable);
              ^~~~~~~~~~~~~
*** [.pioenvs/esp32c3ch340-2-1/src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp.o] Error 1
不知什么问题
作者: ouyangyiluo    时间: 2025-1-19 20:20
richard695 发表于 2025-1-19 18:41
src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp: In member function ...

把你的配置文件发给我,让我看看能不能复现
作者: richard695    时间: 2025-3-5 10:19
richard695 发表于 2025-1-19 18:41
src/esphome/components/mysentech_m601_m1601_m1820/mysentech_m601_m1601_m1820.cpp: In member function ...

可以了.........




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5