1.Необходимо приобрести:
- датчик температуры DS18B20, DS1820, DS18S20;
- резистор от 1,5К до 4,7К.
Если у Вас нет навыков пайки, то можно приобрести:
- беспаечная макетная плата;
- соединительные провода.
2. Собираем в соответствии со схемой:
3. Установка софта
- Если Вы установили Raspbian "Wheezy", то патч не нужен, все модули уже установлены. Просто загружаем их, если нет - то ищем в google "Патч ядра для 1-wire".Проверяем версию ядра:
cat /proc/version
Если у вас версия ядра ниже 3.18, то делаем следующее:
sudo modprobe w1-gpio sudo modprobe w1_thermЧтоб модули загружались при старте системы добавляем в /etc/modules
w1-gpio w1_thermЕсли версия ядра от 3.18 и выше:
sudo nano /boot/config.txtв окне перемещаемся вниз и вставляем строку:
dtoverlay=w1-gpioи перезагружаемся
sudo rebootЕсли у вас все правильно подключено, то пишем
ls /sys/bus/w1/devicesесли в ответ получили строку типа:
10-0008015a12da w1_bus_master1
значит вы всё правильно сделали и датчик подключен. 10-0008015a12da - это серийный номер датчика, у Вас он будет другой. Теперь считаем температуру
cat /sys/bus/w1/devices/w1_bus_master1/xx-xxxxxxxxxxxx/w1_slaveВместо xx-xxxxxxxxxxxx вставляем серийный номер вашего датчика. Должны получить в ответ:
43 00 4b 46 ff ff 04 10 eb : crc=eb YES 43 00 4b 46 ff ff 04 10 eb t=33500где "t=33500" значение температуры, которую необходимо разделить на 1000.
Чтобы убрать лишние строки можно создать файл
sudo nano temp1.shи вставляем:
#! /bin/bash sudo modprobe w1-gpio sudo modprobe w1-therm temp=$(cat /sys/bus/w1/devices/xx-xxxxxxxxxxxx/w1_slave | grep -E -o ".{0,0}t=.{0,5}" | cut -c 3-) echo "Температура: $temp"Сохраним, выйдем и
sudo chmod +x temp1.shТеперь запускаем
./temp1.sh
И на экране появится надпись
Температура: 26000
Готово!