Spisu treści:

AtticTemp - rejestrator temperatury/klimatu: 10 kroków (ze zdjęciami)
AtticTemp - rejestrator temperatury/klimatu: 10 kroków (ze zdjęciami)

Wideo: AtticTemp - rejestrator temperatury/klimatu: 10 kroków (ze zdjęciami)

Wideo: AtticTemp - rejestrator temperatury/klimatu: 10 kroków (ze zdjęciami)
Wideo: 10 Ekstremalnych zjawisk w Polsce 2024, Listopad
Anonim
AtticTemp - rejestrator temperatury/klimatu
AtticTemp - rejestrator temperatury/klimatu

Wysoka tolerancja miernika temperatury i rejestratora klimatu dla strychu lub innych konstrukcji zewnętrznych

Krok 1: Flashowanie dysku twardego RaspberriPi / instalacja wymaganego oprogramowania (przy użyciu systemu Ubuntu Linux)

Pobierz "RASPBIAN JESSIE LITE"

Utwórz nowy dysk twardy dla DashboardPI

Włóż kartę microSD do komputera za pomocą adaptera USB i utwórz obraz dysku za pomocą polecenia dd

Zlokalizuj włożoną kartę microSD za pomocą polecenia df -h, odmontuj ją i utwórz obraz dysku za pomocą polecenia disk copy dd

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

$ umount /dev/sdb1

Uwaga: upewnij się, że polecenie jest całkowicie dokładne, za pomocą tego polecenia możesz uszkodzić inne dyski

if=lokalizacja pliku obrazu RASPBIAN JESSIE LITE of=lokalizacja karty microSD

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (uwaga: w tym przypadku jest to /dev/sdb, /dev/sdb1 to istniejąca partycja fabryczna na microSD)

Konfigurowanie RaspberriPi

Włóż nową kartę microSD do raspberrypi i włącz ją za pomocą monitora podłączonego do portu HDMI

Zaloguj sie

użytkownik: pi pass: malina

Zmień hasło do konta ze względów bezpieczeństwa

sudo passwd pi

Włącz zaawansowane opcje RaspberriPi

sudo raspi-config

Wybierz: 1 Rozwiń system plików

9 opcji zaawansowanych

Nazwa hosta A2 zmień ją na „AtticTemp”

A4 SSH Włącz serwer SSH

A7 I2C Włącz interfejs i2c

Włącz klawiaturę angielską/amerykańską

sudo nano /etc/default/klawiatura

Zmień następujący wiersz: XKBLAYOUT="us"

Zrestartuj PI, aby zmiany układu klawiatury / zmiana rozmiaru systemu plików zaczęły obowiązywać

$ sudo zamknięcie -r teraz

Automatyczne łączenie z Wi-Fi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodaj następujące wiersze, aby raspberrypi automatycznie łączył się z domową siecią Wi-Fi (jeśli Twoja sieć bezprzewodowa nosi na przykład nazwę „linksys”, w poniższym przykładzie)

network={ ssid="linksys" psk="TUTAJ HASŁO BEZPRZEWODOWE" } Uruchom ponownie PI, aby połączyć się z siecią Wi-Fi

$ sudo zamknięcie -r teraz

Teraz, gdy Twoje PI jest już w sieci lokalnej, możesz zalogować się do niego zdalnie przez SSH. Ale najpierw musisz uzyskać adres IP, który obecnie posiada.

$ ifconfig Poszukaj "inet addr: 192.168. XXX. XXX" w wyniku następującego polecenia dla adresu IP twojego PI

Przejdź do innego komputera i zaloguj się do swojego raspberrypi przez ssh

$ ssh [email protected]. XXX. XXX

Rozpocznij instalację wymaganych pakietów

$ 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

Zaktualizuj lokalne ustawienia strefy czasowej

$ sudo dpkg-reconfigure tzdata

wybierz swoją strefę czasową za pomocą interfejsu

Skonfiguruj proste polecenie l katalogu [opcjonalne]

$ vi ~/.bashrc

dodaj następujący wiersz:

$ alias l='ls -lh'

$ źródło ~/.bashrc

Napraw domyślne podświetlanie składni VIM [opcjonalne]

$ sudo vi /etc/vim/vimrc

odkomentuj następujący wiersz:

składnia włączona

Krok 2: Klonuj projekt / Zainstaluj sterowniki oprogramowania

Repozytorium projektu klonowania

$ cd ~

$ klon git

Instalacja DHT22

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd przykłady/

$ vi simpletest.py

Zmień następujący wiersz:

czujnik = Adafruit_DHT. DHT22

Skomentuj linię out

pin = 'P8_11'

Odkomentuj linię i zmień numer pinu na 16

szpilka = 18

Uruchom test

python prostytest.py

Powinieneś zobaczyć odczyt metryczny temperatury i wilgotności wyświetlony w wierszu poleceń.

Instalacja SSD1306

Wypakuj sterowniki/SSD1306.zip do folderu projektu

Zainstaluj sterownik

$ cd ssd1306/ $ sudo python setup.py install

Potwierdź rejestrację urządzenia, zwykle jest to \0x3c na magistrali 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: -- -- -- -- -- -- -- -- Uruchom demo, aby potwierdzić, że wyświetlacz działa

$ cd przykłady/ $ python demo.py

Krok 3: Potrzebne materiały

Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały

RaspberriPi Zero

Czujnik temperatury i wilgotności DHT22

0,96 I2C IIC SPI Serial 12864 OLED LCD LED Biały moduł wyświetlacza

2.4 400x240 16:9 Szeregowy:UART/I2C/SPI Wyświetlacz dotykowy TFT

Krok 4: Podłącz urządzenie

Podłącz urządzenie
Podłącz urządzenie
Podłącz urządzenie
Podłącz urządzenie

Wyświetlacz SSD1306

GND -> GND

DANE -> SDA

CLK -> SCL

VCC -> 3V

Wyświetlacz Digole

GND -> GND

DANE -> SDA

CLK -> SCL

VCC -> 3V

Higrostat DHT22

VCC -> 5V

GND -> GND

DANE -> GPIO 18 / PIN 12

Krok 5: Zbuduj urządzenie

Zbuduj urządzenie
Zbuduj urządzenie
Zbuduj urządzenie
Zbuduj urządzenie

Wytnij pleksi, aby zmieściła się z przodu urządzenia pod ramą wydrukowaną w 3D

Zamontuj szkło za pomocą śrub przez wydrukowaną ramkę 3D

Krok 6: Zbuduj urządzenie (ciąg dalszy…)

Zbuduj urządzenie (ciąg dalszy…)
Zbuduj urządzenie (ciąg dalszy…)
Zbuduj urządzenie (ciąg dalszy…)
Zbuduj urządzenie (ciąg dalszy…)
Zbuduj urządzenie (ciąg dalszy…)
Zbuduj urządzenie (ciąg dalszy…)

Elementy klejone na gorąco na panelu przednim

Drut Jednostka wewnątrz

Zamontuj tył i powinien być gotowy do pracy

Krok 7: Skonfiguruj aplikację, aby działała poprawnie w pliku konfiguracyjnym Settings.py

Znajdź plik settings.py i dostosuj go do swoich aktualnych ustawień

# klucz API forecast.io do lokalnych informacji o pogodzie

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

weatherAPIKey = 'TWÓJ KLUCZ API DO FORECAST. IO'

# opcjonalnie do uruchomienia zdalnego rejestratora temperatury/wilgotności

deviceLoggerAPI = 'mydevicelogger.com'

# wyszukaj w Google, aby uzyskać szerokość/długość geograficzną dla swojej lokalizacji domowej

szerokość geograficzna = 41,4552578

długość geograficzna = -72,1665444

Krok 8: Skonfiguruj zaplanowane skrypty

$ crontab -e

Dodaj następujące wiersze: */7 * * * * python /home/pi/AtticTemp/displays.py

OPCJONALNIE: Temp Logger do skryptu API co 10 minut

$ crontab -e

Dodaj następujące wiersze: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py

Krok 9: OPCJONALNIE: Tworzenie własnych obrazów pogody do renderowania na wyświetlaczu

Prześlij własny plik 128x128 na następujący adres URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Wybierz plik obrazu do przesłania, dodaj rozmiar, jaki ma być na ekranie (szerokość/wysokość)

Wybierz „256 kolorów dla kolorów OLED/LCD (1 bajt/piksel)” w menu rozwijanym „Używane dla”

Uzyskaj wyjście szesnastkowe

Dodaj wyjście szesnastkowe do pliku display/build/header (.h), użyj pozostałych jako przewodników po składni.

Dołącz nowy plik do pliku digole.c #include myimage.h

Dołącz nowy zaczep wiersza poleceń do pliku obrazu w pliku. Uwaga: poniższe polecenie mówi, że narysuj obraz w pozycji 10 pikseli na 10 pikseli w dół. Możesz zmienić go na różne współrzędne X, Y, możesz także zmienić wartości 128, 128 na dowolny rozmiar twojego nowego obrazu.

} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere jest zdefiniowane w twoim pliku (.h) }

Teraz przebuduj (zignoruj błędy) poniżej, aby wyrenderować nowy obraz za pomocą następującego polecenia.

$./digole mójobraz

Przebudowa [w zestawie] Digole Display Driver dla opcjonalnych zmian

$ Wyświetlacz CD/kompilacja

$ gcc digole.c

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

$ chmod +x../../digole

Zalecana: