DIY自己的带屏温度传感
如果你恰巧有home assistant,想要弄个温度传感,有兴趣的话,可以看下哈。
效果大概这样的:

需要以下商品,我买过,就一起贴过来。
ESP32 20元左右(带天线)
建议买带天线的,信号好 ,之前买了n多个,家里无线的设备多了以后,老是断连,用这个杠杠的。
esp32 带天线版本OLED屏幕 (10元左右,4排针)
OLED屏幕NTC传感器 基本3块钱左右,选10k 3950的就行
NTC传感器5.6K电阻 5.1k应该也可以(当时以为要10k的,随手买了个5.6k,结果10k太大,5.6k正好)

杜邦线若干至此,采购的商品有了,好了,接下来开始软件部分。
homeassistant 带系统的版本,安装插件

找到esphome 安装
安装完成esphome后,esp32 usb连电脑。打开下面网站, 第一次建议去安装下驱动。
https://web.esphome.io/?dashboard_install

usb连接后一路升级,然后会让你配置WiFi ,ok 至此,你的esp32 板子可以去连接到homeassistant
在这个界面上会发现你那台配置好网络的esp32板子,你随便命个名就可以看到了。

然后添加到homeassistant中。
接下来可以将之前买的那些配件进行连线了。

有些位置挡住了,我移动下模拟器,看下接线的详细图

找到你的那个esp32,点击edit

然后可以直接在下面的代码 中的 font开始拷贝

代码:
substitutions:
name: esphome-web-007714
friendly_name: ESPHome Web outer1
esphome:
name: ${name}
friendly_name: ${friendly_name}
min_version: 2024.6.0
name_add_mac_suffix: false
project:
name: esphome.web
version: dev
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
# Allow provisioning Wi-Fi via serial
improv_serial:
wifi:
# Set up a wifi access point
ap: {}
# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:
dashboard_import:
package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
import_full_config: true
# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none
# To have a "next url" for improv serial
web_server:
font: #字体 这里开始拷贝
- file: 'font.ttf'
id: font1
size: 15 #字体大小
glyphs: 当前功率水质三楼亮灯关采购财务在总空调设定上出回班下二已经一生产信息余额温度湿时间今日电费卡室内状态元显示器!"%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
- file: 'font.ttf'
id: font2
size: 9 #字体大小
glyphs: 当前功率水质三楼亮灯关采购财务总空调设定在上出回班下二已经一生产信息余额温度湿时间今日电费卡室内状态元显示器!"%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
- file: 'font.ttf'
id: font3
size: 12 #字体大小
glyphs: 当前功率水质三楼亮灯关采购财务总空调设定在上出回班下二已经一生产信息余额温度湿时间今日电费卡室内状态元显示器!"%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
# Example configuration entry
i2c:
sda: GPIO14
scl: GPIO13
scan: False
frequency: 800kHz
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
id: my_display
lambda: |-
id(my_display).turn_on();
if(id(ntc_temp).has_state()){
it.printf(50, 2, id(font1), "出水:%.0f°C", id(ntc_temp).state);
}
if(id(ntc_34).has_state()){
it.printf(50, 25, id(font1), "回水:%.0f°C", id(ntc_34).state);
}
sensor: #从使用的HA实例中导入状态传感器
- platform: ntc
sensor: resistance_sensor
id: ntc_temp
calibration:
b_constant: 3950
reference_temperature: 25°C
reference_resistance: 10kOhm
name: NTC Temperature
- platform: ntc
sensor: resistance_34
id: ntc_34
calibration:
b_constant: 3950
reference_temperature: 25°C
reference_resistance: 10kOhm
name: NTC 34
- platform: resistance
id: resistance_sensor
sensor: source_sensor
configuration: DOWNSTREAM
resistor: 5.59kOhm
name: Resistance Sensor
- platform: adc
id: source_sensor
pin: GPIO36
attenuation: 12db # 设置衰减,使 ADC 量程为 0V 到 3.3V
update_interval: 5s
- platform: resistance
id: resistance_34
sensor: source_34
configuration: DOWNSTREAM
resistor: 5.56kOhm
name: Resistance 34
- platform: adc
id: source_34
pin: GPIO34
attenuation: 12db # 设置衰减,使 ADC 量程为 0V 到 3.3V
update_interval: 5s
完成后,直接点击安装,选择wirelessly 无线安装。

此刻在编译。

编译完成,并且上传,有时候上传会失败,直接点重试



作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

Gavin_C
校验提示文案
浮生行简
校验提示文案
小马过河去吃土
校验提示文案
哦嚯豁豁
校验提示文案
zhaobin5252
校验提示文案
月影儿
校验提示文案
逸墨书生zl
校验提示文案
千手观音854153
校验提示文案
Alan叔
校验提示文案
lhszmd
校验提示文案
gsh456
校验提示文案
spirn
校验提示文案
值友4118444434
校验提示文案
烟台小飞熊
校验提示文案
[已注销]
校验提示文案
肥肥月亮
校验提示文案
乐其乐
校验提示文案
值友2223946038
校验提示文案
值友2223946038
校验提示文案
Gavin_C
校验提示文案
[已注销]
校验提示文案
月影儿
校验提示文案
烟台小飞熊
校验提示文案
值友4118444434
校验提示文案
zhaobin5252
校验提示文案
spirn
校验提示文案
哦嚯豁豁
校验提示文案
小马过河去吃土
校验提示文案
gsh456
校验提示文案
乐其乐
校验提示文案
肥肥月亮
校验提示文案
lhszmd
校验提示文案
Alan叔
校验提示文案
浮生行简
校验提示文案
逸墨书生zl
校验提示文案
千手观音854153
校验提示文案