Sommario:

AtticTemp - Registratore di temperatura/clima: 10 passaggi (con immagini)
AtticTemp - Registratore di temperatura/clima: 10 passaggi (con immagini)

Video: AtticTemp - Registratore di temperatura/clima: 10 passaggi (con immagini)

Video: AtticTemp - Registratore di temperatura/clima: 10 passaggi (con immagini)
Video: Ingoiare il latte del trallalero fa bene? #shorts 2024, Dicembre
Anonim
AtticTemp - Registratore di temperatura/clima
AtticTemp - Registratore di temperatura/clima

Termometro e registratore climatico ad alta tolleranza per la tua soffitta o altre strutture esterne

Passaggio 1: lampeggiamento del disco rigido di RaspberriPi / installazione del software richiesto (utilizzando Ubuntu Linux)

Scarica "RASPBIAN JESSIE LITE"

Crea il tuo nuovo disco rigido per DashboardPI

Inserisci la microSD sul tuo computer tramite l'adattatore USB e crea l'immagine del disco usando il comando dd

Individua la scheda microSD inserita tramite il comando df -h, smontala e crea l'immagine del disco con il comando disk copy dd

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

$ umount /dev/sdb1

Attenzione: assicurati che il comando sia completamente preciso, puoi danneggiare altri dischi con questo comando

if=posizione del file immagine RASPBIAN JESSIE LITE of=posizione della tua scheda microSD

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (nota: in questo caso, è /dev/sdb, /dev/sdb1 era una partizione di fabbrica esistente sul microSD)

Configura il tuo RaspberriPi

Inserisci la tua nuova scheda microSD nel raspberrypi e accendilo con un monitor collegato alla porta HDMI

Login

utente: pi pass: lampone

Cambia la password del tuo account per sicurezza

sudo passwd più

Abilita le opzioni avanzate di RaspberriPi

sudo raspi-config

Scegli: 1 Espandi file system

9 Opzioni avanzate

A2 Hostname cambialo in "AtticTemp"

A4 SSH Abilita server SSH

A7 I2C Abilita interfaccia i2c

Abilita la tastiera inglese/americana

sudo nano /etc/default/keyboard

Modifica la seguente riga: XKBLAYOUT="us"

Riavvia PI per modifiche al layout della tastiera / ridimensionamento del file system per avere effetto

$ sudo shutdown -r now

Connessione automatica al tuo WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Aggiungi le seguenti righe per far connettere automaticamente il tuo raspberrypi al WiFi di casa (se la tua rete wireless si chiama "linksys", ad esempio, nell'esempio seguente)

network={ ssid="linksys" psk="WIRELESS PASSWORD HERE" } Riavvia PI per connetterti alla rete WiFi

$ sudo shutdown -r now

Ora che il tuo PI è finalmente sulla rete locale, puoi accedere in remoto tramite SSH. Ma prima devi ottenere l'indirizzo IP che ha attualmente.

$ ifconfig Cerca "inet addr: 192.168. XXX. XXX" nell'output del comando seguente per l'indirizzo IP del tuo PI

Vai su un'altra macchina e accedi al tuo raspberrypi tramite ssh

$ ssh [email protected]. XXX. XXX

Avvia l'installazione dei pacchetti richiesti

$ sudo apt-get update

$ sudo apt-get upgrade

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

Aggiorna le impostazioni del fuso orario locale

$ sudo dpkg-reconfigure tzdata

seleziona il tuo fuso orario utilizzando l'interfaccia

Imposta il comando semplice directory l [opzionale]

$ vi ~/.bashrc

aggiungi la seguente riga:

$ alias l='ls -lh'

$ source ~/.bashrc

Correggi l'evidenziazione della sintassi predefinita di VIM [opzionale]

$ sudo vi /etc/vim/vimrc

decommenta la seguente riga:

sintassi attiva

Passaggio 2: clona progetto/installa driver software

Clona archivio progetto

$ cd ~

$ git clone

Installazione DHT22

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd esempi/

$ vi simpletest.py

Modifica la seguente riga:

sensore = Adafruit_DHT. DHT22

Commenta la riga fuori

pin = 'P8_11'

Decommenta la riga e cambia il numero pin in 16

perno = 18

Esegui il test

python simpletest.py

Dovresti vedere una lettura metrica di Temp e Umidità visualizzata sulla riga di comando.

SSD1306 Installa

Estrai driver/SSD1306.zip nella cartella del progetto

Installa il driver

$ cd ssd1306/ $ sudo python setup.py install

Conferma i registri del tuo dispositivo, di solito è \0x3c sul 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: -- -- -- -- -- -- -- -- Esegui la demo per confermare che il display è funzionante

$ esempi cd/ $ python demo.py

Passaggio 3: materiali di consumo necessari

Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie
Forniture necessarie

LamponiPi Zero

Sensore di temperatura-umidità DHT22

Modulo display LCD LED bianco OLED 12864 seriale I2C IIC SPI da 0,96"

Display touchscreen TFT da 2,4 400x240 16:9 seriale: UART/I2C/SPI

Passaggio 4: cablare il dispositivo

Cablare il dispositivo
Cablare il dispositivo
Cablare il dispositivo
Cablare il dispositivo

Display SSD1306

GND -> GND

DATI -> SDA

CLK -> SCL

VCC -> 3V

Digole Display

GND -> GND

DATI -> SDA

CLK -> SCL

VCC -> 3V

DHT22 Umidostato

VCC -> 5V

GND -> GND

DATI -> GPIO 18 / PIN 12

Passaggio 5: crea il dispositivo

Costruisci il dispositivo
Costruisci il dispositivo
Costruisci il dispositivo
Costruisci il dispositivo

Tagliare il plexiglass per adattarlo alla parte anteriore del dispositivo sotto la cornice stampata in 3D

Montare il vetro con le viti attraverso il telaio stampato in 3D

Passaggio 6: costruire il dispositivo (continua…)

Costruisci il dispositivo (continua…)
Costruisci il dispositivo (continua…)
Costruisci il dispositivo (continua…)
Costruisci il dispositivo (continua…)
Costruisci il dispositivo (continua…)
Costruisci il dispositivo (continua…)

Componenti della colla a caldo contro il pannello frontale

Unità filo all'interno

Montare la parte posteriore e dovrebbe essere pronta per l'uso

Passaggio 7: configurare l'applicazione per l'esecuzione corretta nel file di configurazione Settings.py

Trova il file settings.py e regola le tue impostazioni attuali

# chiave API forecast.io per informazioni meteo locali

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

weatherAPIKey = 'LA TUA CHIAVE API PER FORECAST. IO'

# opzionale per l'esecuzione del registratore di temperatura/umidità remoto

deviceLoggerAPI = 'mydevicelogger.com'

# cerca su google per ottenere la latitudine/longitudine per la tua posizione di casa

latitudine = 41.4552578

longitudine = -72.1665444

Passaggio 8: configurazione degli script pianificati

$ crontab -e

Aggiungi le seguenti righe: */7 * * * * python /home/pi/AtticTemp/displays.py

FACOLTATIVO: Temp Logger allo script API ogni 10 minuti

$ crontab -e

Aggiungi le seguenti righe: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py

Passaggio 9: FACOLTATIVO: creare le proprie immagini meteorologiche da visualizzare sul display

Carica il tuo file 128x128 al seguente URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Scegli il tuo file immagine da caricare, aggiungi la dimensione che vuoi che sia sullo schermo (larghezza/altezza)

Seleziona "256 colori per OLED/LCD a colori (1 byte/pixel)" nel menu a discesa "Utilizzato per"

Ottieni l'output esadecimale

Aggiungi l'output esadecimale a un file display/build/header (.h), usa gli altri come guide per la sintassi.

Includere il nuovo file nel file digole.c #include myimage.h

Includere un nuovo hook della riga di comando al file immagine nel file. Nota: il comando seguente dice di disegnare la tua immagine in posizione 10 pixel su 10 pixel in basso. Puoi cambiarlo in diverse coordinate X, Y, puoi anche cambiare i valori 128, 128 a qualsiasi dimensione sia effettivamente la tua nuova immagine.

} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere è definito nel tuo file (.h) }

Ora ricostruisci (ignora gli errori) di seguito per visualizzare la tua nuova immagine con il seguente comando.

$./digole miaimmagine

Ricostruzione [Incluso] Digole Display Driver per le tue modifiche opzionali

$ visualizzazione/costruzione di cd

$ gcc digole.c

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

$ chmod +x../../digole

Consigliato: