找回密码
 立即注册
查看: 140|回复: 2

[技术探讨] DIY手持 土壤氮磷钾检测仪,接入HA

[复制链接]

13

主题

127

回帖

892

积分

高级会员

积分
892
金钱
752
HASS币
0
发表于 4 天前 | 显示全部楼层 |阅读模式
手持 土壤钾检测仪,接入HA

esphome:
  name: "soil-npk-sensor"
  friendly_name: "NPK8266"

esp8266:
  board: nodemcuv2

logger:

api:

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: 192.168.88.57

  ap:
    ssid: "Npk8266"
    password: "12345678"

captive_portal:

web_server:

button:
  - platform: restart
    name: "Restart"


i2c:
  sda: D3
  scl: D4

uart:
  tx_pin: D6
  rx_pin: D7
  baud_rate: 4800
  stop_bits: 1


modbus:
  send_wait_time: 200ms
  id: mod_bus


modbus_controller:
  - id: modbus_bus
    address: 0x01
    modbus_id: mod_bus
    command_throttle: 0ms
    setup_priority: -10
    update_interval: 5s

font:
  - file: 'JDSTJ.ttf'
    id: font1
    size: 17
    glyphs: 氮磷钾传感器含量-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

#SSD1306 OLED显示屏配置
display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C   #SSD1306常见I2C地址
    id: oled_display
    lambda: |-
      // 显示设备名称
      //it.print(0, 0, id(font1), TextAlign::TOP_CENTER, "氮磷钾传感器");  
      // 显示氮含量
      it.printf(0, 0, id(font1), TextAlign::TOP_LEFT, "氮含量: %d mg", (int)id(nitrogen_sensor).state);
      // 显示磷含量
      it.printf(0, 20, id(font1), TextAlign::TOP_LEFT, "磷含量: %d mg", (int)id(phosphorus_sensor).state);
      // 显示钾含量
      it.printf(0, 40, id(font1), TextAlign::TOP_LEFT, "钾含量: %d mg", (int)id(potassium_sensor).state);



# 传感器定义
sensor:
  - platform: modbus_controller
    modbus_controller_id: modbus_bus
    id: nitrogen_sensor
    name: "1.N氮含量"
    address: 0x1E
    unit_of_measurement: "mg/kg"
    accuracy_decimals: 0
    register_type: holding
    value_type: S_WORD

  - platform: modbus_controller
    modbus_controller_id: modbus_bus
    id: phosphorus_sensor
    name: "2.P磷含量"
    address: 0x1F
    unit_of_measurement: "mg/kg"
    accuracy_decimals: 0
    register_type: holding
    value_type: S_WORD

  - platform: modbus_controller
    modbus_controller_id: modbus_bus
    id: potassium_sensor
    name: "3.K钾含量"
    address: 0x20
    unit_of_measurement: "mg/kg"
    accuracy_decimals: 0
    register_type: holding
    value_type: S_WORD


485型土壤氮磷钾传感器.pdf

816.4 KB, 下载次数: 13

回复

使用道具 举报

13

主题

127

回帖

892

积分

高级会员

积分
892
金钱
752
HASS币
0
 楼主| 发表于 昨天 14:56 | 显示全部楼层
土壤氮磷钾传感器是假的,如有不信的可以弄一杯氮肥的水,把传感器放进去试试



回复

使用道具 举报

42

主题

131

回帖

1292

积分

金牌会员

积分
1292
金钱
1119
HASS币
0
发表于 昨天 22:40 | 显示全部楼层
撒一把盐 就知道 有多假了,但支持技术分享
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 01:58 , Processed in 0.103458 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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