Väderklocka: 15 steg (med bilder)
Väderklocka: 15 steg (med bilder)
Anonim

Snygg skrivbordsklocka med datum och väder.

Steg 1: Ladda ner och installera programvara för RaspberryPI

Ladda ner "RASPBIAN JESSIE LITE"

Skapa din nya hårddisk för DashboardPI

Sätt i microSD till din dator via USB -adapter och skapa diskavbildningen med kommandot dd

Leta reda på ditt isatta microSD -kort via kommandot df -h, avmontera det och skapa diskavbildningen med kommandot disk copy dd

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

$ umount /dev /sdb1

Varning: se till att kommandot är helt korrekt, du kan skada andra diskar med det här kommandot

if = plats för RASPBIAN JESSIE LITE bildfil av = plats för ditt microSD -kort

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (Obs: i detta fall är det/dev/sdb,/dev/sdb1 en befintlig fabrikspartition på microSD)

Konfigurera din RaspberriPi

Sätt i ditt nya microSD -kort i raspberrypi och slå på det med en bildskärm ansluten till HDMI -porten

Logga in

användare: pi pass: hallon Ändra ditt kontolösenord för säkerhets skull

sudo passwd pi Aktivera avancerade alternativ för RaspberriPi

sudo raspi-config Välj: 1 Expandera filsystemet

9 Avancerade alternativ

A2 -värdnamn ändra det till "EnvironmentClock"

A4 SSH Aktivera SSH -server

A7 I2C Aktivera i2c -gränssnitt Aktivera engelska/amerikanska tangentbordet

sudo nano /etc /default /keyboard Ändra följande rad: XKBLAYOUT = "oss" Starta om PI för ändringar av tangentbordslayout /ändring av filsystem för att träda i kraft

$ sudo shutdown -r nu Anslut automatiskt till ditt WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf Lägg till följande rader så att din raspberrypi automatiskt ansluter till ditt hem -WiFi (om ditt trådlösa nätverk heter "linksys" till exempel i följande exempel)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Starta om PI för att ansluta till WiFi -nätverk

$ sudo avstängning -r nu

Nu när din PI äntligen finns på det lokala nätverket kan du fjärrlogga till den via SSH. Men först måste du få den IP -adress som den har för närvarande.

$ ifconfig Leta efter "inet addr: 192.168. XXX. XXX" i följande kommandos utdata för din PI: s IP -adress Gå till en annan maskin och logga in på din raspberrypi via ssh

$ ssh [email protected]. XXX. XXX Börja installera nödvändiga paket

$ sudo apt-get uppdatering

$ sudo apt-get uppgradering

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

Uppdatera lokala tidszoninställningar

$ sudo dpkg-omkonfigurera tzdata välj din tidszon med gränssnittet Konfigurera den enkla katalogen l-kommandot [valfritt]

$ vi ~/.bashrc

lägg till följande rad:

$ alias l = 'ls -lh'

$ source ~/.bashrc Fixa VIM -standardsyntaxmarkering [valfritt]

$ sudo vi/etc/vim/vimrc

kommentera följande rad:

syntax på Clone Clock -förvaret

$ cd ~

$ git -klon https://github.com/khinds10/EnvironmentClock.git Installera Python -drivrutiner för i2c -ryggsäck

$ cd ~

$ git -klon

$ cd Adafruit_Python_LED_Backpack/

$ sudo python setup.py installera DHT11 Install

$ cd ~

$ git -klon

$ cd Adafruit_Python_DHT/

$ sudo python setup.py installera

$ sudo python ez_setup.py

$ cd exempel/

$ vi simpletest.py Ändra följande rad:

sensor = Adafruit_DHT. DHT11 Kommentera raden

pin = 'P8_11' Avmarkera raden och ändra PIN -numret till 16

pin = 16 Kör testet

python simplestest.py

Du bör se en metrisk avläsning av Temp och fuktighet visas på kommandoraden.

Steg 2: Tillbehör som behövs: 1,2 tums LED -skärm

Steg 3: Tillbehör som behövs: DHT11 Humidistat

Steg 4: Nödvändiga tillbehör: 2,6 "Digole Display

|

Steg 5: Tillbehör som behövs: RaspberriPi Zero (eller vanlig RaspberriPi borde fungera)

Steg 6: Bygg och anslut skärmen

Förbered Digole Display för i2C

På baksidan av Digole -skärmen löd du bygeln för att tilldela displayen att använda i2c -protokollet

Steg 7: Skriv ut projektkapslingen

Använd en 3D -skrivare för att skriva ut de höljesfiler som finns i mappen 'enclosure/'..x3g -filer är MakerBot -kompatibla. Du kan också använda.stl- och.blend -filerna (Blender -programmet) för att redigera och skapa egna förbättringar av designen.

Borra med 4 skruvar och fäst frontpanelen (med de 2 hålen) på den 4 -sidiga kroppen. Montera sedan displayerna i vart och ett av hålen.

Steg 8: Fäst 7 -segmentet och Digole -displayen med hjälp av en limpistol för att hålla dem på plats

Steg 9: Förbered kablarna för anslutning

Jag använder vanliga hopptrådar och en trådskärare för att ta bort tråden bar i mitten av trådarna så att jag kan ha ett gäng anslutet ihop limmat med en varm limpistol. (På bilden nedan är mina grupperade 5V / GND / SCA / och SCL -ledningar.)

Steg 10:

Börja ansluta enheten med hjälp av kopplingsschemat nedan som en guide.

7 -segmentets display 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

Steg 11: Anslut alla delar i det tryckta fodralet

Steg 12: Anslut alla delar i det tryckta fodralet

Steg 13: Slutför konstruktionen

Lim fukthöljet på bakpanelen och för en USB -kabel genom det andra hålet på bakpanelen för att driva enheten. Fäst baksidan med endast 2 skruvar om du behöver demontera för reparation.

Steg 14: Konfigurera startskript

Konfigurera programmet så att det körs korrekt i settings.py config -filen Hitta filinställningarna. Py och justera till dina nuvarande inställningar

# forecast.io API -nyckel för lokal väderinformationweatherAPIURL = 'https://api.forecast.io/forecast/'weatherAPIKey =' DIN API -nyckel för prognos. IO '

# valfritt för att köra fjärrtemp/fuktighetsloggerdeviceLoggerAPI = 'mydevicelogger.com'

# sök på google för att få latitud/longitud för din hemplatslatitude = 41.4552578longitude = -72.1665444

$ crontab -e

Lägg till följande rader:

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

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

Kontrollera att skärmen börjar fungera vid omstart

$ sudo reboot VALFRITT: Temp Logger till API -skript var 10: e minut

$ crontab -e Lägg till följande rader:

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

VALFRITT: Skapa egna väderbilder som ska återges på displayen

Ladda upp din egen 128x128 -fil till följande URL:

www.digole.com/tools/PicturetoC_Hex_convert …

Välj din bildfil att ladda upp, lägg till vilken storlek du vill att den ska ha på skärmen (bredd/höjd)

Välj "256 färger för färg OLED/LCD (1 byte/pixel)" i rullgardinsmenyn "Används för"

Skaffa hex -utgången.

Lägg till hex -utdata till en display/ build/ header (.h) -fil, använd de andra som vägledningar för syntax.

Inkludera den nya filen i digole.c -filen #include myimage.h

Inkludera en ny kommandoradshake till din bildfil i. Obs: kommandot nedan säger att dra din bild på position 10 pixlar över 10 pixlar nedåt. Du kan ändra den till olika X-, Y -koordinater, du kan också ändra värdena 128, 128 till vilken storlek din nya bild faktiskt är.

} annars if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere definieras i din (.h) -fil}

Bygg nu om (ignorera felen) nedan så att din nya bild återges med följande kommando.

$./digole myimage Re-Building [Inkluderat] Digole Display Driver för dina valfria ändringar

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

Rekommenderad: