Inhoudsopgave:
- Stap 1: RaspberriPi-harde schijf flashen / vereiste software installeren (met Ubuntu Linux)
- Stap 2: Project klonen / softwarestuurprogramma's installeren
- Stap 3: Benodigde benodigdheden
- Stap 4: Sluit het apparaat aan
- Stap 5: Bouw het apparaat
- Stap 6: Bouw het apparaat (vervolg…)
- Stap 7: Configureer de toepassing om correct te worden uitgevoerd in het configuratiebestand Settings.py
- Stap 8: Geplande scripts instellen
- Stap 9: OPTIONEEL: uw eigen weerbeelden maken om op het scherm weer te geven
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Temperatuurmeter met hoge tolerantie en klimaatlogger voor uw zolder of andere buitenconstructies
Stap 1: RaspberriPi-harde schijf flashen / vereiste software installeren (met Ubuntu Linux)
Download "RASPBIAN JESSIE LITE"
Maak uw nieuwe harde schijf voor DashboardPI
Plaats de microSD in uw computer via een USB-adapter en maak de schijfkopie met de opdracht dd
Lokaliseer uw geplaatste microSD-kaart via de opdracht df -h, ontkoppel deze en maak de schijfkopie met de opdracht disk copy dd
$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678
$ umount /dev/sdb1
Let op: zorg ervoor dat het commando volledig nauwkeurig is, je kunt andere schijven beschadigen met dit commando
if=locatie van RASPBIAN JESSIE LITE afbeeldingsbestand van=locatie van uw microSD-kaart
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (let op: in dit geval is het /dev/sdb, /dev/sdb1 was een bestaande fabriekspartitie op de microSD)
Je RaspberriPi. instellen
Plaats uw nieuwe microSD-kaart in de raspberrypi en zet hem aan met een monitor aangesloten op de HDMI-poort
Log in
gebruiker: pi pass: framboos
Wijzig uw accountwachtwoord voor veiligheid
sudo passwd pi
Geavanceerde opties voor RaspberriPi inschakelen
sudo raspi-config
Kies: 1 Bestandssysteem uitvouwen
9 geavanceerde opties
A2 Hostnaam verander het in "AtticTemp"
A4 SSH SSH-server inschakelen
A7 I2C i2c-interface inschakelen
Schakel het Engelse/Amerikaanse toetsenbord in
sudo nano /etc/default/keyboard
Wijzig de volgende regel: XKBLAYOUT="us"
Start PI opnieuw op voor wijzigingen in toetsenbordindeling / formaat van bestandssysteem om van kracht te worden
$ sudo shutdown -r nu
Automatisch verbinden met je wifi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Voeg de volgende regels toe om uw raspberrypi automatisch verbinding te laten maken met uw wifi-thuisnetwerk (als uw draadloze netwerk bijvoorbeeld "linksys" heet, in het volgende voorbeeld)
network={ ssid="linksys" psk="DRAADLOOS WACHTWOORD HIER" } Start de PI opnieuw op om verbinding te maken met het wifi-netwerk
$ sudo shutdown -r nu
Nu uw PI eindelijk op het lokale netwerk staat, kunt u er via SSH op afstand op inloggen. Maar eerst moet u het IP-adres krijgen dat het momenteel heeft.
$ ifconfig Zoek naar "inet addr: 192.168. XXX. XXX" in de uitvoer van de volgende opdracht voor het IP-adres van uw PI
Ga naar een andere machine en log in op je raspberrypi via ssh
$ ssh [email protected]. XXX. XXX
Begin met het installeren van vereiste pakketten
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim git python-verzoeken python-smbus i2c-tools python-imaging python-smbus build-essentiële python-dev rpi.gpio python3 python3-pip libi2c-dev
Lokale tijdzone-instellingen bijwerken
$ sudo dpkg-reconfigure tzdata
selecteer uw tijdzone met behulp van de interface
Stel de eenvoudige directory l-opdracht in [optioneel]
$ vi ~/.bashrc
voeg de volgende regel toe:
$ alias l='ls -lh'
$ bron ~/.bashrc
Fix VIM standaard syntax highlighting [optioneel]
$ sudo vi /etc/vim/vimrc
verwijder het commentaar van de volgende regel:
syntaxis aan
Stap 2: Project klonen / softwarestuurprogramma's installeren
Projectrepository klonen
$ cd ~
$ git-kloon
DHT22 installeren
$ cd ~
$ git kloon
$ cd Adafruit_Python_DHT/
$ sudo python setup.py install
$ sudo python ez_setup.py
$ cd-voorbeelden/
$ vi simpletest.py
Wijzig de volgende regel:
sensor = Adafruit_DHT. DHT22
Reageer op de line-out
pin = 'P8_11'
Uncommenteer de regel en verander het pinnummer in 16
pin = 18
Doe de test
python simpletest.py
U zou een metrische uitlezing van Temp en Vochtigheid op de opdrachtregel moeten zien.
SSD1306 installeren
Pak stuurprogramma's/SSD1306.zip uit naar de projectmap
Installeer het stuurprogramma
$ cd ssd1306/ $ sudo python setup.py install
Bevestig dat uw apparaat zich registreert, meestal is het \0x3c op de i2c-bus
$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 abcdef 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- - - -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- - - -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- Voer de demo uit om te bevestigen dat uw display in goede staat is
$ cd-voorbeelden/ $ python demo.py
Stap 3: Benodigde benodigdheden
RaspberriPi Zero
DHT22 temperatuur-vochtigheidssensor
0,96 I2C IIC SPI Serieel 12864 OLED LCD LED Wit Display Module
2,4 400x240 16:9 serieel: UART/I2C/SPI TFT-aanraakscherm
Stap 4: Sluit het apparaat aan
SSD1306-scherm
GND -> GND
GEGEVENS -> SDA
CLK -> SCL
VCC -> 3V
Digole-display
GND -> GND
GEGEVENS -> SDA
CLK -> SCL
VCC -> 3V
DHT22-bevochtiger
VCC -> 5V
GND -> GND
DATA -> GPIO 18 / PIN 12
Stap 5: Bouw het apparaat
Snijd plexiglas zodat het op de voorkant van het apparaat onder het 3D-geprinte frame past
Monteer het glas met schroeven door het 3D-geprinte frame
Stap 6: Bouw het apparaat (vervolg…)
Hete lijmcomponenten tegen het voorpaneel
Draadeenheid binnen
Monteer de achterkant en hij zou klaar moeten zijn om te gaan
Stap 7: Configureer de toepassing om correct te worden uitgevoerd in het configuratiebestand Settings.py
Zoek het bestand settings.py en pas het aan uw huidige instellingen aan
# forecast.io API-sleutel voor lokale weersinformatie
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'UW API-SLEUTEL VOOR FORECAST. IO'
# optioneel voor het uitvoeren van de externe temperatuur-/vochtigheidslogger
deviceLoggerAPI = 'mydevicelogger.com'
# zoek op google om de breedtegraad/lengtegraad voor uw thuislocatie te krijgen
breedtegraad = 41.4552578
lengtegraad = -72.1665444
Stap 8: Geplande scripts instellen
$ crontab -e
Voeg de volgende regels toe: */7 * * * * python /home/pi/AtticTemp/displays.py
OPTIONEEL: Temp Logger naar API-script elke 10 minuten
$ crontab -e
Voeg de volgende regels toe: */10 * * * * python /home/pi/EnvironmentClock/temp-check.py
Stap 9: OPTIONEEL: uw eigen weerbeelden maken om op het scherm weer te geven
Upload uw eigen 128x128-bestand naar de volgende URL:
www.digole.com/tools/PicturetoC_Hex_converter.php
Kies uw afbeeldingsbestand om te uploaden, voeg toe hoe groot u het op het scherm wilt hebben (Breedte/Hoogte)
Selecteer "256 kleuren voor OLED/LCD-kleuren (1 byte/pixel)" in de vervolgkeuzelijst "Gebruikt voor"
Verkrijg de hex-uitgang
Voeg de hex-uitvoer toe aan een display/build/header (.h)-bestand, gebruik de andere als handleidingen voor syntaxis.
Voeg het nieuwe bestand toe aan het digole.c-bestand #include myimage.h
Voeg een nieuwe opdrachtregelhaak toe aan uw afbeeldingsbestand in de. Opmerking: het onderstaande commando zegt dat je je afbeelding moet tekenen op positie 10 pixels boven 10 pixels naar beneden. Je kunt het veranderen in verschillende X-, Y-coördinaten, je kunt ook de waarden 128, 128 wijzigen in de grootte van je nieuwe afbeelding.
} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere is gedefinieerd in uw (.h) bestand }
Herbouw nu (negeer de fouten) hieronder om uw nieuwe afbeelding te laten renderen met de volgende opdracht.
$./digole mijnafbeelding
Re-Building [Inbegrepen] Digole Display Driver voor uw optionele wijzigingen
$ cd weergeven/bouwen
$ gcc digole.c
$ mv a.uit../../digole
$ chmod +x../../digole