Что я могу подключить к RPi для измерения температуры? Я думаю, что устройства, подключенные к I²C или SPI , имеют больше смысла.
Вот вопрос про DHT-22 и другие однопроводные устройства. Но на данном этапе кажется, что 1-проводной на RPi затруднен из-за критического времени
gpio
peripherals
temperature
sensor
Джон Ла Рой
источник
источник
Ответы:
Вот как подключить MCP9804 .
Вы можете использовать это так:
Преобразование 0x67c1 в температуру немного запутано. MSB - 0xc1, а LSB - 0x67.
Первые 4 бита MSB сбрасываются, и это оставляет температуру в 16-х градусах
Пример Python
В дополнение к загрузке модулей i2c, описанных выше, вам необходимо установить пакет python-smbus. Вы можете уменьшить самонагрев, выключая MCP9804 между показаниями.
источник
Вы можете использовать встроенный последовательный порт Raspberry Pi и подключить его к ИС цифрового термометра (например, DS1620 ).
Вы можете узнать интерфейс последовательного порта Raspberry Pi здесь
Важно : помните, что RPI UART работает при TTL 3,3 В - будьте осторожны, не используйте высоковольтный 5 В / 12 вольт Uart прямо на RPi. Это приведет к повреждению!
источник
Я попробовал два подхода к измерению температуры. Для I2C я использовал модуль TMP102, который похож на то, что описывает gnibbler. Вот мой пост об этом:
Для 1-wire Adafruit недавно выпустил собственное изображение, которое содержит поддержку 1-wire. Я смог прочитать с него однопроводный датчик температуры DS18B20. Подробнее в этом посте :
Наконец, другой подход заключается в использовании аналогового датчика температуры и внешнего АЦП. У Adafruit есть хороший учебник по этому вопросу.
источник
Также работает простой дешевый USB-термометр «HID TEMPer», и его гораздо проще подключить тем, кто еще не начал играть с UART или GPIO, как я.
Мой RPi обеспечивает достаточную мощность, чтобы управлять им напрямую с USB-порта без концентратора.
Чтобы настроить это с помощью Raspbian Wheezy, я следовал инструкциям, написанным для Ubuntu (заявление об отказе: ссылка на пост в моем собственном блоге). Для Raspberry Pi мне нужно было всего лишь сделать один небольшой твик для установки
LIBUSB_LIBDIR
при установкеDevice::USB
модуля perl, чтобы он мог найтиlibusb
в нестандартном расположении руки. Полные инструкции следуют.Чтобы получить простое чтение без какого-либо материала munin , установите зависимости следующим образом (от имени пользователя root):
Создать
readtemp.pl
:И запустите это как root, чтобы увидеть вывод. В моем случае сегодня вечером в гараже немного холодно:
источник
В настоящее время я использую DS18B20 .
Сначала откройте Pi и введите:
Затем добавьте слово
untested
послеmain
.Затем введите:
В моем случае это заняло много времени, хотя это зависит от скорости вашего Wi-Fi / Ethernet. После этого вы перезагружаетесь:
Подключите белый провод к GPIO4, красный провод к 3V3, а черный к GND. Вы также подключаете резистор 4,7 кОм между белым и красным проводами.
Вы можете прочитать его, выполнив следующие команды:
Затем следует указать серийный номер датчика температуры, затем
w1_bus_master1
Затем перейти:
И тогда он должен показать 2 строки кода, где 5 цифр в конце второй строки - это температура.
Для этого используется то, что называется «Протокол однопроводного датчика температуры в Далласе», или что-то в этом роде.
источник
Я сейчас читаю эту книгу и мне нравится. По этому пути я вижу, что у вас есть датчик температуры, arduino и радиоприемник xbee, склеенные вместе. Это ваш дистанционный датчик, который может находиться где угодно, если он находится в зоне действия домашней станции. Тогда для домашней станции есть малина и еще один xbee. Я предполагаю, что может быть проще также иметь домашнюю станцию xbee на Arduino, а затем Arduino и Rasberry разговаривать друг с другом. При этом вы можете иметь несколько удаленных датчиков и различные типы датчиков.
источник