|
Подключение датчика температуры DS18B20 к Raspberry Pi.
1.Необходимо приобрести: Если у Вас нет навыков пайки, то можно приобрести: 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 Готово! |