Tabla de contenido:

AtticTemp - Registrador de temperatura / clima: 10 pasos (con imágenes)
AtticTemp - Registrador de temperatura / clima: 10 pasos (con imágenes)

Video: AtticTemp - Registrador de temperatura / clima: 10 pasos (con imágenes)

Video: AtticTemp - Registrador de temperatura / clima: 10 pasos (con imágenes)
Video: CONVERSIÓN DE GRADOS CELSIUS A FAHRENHEIT Super facil - Para principiantes 2024, Mes de julio
Anonim
AtticTemp - Registrador de temperatura / clima
AtticTemp - Registrador de temperatura / clima

Medidor de temperatura y registrador climático de alta tolerancia para su ático u otras estructuras al aire libre

Paso 1: flashear el disco duro RaspberriPi / instalar el software requerido (usando Ubuntu Linux)

Descarga "RASPBIAN JESSIE LITE"

Cree su nuevo disco duro para DashboardPI

Inserte la microSD en su computadora a través del adaptador USB y cree la imagen del disco usando el comando dd

Localice su tarjeta microSD insertada a través del comando df -h, desmóntela y cree la imagen del disco con el comando disk copy dd

$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Precaución: asegúrese de que el comando sea completamente preciso, puede dañar otros discos con este comando

if = ubicación del archivo de imagen RASPBIAN JESSIE LITE de = ubicación de su tarjeta microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (nota: en este caso, es / dev / sdb, / dev / sdb1 era una partición de fábrica existente en el microSD)

Configuración de su RaspberriPi

Inserte su nueva tarjeta microSD en el raspberrypi y enciéndalo con un monitor conectado al puerto HDMI

Acceso

usuario: pi pass: frambuesa

Cambie la contraseña de su cuenta por seguridad

sudo passwd pi

Habilitar las opciones avanzadas de RaspberriPi

sudo raspi-config

Elija: 1 Expandir sistema de archivos

9 Opciones avanzadas

A2 Nombre de host cámbielo a "AtticTemp"

A4 SSH Habilitar servidor SSH

A7 I2C Habilitar interfaz i2c

Habilitar el teclado inglés / estadounidense

sudo nano / etc / default / keyboard

Cambie la siguiente línea: XKBLAYOUT = "us"

Reinicie PI para que los cambios en la distribución del teclado o el cambio de tamaño del sistema de archivos surtan efecto

$ sudo shutdown -r ahora

Conéctese automáticamente a su WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Agregue las siguientes líneas para que su raspberrypi se conecte automáticamente al WiFi de su hogar (si su red inalámbrica se llama "linksys", por ejemplo, en el siguiente ejemplo)

network = {ssid = "linksys" psk = "CONTRASEÑA INALÁMBRICA AQUÍ"} Reinicie PI para conectarse a la red WiFi

$ sudo shutdown -r ahora

Ahora que su PI finalmente está en la red local, puede iniciar sesión de forma remota a través de SSH. Pero primero debe obtener la dirección IP que tiene actualmente.

$ ifconfig Busque "inet addr: 192.168. XXX. XXX" en la siguiente salida del comando para la dirección IP de su PI

Vaya a otra máquina e inicie sesión en su raspberrypi a través de ssh

$ ssh [email protected]. XXX. XXX

Comience a instalar los paquetes requeridos

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git solicitudes de python python-smbus i2c-tools imagen de python python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev

Actualizar la configuración de la zona horaria local

$ sudo dpkg-reconfigure tzdata

seleccione su zona horaria usando la interfaz

Configure el comando l del directorio simple [opcional]

$ vi ~ /.bashrc

agregue la siguiente línea:

$ alias l = 'ls -lh'

$ fuente ~ /.bashrc

Corregir el resaltado de sintaxis predeterminado de VIM [opcional]

$ sudo vi / etc / vim / vimrc

descomente la siguiente línea:

sintaxis activada

Paso 2: Clonar proyecto / instalar controladores de software

Repositorio de proyectos de clonación

$ cd ~

$ git clon

Instalar DHT22

$ cd ~

$ git clon

$ cd Adafruit_Python_DHT /

$ sudo python setup.py instalar

$ sudo python ez_setup.py

$ cd ejemplos /

$ vi simpletest.py

Cambie la siguiente línea:

sensor = Adafruit_DHT. DHT22

Comenta la línea

pin = 'P8_11'

Descomente la línea y cambie el número de pin a 16

alfiler = 18

Ejecutar la prueba

python simpletest.py

Debería ver una lectura métrica de temperatura y humedad en la línea de comando.

Instalar SSD1306

Extraiga drivers / SSD1306.zip a la carpeta del proyecto

Instale el controlador

$ cd ssd1306 / $ sudo python setup.py instalar

Confirme los registros de su dispositivo, generalmente es / 0x3c en el bus i2c

$ sudo i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - 10: - - - - - - - - - - - - - - - - - 20: - - - - - - - - - - - - - - - - - 30: - - - - - - - - - - - - 3c - - - 40: - - - - - - - - - - - - - - - - 50: - - - - - - - - - - - - - - - - 60: - - - - - - - - - - - - - - - 70: - - - - - - - - Ejecute la demostración para confirmar que su pantalla funciona correctamente

$ cd ejemplos / $ python demo.py

Paso 3: Suministros necesarios

Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios

RaspberriPi Zero

Sensor de temperatura-humedad DHT22

0.96 I2C IIC SPI Serial 12864 OLED LCD LED Módulo de pantalla blanca

2.4 400x240 16: 9 Serie: UART / I2C / SPI TFT Pantalla táctil

Paso 4: cablee el dispositivo

Cablee el dispositivo
Cablee el dispositivo
Cablee el dispositivo
Cablee el dispositivo

Pantalla SSD1306

GND -> GND

DATOS -> SDA

CLK -> SCL

VCC -> 3 V

Pantalla Digole

GND -> GND

DATOS -> SDA

CLK -> SCL

VCC -> 3 V

Humidistato DHT22

VCC -> 5 V

GND -> GND

DATOS -> GPIO 18 / PIN 12

Paso 5: construye el dispositivo

Construye el dispositivo
Construye el dispositivo
Construye el dispositivo
Construye el dispositivo

Corte plexiglás para que se ajuste a la parte frontal del dispositivo debajo del marco impreso en 3D

Monte el vidrio con tornillos a través del marco impreso en 3D

Paso 6: Construya el dispositivo (cont…)

Construya el dispositivo (cont…)
Construya el dispositivo (cont…)
Construya el dispositivo (cont…)
Construya el dispositivo (cont…)
Construya el dispositivo (cont…)
Construya el dispositivo (cont…)

Componentes de pegamento caliente contra el panel frontal

Unidad de alambre en el interior

Monte la parte trasera y debería estar listo para funcionar.

Paso 7: configurar la aplicación para que se ejecute correctamente en el archivo de configuración Settings.py

Busque el archivo settings.py y ajústelo a su configuración actual

# Forecast.io Clave de API para información meteorológica local

weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'SU CLAVE API PARA PRONOSTICO. IO'

# opcional para ejecutar el registrador remoto de temperatura / humedad

deviceLoggerAPI = 'mydevicelogger.com'

# busca en google para obtener la latitud / longitud de la ubicación de tu casa

latitud = 41.4552578

longitud = -72.1665444

Paso 8: configurar scripts programados

$ crontab -e

Agregue las siguientes líneas: * / 7 * * * * python /home/pi/AtticTemp/displays.py

OPCIONAL: Temp Logger a secuencia de comandos API cada 10 minutos

$ crontab -e

Agregue las siguientes líneas: * / 10 * * * * python /home/pi/EnvironmentClock/temp-check.py

Paso 9: OPCIONAL: Creación de sus propias imágenes meteorológicas para renderizar en la pantalla

Sube tu propio archivo de 128x128 a la siguiente URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Elija su archivo de imagen para cargar, agregue el tamaño que desea que tenga en la pantalla (Ancho / Alto)

Seleccione "256 colores para OLED / LCD en color (1 byte / píxel)" en el menú desplegable "Usado para".

Obtenga la salida hexadecimal

Agregue la salida hexadecimal a un archivo de visualización / compilación / encabezado (.h), use los otros como guías para la sintaxis.

Incluya el nuevo archivo en el archivo digole.c #include myimage.h

Incluya un nuevo enlace de línea de comando a su archivo de imagen en formato. Nota: el siguiente comando dice que dibuje su imagen en la posición 10 píxeles sobre 10 píxeles hacia abajo. Puede cambiarlo a diferentes coordenadas X, Y, también puede cambiar los valores 128, 128 al tamaño que tenga su nueva imagen.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere se define en su archivo (.h)}

Ahora reconstruya (ignore los errores) a continuación para que su nueva imagen se renderice con el siguiente comando.

$./digole myimage

Reconstrucción del controlador de pantalla Digole [incluido] para sus cambios opcionales

$ cd mostrar / construir

$ gcc digole.c

$ mv a.out../../digole

$ chmod + x../../digole

Recomendado: