Ceas meteo: 15 pași (cu imagini)
Ceas meteo: 15 pași (cu imagini)
Anonim

Ceas de desktop excelent, cu afișaj de dată și vreme.

Pasul 1: Descărcați și instalați software pentru RaspberryPI

Descărcați „RASPBIAN JESSIE LITE”

Creați noul dvs. hard disk pentru DashboardPI

Introduceți microSD-ul pe computer prin intermediul adaptorului USB și creați imaginea discului folosind comanda dd

Localizați cardul microSD introdus prin comanda df -h, demontați-l și creați imaginea discului cu comanda dd copy copy dd

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

$ umount / dev / sdb1

Atenție: asigurați-vă că comanda este complet precisă, cu această comandă puteți deteriora alte discuri

if = locația fișierului imagine RASPBIAN JESSIE LITE a = locația cardului dvs. microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (notă: în acest caz, este / dev / sdb, / dev / sdb1 era o partiție fabrică existentă pe microSD)

Configurarea RaspberriPi

Introduceți noul card microSD în raspberrypi și porniți-l cu un monitor conectat la portul HDMI

Autentificare

utilizator: pi pass: raspberry Schimbați parola contului pentru securitate

sudo passwd pi Activați opțiunile avansate RaspberriPi

sudo raspi-config Alegeți: 1 Extindeți sistemul de fișiere

9 Opțiuni avansate

A2 Hostname schimbați-l în „EnvironmentClock”

A4 SSH Activați serverul SSH

A7 I2C Activați interfața i2c Activați tastatura engleză / SUA

sudo nano / etc / default / keyboard Schimbați următoarea linie: XKBLAYOUT = "noi" Reporniți PI pentru modificările aspectului tastaturii / redimensionarea sistemului de fișiere pentru a intra în vigoare

$ sudo shutdown -r acum Conectare automată la WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf Adăugați următoarele linii pentru ca raspberrypi-ul dvs. să se conecteze automat la WiFi-ul de acasă (dacă rețeaua wireless este denumită „linksys”, de exemplu, în exemplul următor)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD AICI"} Reporniți PI pentru a vă conecta la rețeaua WiFi

$ sudo shutdown -r acum

Acum că PI-ul dvs. se află în sfârșit în rețeaua locală, vă puteți conecta la acesta de la distanță prin SSH. Dar mai întâi trebuie să obțineți adresa IP pe care o are în prezent.

$ ifconfig Căutați „inet addr: 192.168. XXX. XXX” în următoarea ieșire a comenzii pentru adresa IP a PI-ului dvs. Mergeți la o altă mașină și conectați-vă la raspberrypi prin ssh

$ ssh [email protected]. XXX. XXX Începeți instalarea pachetelor necesare

$ 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

Actualizați setările pentru fusul orar local

$ sudo dpkg-reconfigure tzdata selectați fusul orar utilizând interfața Configurați directorul simplu l comanda [opțional]

$ vi ~ /.bashrc

adăugați următoarea linie:

$ alias l = 'ls -lh'

$ source ~ /.bashrc Remediați evidențierea sintaxei implicite VIM [opțional]

$ sudo vi / etc / vim / vimrc

decomentați următoarea linie:

sintaxă în depozitul Clone Clock

$ cd ~

$ git clone https://github.com/khinds10/EnvironmentClock.git Instalați driverele Python Backpack i2c

$ cd ~

$ git clone

$ cd Adafruit_Python_LED_Backpack /

$ sudo python setup.py install DHT11 Install

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT /

$ sudo python setup.py instalare

$ sudo python ez_setup.py

$ cd exemple /

$ vi simpletest.py Schimbați următoarea linie:

sensor = Adafruit_DHT. DHT11 Comentează linia

pin = 'P8_11' Decomentați linia și schimbați numărul pinului la 16

pin = 16 Rulați testul

python simpletest.py

Ar trebui să vedeți o citire metrică a Temp și Umiditate afișată pe linia de comandă.

Pasul 2: Consumabile necesare: Afișaj LED de 1,2 inch

Pasul 3: consumabile necesare: umidistat DHT11

Pasul 4: Consumabile necesare: Afișaj Digol de 2,6"

|

Pasul 5: consumabile necesare: RaspberriPi Zero (sau RaspberriPi obișnuit ar trebui să funcționeze)

Pasul 6: Construiți și conectați ecranul

Pregătiți afișajul Digole pentru i2C

Pe partea din spate a ecranului Digole, lipiți jumperul pentru a atribui afișajul pentru a utiliza protocolul i2c

Pasul 7: Imprimați carcasa proiectului

Folosind o imprimantă 3D, tipăriți fișierele carcasei incluse în folderul „carcasă /”. Fișierele.x3g sunt compatibile MakerBot. De asemenea, puteți utiliza fișierele.stl și.blend (Blender Program) pentru a edita și a vă crea propriile îmbunătățiri ale designului.

Folosiți 4 șuruburi și atașați panoul frontal (cu cele 2 găuri) la corpul cu 4 fețe. Apoi montați afișajele în fiecare dintre găuri.

Pasul 8: Atașați afișajul cu 7 segmente și digole folosind pistolul cu adeziv fierbinte pentru a le menține în poziție

Pasul 9: Pregătiți firele pentru conexiune

Folosesc fire de sărituri standard și un tăietor de sârmă pentru a dezbrăca firul gol în mijlocul firelor, astfel încât să pot avea o grămadă conectată împreună lipită cu un pistol de adeziv fierbinte. (În imaginea de mai jos este grupat firele mele de 5V / GND / SCA / și SCL.)

Pasul 10:

Începeți cablarea unității folosind schema de cablare de mai jos ca ghid.

Afișajul pe 7 segmente D -> SDA C -> SCL + -> 5v GND -> GND IO -> 5v Digole Display GND -> GND DATA -> SDA CLK -> SCL VCC -> 3V DHT11 Humidistat VCC -> 5V GND - > GND DATA -> GPIO 16 / PIN 36

Pasul 11: Conectați toate piesele din interiorul carcasei imprimate

Pasul 12: Conectați toate piesele din carcasa imprimată

Pasul 13: Finalizați construcția

Lipiți umidistatul pe panoul din spate și treceți un cablu USB prin celălalt orificiu al panoului din spate pentru a alimenta unitatea. Atașați partea din spate cu doar 2 șuruburi, în cazul în care trebuie reparat.

Pasul 14: Configurați scripturile de pornire

Configurați aplicația pentru a rula corect în settings.py config file Găsiți file settings.py și ajustați-vă la setările curente

# cheia API forecast.io pentru informații meteo localeweatherAPIURL = 'https://api.forecast.io/forecast/'weatherAPIKey =' CHEEA API VOI PENTRU PREVIZIUNE. IO '

# opțional pentru rularea jurnalului de temperatură / umiditate la distanțădeviceLoggerAPI = 'mydevicelogger.com'

# căutați pe google pentru a obține Latitudine / Longitudine pentru locația dvs. de acasălatitude = 41.4552578longitude = -72.1665444

$ crontab -e

Adăugați următoarele rânduri:

@reboot nohup python /home/pi/EnvironmentClock/clock.py> / dev / null 2> & 1

@reboot nohup python /home/pi/EnvironmentClock/display.py> / dev / null 2> & 1

Verificați dacă afișajul începe să funcționeze la repornire

$ sudo reboot OPȚIONAL: Temp Logger la scriptul API la fiecare 10 minute

$ crontab -e Adăugați următoarele rânduri:

* / 10 * * * * python /home/pi/EnvironmentClock/temp-check.py

OPȚIONAL: Crearea propriilor imagini meteo pentru a fi redate pe ecran

Încărcați propriul fișier 128x128 la următoarea adresă URL:

www.digole.com/tools/PicturetoC_Hex_convert…

Alegeți fișierul imagine pentru încărcare, adăugați ce dimensiune doriți să fie pe ecran (Lățime / Înălțime)

Selectați „256 Color for Color OLED / LCD (1 byte / pixel)” în meniul derulant „Used for”

Obțineți ieșirea hexagonală.

Adăugați ieșirea hexagonală la un fișier display / build / header (.h), utilizați-le pe celelalte ca ghiduri pentru sintaxă.

Includeți noul fișier în fișierul digole.c #include myimage.h

Includeți un nou cârlig de linie de comandă la fișierul dvs. imagine în. Notă: comanda de mai jos spune desenează-ți imaginea în poziția de 10 pixeli peste 10 pixeli în jos. Puteți să o schimbați la diferite coordonate X, Y, de asemenea, puteți schimba valorile 128, 128 la orice dimensiune este de fapt noua dvs. imagine.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere este definit în fișierul dvs. (.h)}

Acum reconstruiți (ignorați erorile) de mai jos pentru a reda noua imagine cu următoarea comandă.

$./digole myimage Reconstruire [Inclus] Driver de afișare Digole pentru modificările opționale

$ cd display / build $ gcc digole.c $ mv a.out../../digole $ chmod + x../../digole

Recomandat: