¿Qué puedo conectar al RPi para medir la temperatura? Creo que los dispositivos conectados a I²C o SPI tendrían más sentido.
Aquí hay una pregunta sobre DHT-22 y otros dispositivos de 1 cable . Pero en esta etapa parece que 1-wire es difícil en el RPi debido a los tiempos críticos
gpio
peripherals
temperature
sensor
John La Rooy
fuente
fuente
Respuestas:
Aquí se explica cómo conectar un MCP9804 .
Puedes usarlo así:
Convertir 0x67c1 a una temperatura es un poco complicado. El MSB es 0xc1 y el LSB es 0x67
Los primeros 4 bits del MSB se caen y esto deja la temperatura en 16 grados
Ejemplo de Python
Además de cargar los módulos i2c anteriores, deberá instalar el paquete python-smbus. Puede reducir el autocalentamiento apagando el MCP9804 entre lecturas.
fuente
Puede usar el puerto serie integrado Raspberry Pi y conectarlo a un termómetro digital IC (por ejemplo, DS1620 )
Puede encontrar la interfaz de puerto serie de Raspberry Pi aquí
Importante : recuerde que el RPi UART funciona a TTL 3.3V: tenga cuidado de no usar Uart de alto voltaje de 5v / 12volt directamente al RPi. ¡Causará daños!
fuente
He intentado dos enfoques para la detección de temperatura. Para I2C, utilicé un módulo TMP102 que es similar a lo que describe gnibbler. Aquí está mi publicación sobre eso:
Para 1 cable, Adafruit lanzó recientemente su propia imagen, y contiene soporte de 1 cable. Pude leer un sensor de temperatura de 1 cable DS18B20 con él. Más detalles en esta publicación :
Finalmente, otro enfoque es usar un sensor de temperatura analógico y un ADC externo. Adafruit tiene un buen tutorial sobre esto.
fuente
Un termómetro USB "HID TEMPer" simple y barato también funciona, y es mucho más fácil de conectar para aquellos que aún no están jugando con UART o GPIO, como yo.
Mi RPi proporciona suficiente potencia para conducirlo directamente desde el puerto USB sin un concentrador.
Para configurar esto con Raspbian Wheezy, seguí estas instrucciones que fueron escritas para Ubuntu (descargo de responsabilidad: el enlace es para una publicación en mi propio blog). Para la Raspberry Pi, solo tuve que hacer un pequeño ajuste para instalar
LIBUSB_LIBDIR
al instalar elDevice::USB
módulo perl para que pudiera encontrarlolibusb
en la ubicación del brazo no estándar. Las instrucciones completas siguen.Para obtener una lectura simple sin ninguna de las cosas munin , instale las dependencias de la siguiente manera (como root):
Crear
readtemp.pl
:Y ejecutar eso como root para ver el resultado. En mi caso, hace un poco de frío en el garaje esta noche:
fuente
El que estoy usando actualmente es el DS18B20 .
Primero abra el Pi y escriba:
Luego agrega la palabra
untested
despuésmain
.Luego escriba:
En mi caso, tomó mucho tiempo, aunque depende de la velocidad de su wifi / ethernet. Después de eso, reinicia:
Conecte el cable blanco a GPIO4, el cable rojo a 3V3 y el negro a GND. También conecta una resistencia de 4.7K entre los cables blanco y rojo.
Puedes leerlo haciendo los siguientes comandos:
Luego debe enumerar el número de serie del sensor de temperatura, seguido de
w1_bus_master1
Entonces vete:
Y luego debe mostrar 2 líneas de código, donde los 5 dígitos al final de la segunda línea son la temperatura.
Esto utiliza algo llamado "Protocolo de sensor de temperatura de un solo cable de Dallas", o algo así.
fuente
Actualmente estoy leyendo este libro y me gusta. En esa ruta, mi visión es que tendrías un sensor de temperatura, un arduino y una radio xbee pegados. Ese es su sensor remoto que podría estar en cualquier lugar siempre que esté dentro del alcance de la estación local. Luego, para la estación de origen, tenga una frambuesa y otra xbee. Supongo que podría ser más fácil también tener la estación de origen xbee en un arduino, y luego hacer que el arduino y el rasberry se comuniquen entre sí. Con eso, podría tener múltiples sensores remotos y diferentes tipos de sensores.
fuente