Как считывать температуру с DS18B20 на Raspberry Pi 2
Добро пожаловать! Это руководство показывает, как подключить цифровой датчик температуры DS18B20 к Raspberry Pi 2 и точно считывать температуру помещения.
Что понадобится
- Водонепроницаемый датчик DS18B20 (купить онлайн)
- Подтягивающий резистор 4.7 кОм (желтый-фиолетовый-красный-золотой)
- Перемычки
- Raspberry Pi 2 (любая модель с GPIO)
Шаг 1 – Проводка датчика
DS18B20 использует 1-Wire интерфейс. Подключите так:
- Красный провод (VDD) → шина 3.3V на Pi
- Черный провод (GND) → шина земли на Pi
- Желтый провод (DQ) → GPIO 4 (физический пин 7)
Поставьте резистор 4.7 кОм между линией 3.3V и линией DQ как pull-up. «3.3V» конец резистора должен касаться красной (VDD) стороны.
Шаг 2 – Включите 1-Wire интерфейс
1. Отредактируйте конфиг загрузки:
sudo nano /boot/config.txt
2. Добавьте или раскомментируйте строку:
dtoverlay=w1-gpio
3. Сохраните, выйдите, перезагрузитесь:
sudo reboot
Шаг 3 – Загрузите модули ядра
После рестарта Pi загрузите 1-Wire драйверы:
sudo modprobe w1-gpio sudo modprobe w1_therm
Шаг 4 – Проверьте обнаружение датчика
Проверьте дерево устройств на ID датчика:
ls -l /sys/bus/w1/devices/
Вы должны увидеть папку, начинающуюся с 28-, напр., 28-000006dfa76c.
Шаг 5 – Прочитайте температуру
Каждый датчик экспонирует данные через w1_slave. Посмотрите:
cat /sys/bus/w1/devices/28-000006dfa76c/w1_slave
Вывод содержит две строки; вторая заканчивается на t=XXXXX, где XXXXX — температура в тысячных долях градуса Цельсия. Например, t=23450 = 23.450 °C.
Опционально – разбор значения скриптом
Быстрый Python сниппет для конвертации сырого чтения в °C:
#!/usr/bin/env python3
import time, glob
sensor = glob.glob('/sys/bus/w1/devices/28-*/w1_slave')[0]
while True:
with open(sensor, 'r') as f:
lines = f.readlines()
if lines[0].strip().endswith('YES'):
temp_raw = lines[1].split('t=')[1]
temp_c = float(temp_raw) / 1000.0
print(f"Temperature: {temp_c:.3f} °C")
else:
print("Reading error")
time.sleep(2)
Сохраните как temp_read.py, сделайте исполняемым, запустите для живых обновлений температуры.
Следуя этим шагам, у вас будет надежный температурный монитор на вашем Raspberry Pi 2.
Для глубоких инсайтов см. Adafruit DS18B20 гайд.
Производственный процесс
- Интегрированная система контроля доступа с QR, RFID и верификацией температуры
- Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
- Точный температурный профиль Raspberry Pi с Python, SQLite и LabVIEW
- Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
- Raspberry Pi сетевой монитор температуры и влажности — руководство по DIY сборке
- Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
- Измерение температуры на Raspberry Pi с датчиками Maxim 1-Wire и мостом DS2482 I2C
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Бесшовный мониторинг температуры и влажности на Raspberry Pi с EzTemp
- Точный мониторинг температуры в серверной на Raspberry Pi