Obsah:

AtticTemp - záznamník teploty / klímy: 10 krokov (s obrázkami)
AtticTemp - záznamník teploty / klímy: 10 krokov (s obrázkami)

Video: AtticTemp - záznamník teploty / klímy: 10 krokov (s obrázkami)

Video: AtticTemp - záznamník teploty / klímy: 10 krokov (s obrázkami)
Video: Datalogger pro měření teploty s externím čidlem Termio-2 - záznamník teploty s displejem 2024, November
Anonim
AtticTemp - záznamník teploty / klímy
AtticTemp - záznamník teploty / klímy

Teplomer a klimatický záznamník s vysokou toleranciou pre vaše podkrovie alebo iné vonkajšie stavby

Krok 1: Blikanie pevného disku RaspberriPi / inštalácia požadovaného softvéru (pomocou systému Ubuntu Linux)

Stiahnite si „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/

Vytvorte si nový pevný disk pre DashboardPI

Vložte kartu microSD do počítača pomocou adaptéra USB a vytvorte obraz disku pomocou príkazu dd

Nájdite vloženú kartu microSD pomocou príkazu df -h, odpojte ju a vytvorte obraz disku pomocou príkazu dd copy copy

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/médiá/XXX/1234-5678

$ umount /dev /sdb1

Pozor: uistite sa, že je príkaz úplne presný, môžete týmto príkazom poškodiť ostatné disky

if = umiestnenie obrázkového súboru RASPBIAN JESSIE LITE z = umiestnenie vašej karty microSD

$ sudo dd bs = 4M if =/cesta/do/raspbian-jessie-lite.img of =/dev/sdb (poznámka: v tomto prípade je to/dev/sdb,/dev/sdb1 bol existujúcim továrenským oddielom na microSD)

Nastavenie RaspberriPi

Vložte novú kartu microSD do Raspberrypi a zapnite ju monitorom pripojeným k portu HDMI

Prihlásiť sa

užívateľ: pi pass: malina

Z bezpečnostných dôvodov si zmeňte heslo k účtu

sudo passwd pi

Povoľte rozšírené možnosti RaspberriPi

sudo raspi-config

Vyberte: 1 Rozbaľte Systém súborov

9 Rozšírené možnosti

A2 Hostname zmeňte na „AtticTemp“

A4 SSH Povoliť server SSH

A7 I2C Povoliť rozhranie i2c

Povoliť anglickú/americkú klávesnicu

sudo nano/etc/default/keyboard

Zmeňte nasledujúci riadok: XKBLAYOUT = „my“

Reštartujte PI, aby sa prejavili zmeny rozloženia klávesnice / zmena veľkosti systému súborov

$ sudo shutdown -r teraz

Automatické pripojenie k WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Pridajte nasledujúce riadky, aby sa váš raspberrypi automaticky pripojil k vášmu domácemu WiFi (ak je napríklad vaša bezdrôtová sieť v nasledujúcom príklade pomenovaná „linksys“)

network = {ssid = "linksys" psk = "BEZDRÔTOVÉ HESLO TU"} Reštartovaním PI sa pripojíte k sieti WiFi

$ sudo shutdown -r teraz

Teraz, keď je váš PI konečne v lokálnej sieti, môžete sa k nemu vzdialene prihlásiť pomocou SSH. Najprv však musíte získať IP adresu, ktorú momentálne má.

$ ifconfig Hľadaj vo výstupe nasledujúceho príkazu pre IP adresu PI „inet addr: 192.168. XXX. XXX“

Prejdite na iný počítač a prihláste sa do svojho raspberrypi pomocou ssh

$ ssh [email protected]. XXX. XXX

Začnite s inštaláciou požadovaných balíkov

$ sudo apt-get aktualizácia

$ 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

Aktualizujte nastavenia miestneho časového pásma

$ sudo dpkg-reconfigure tzdata

vyberte svoje časové pásmo pomocou rozhrania

Nastavte príkaz jednoduchého adresára l [voliteľné]

$ vi ~/.bashrc

pridajte nasledujúci riadok:

$ alias l = 'ls -lh'

$ source ~/.bashrc

Opraviť zvýraznenie predvolenej syntaxe VIM [voliteľné]

$ sudo vi/etc/vim/vimrc

odkomentujte nasledujúci riadok:

syntax zapnutá

Krok 2: Klonujte projekt / nainštalujte softvérové ovládače

Úložisko klonovaných projektov

$ cd ~

$ git klon

Inštalácia DHT22

$ cd ~

$ git klon

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd príklady/

$ vi simpletest.py

Zmeňte nasledujúci riadok:

senzor = Adafruit_DHT. DHT22

Komentujte riadok

pin = 'P8_11'

Odkomentujte riadok a zmeňte číslo PIN na 16

kolík = 18

Spustite test

python simpletest.py

Na príkazovom riadku by ste mali vidieť metrické hodnoty teploty a vlhkosti.

Inštalácia SSD1306

Extrahujte ovládače/SSD1306.zip do priečinka projektu

Nainštalujte ovládač

$ cd ssd1306/ $ sudo python setup.py install

Potvrďte registre zariadenia, zvyčajne je to / 0x3c na zbernici 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:--- ----- Spustením ukážky sa uistite, že je váš displej funkčný

$ cd examples/ $ python demo.py

Krok 3: Potrebné zásoby

Potrebné zásoby
Potrebné zásoby
Potrebné zásoby
Potrebné zásoby
Potrebné zásoby
Potrebné zásoby
Potrebné zásoby
Potrebné zásoby

RaspberriPi Zero

Snímač teploty a vlhkosti DHT22

0,96 I2C IIC SPI sériový 12864 OLED LCD LED biely modul displeja

2,4 400x240 16: 9 Sériový: Dotykový displej TFT UART/I2C/SPI

Krok 4: Pripojte zariadenie

Pripojte zariadenie
Pripojte zariadenie
Pripojte zariadenie
Pripojte zariadenie

Displej SSD1306

GND -> GND

ÚDAJE -> SDA

CLK -> SCL

VCC -> 3V

Displej Digole

GND -> GND

ÚDAJE -> SDA

CLK -> SCL

VCC -> 3V

Humidistat DHT22

VCC -> 5V

GND -> GND

DATA -> GPIO 18 / PIN 12

Krok 5: Zostavte zariadenie

Zostavte zariadenie
Zostavte zariadenie
Zostavte zariadenie
Zostavte zariadenie

Vystrihnite plexisklo, aby sa zmestilo na prednú stranu zariadenia pod rám s 3D potlačou

Sklo namontujte pomocou skrutiek cez 3D tlačený rám

Krok 6: Zostavte zariadenie (pokračovanie …)

Zostavte zariadenie (pokračovanie …)
Zostavte zariadenie (pokračovanie …)
Zostavte zariadenie (pokračovanie …)
Zostavte zariadenie (pokračovanie …)
Zostavte zariadenie (pokračovanie …)
Zostavte zariadenie (pokračovanie …)

Komponenty horúceho lepidla na prednom paneli

Vnútri drôtová jednotka

Namontujte zadnú stranu a malo by byť pripravené na použitie

Krok 7: Konfigurujte aplikáciu, aby správne pracovala v konfiguračnom súbore Settings.py

Nájdite súbor settings.py a upravte ho podľa aktuálnych nastavení

# prognóza.io Kľúč API pre miestne informácie o počasí

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

weatherAPIKey = 'KĽÚČ VAŠEHO API pre PREDBEŽNÚ IO'

# voliteľné na spustenie vzdialeného záznamníka teploty/vlhkosti

deviceLoggerAPI = 'mydevicelogger.com'

# vyhľadajte na Googli a získajte zemepisnú šírku/dĺžku pre svoju domovskú polohu

zemepisná šírka = 41,4552578

zemepisná dĺžka = -72,1665444

Krok 8: Nastavte naplánované skripty

$ crontab -e

Pridajte nasledujúce riadky: */7 * * * * python /home/pi/AtticTemp/displays.py

VOLITELNÉ: Temp Logger to API script každých 10 minút

$ crontab -e

Pridajte nasledujúce riadky: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py

Krok 9: VOLITEĽNÉ: Vytvorenie vlastných obrázkov počasia, ktoré sa majú vykresliť na displeji

Nahrajte svoj vlastný súbor 128 x 128 na nasledujúcu adresu URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Vyberte súbor s obrázkom, ktorý chcete nahrať, a zadajte, akú veľkosť má mať na obrazovke (šírka/výška)

V rozbaľovacom zozname „Použité na“zvoľte „256 farieb pre farebný OLED/LCD (1 bajt/pixel)“

Získajte hexadecimálny výstup

Pridajte hexadecimálny výstup do súboru display/ build/ header (.h), ostatné použite ako sprievodcu syntaxou.

Zahrňte nový súbor do súboru digole.c #include myimage.h

Zahrňte nový háčik príkazového riadka do súboru s obrázkom do súboru. Poznámka: nižšie uvedený príkaz hovorí, nakreslite svoj obrázok na pozíciu 10 pixelov nad 10 pixelov nadol. Môžete ho zmeniť na rôzne súradnice X, Y, alebo tiež môžete zmeniť hodnoty 128, 128 na akúkoľvek veľkosť, ktorou nový obrázok v skutočnosti je.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere je definovaná vo vašom (.h) súbore}

Teraz znova vytvorte (ignorujte chyby), aby sa váš nový obrázok vykreslil pomocou nasledujúceho príkazu.

$./digole myimage

Prestavba [v cene] Ovládač displeja Digole pre vaše voliteľné zmeny

$ cd zobrazenie/zostava

$ gcc digole.c

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

$ chmod +x../../digole

Odporúča: