Sadržaj:

Raspberry PI LED meteorološka stanica: 8 koraka
Raspberry PI LED meteorološka stanica: 8 koraka

Video: Raspberry PI LED meteorološka stanica: 8 koraka

Video: Raspberry PI LED meteorološka stanica: 8 koraka
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Srpanj
Anonim
Raspberry PI LED meteorološka stanica
Raspberry PI LED meteorološka stanica

Napravili smo Raspberry PI Weather LED stanicu. Korisniku govori koliko je grad vruć i hladan osvjetljavanjem i zatamnjivanjem LED dioda. Također ima oznaku koja im govori da li pada kiša u gradu u koji su upisali ili ne.

Kreirali Michael Andrews i Tio Marello.

Pribor

Alati

  1. Lemilica
  2. Dremel
  3. Pila

Materijali

  1. Raspberry Pi 3 B+ ~ 40 dolara ~ 30 dolara
  2. Žica za muški spoj kratkih žica ~ 7 dolara
  3. 3 plave i 2 crvene LED diode ~ 11 dolara
  4. Otpornici od 100 ohma ~ 13 dolara
  5. 4 x 4 x 1/4 drvena daska ~ 5 dolara
  6. Lemitelj ~ 10 dolara
  7. Bakarna žica ~ 5 dolara

Korak 1: Kodiranje kao rješavanje problema

Kodiranje je rješavanje problema

Dakle, u našem projektu, koji je naš problem? Naš je problem doći do vremenskih podataka, a zatim pomoću tih podataka reći LED diodama jesu li isključene ili uključene. Dakle, ovo razdvaja naš problem na tri područja.

1. Dobivanje vremenskih podataka

2. Korištenje tih podataka

3. Korištenje LED -a

Međutim, jezik koji smo koristili za ovaj projekt, Python i hardver na kojem radi, Python, daju nam jednostavan način za postizanje ovih ciljeva.

Pa ćemo početi s prvim problemom, dobivanjem vremenskih podataka.

Korak 2: Kodiranje: Dobivanje vremenskih podataka

Python sam po sebi ne može dobiti vremenske podatke. Moramo uvesti dva alata, kao i vanjsku uslugu, za dobivanje vremenskih podataka. Da bismo to učinili, koristimo tri alata.

1. Zahtjevi, python modul koji dopušta web skropiranje

2. Json, python modul koji nam omogućuje korištenje JSON formata datoteke

3. OpenWeather, web stranica koja nam može dati vremenske podatke

Dakle, donosimo dva modula ispisujući ovaj kôd na vrh naše python skripte.

zahtjevi za uvoz

uvoziti json

Prije nego što upotrijebimo ove alate, moramo koristiti Openweather. Za to moramo stvoriti račun na njihovoj web stranici i dobiti API ključ. Slijedite upute na njihovoj web stranici i dobit ćete niz slova i brojki koji će nam omogućiti korištenje njihove usluge. Kako?

openweather_api_key = "260a23f27f5324ef2ae763c779c32d7e" #Naš API ključ (nije stvaran)

base_call = "https://api.openweathermap.org/data/2.5/weather?q=" #OpenWeather Call #Ovdje dobivamo grad korisnika u obliku ispisa teksta ("Upišite grad!") city_name = input () #Ovdje smo sastavili adresu koju ćemo uključiti u requests.get za primanje vremenskih podataka full_call = base_call+city_name+"& appid ="+openweather_api_key #Na kraju zovemo requests.get s našom adresom, a zatim je pretvaramo u json datoteku Odgovor = requests.get (full_call) WeatherData = Response.json () #JSON datoteke sadrže različite varijable kojima možemo pristupiti pomoću ove sintakse #Ovdje dobivamo ID vremena i temperaturu u Kelvinu u gradu koji je korisnik upisao u WeatherID = WeatherData ["weather"] [0] ["id"] City_TemperatureK = WeatherData ["main"] ["temp"]

Ovdje imamo kôd koji nam daje naše vremenske podatke. Zahtjevi, u obliku requests.get, primaju adresu web stranice i vraćaju nam datoteku s te web stranice. OpenWeather nam daje adresu za poziv da nam da vremenske podatke u obliku jsona. Sastavljamo adresu koju uključujemo u zahtjeve i dobivamo json datoteku natrag. Zatim stvaramo dvije varijable i dodjeljujemo ih temperaturi i vremenskim prilikama u gradu korisnika.

Dakle, sada s ovim kodom imamo dvije varijable. Imamo weatherID i temperaturu u Kelvinu

Korak 3: Kodiranje: Korištenje tih podataka

Sada kada imamo ove dvije varijable, moramo ih pripremiti za upotrebu za naše LEDS. Za ovaj aspekt ne moramo uvoziti module za to.

Prvo, pretvorimo kelvin u Fahrenheit.

To činimo stvaranjem varijable s ovom sintaksom

Gradska_temperaturaF = (Gradska_temperaturaK - 273)*1,8 + 32

koji se pretvara iz Kelvina u Fahrenheit (koji se zapravo pretvara iz K -> C -> F)

Slijedi naš weatherID. WeatherID je ID koji Openweather pruža i koji nam govori o vremenskim prilikama u gradu.

openweathermap.org/weather-conditions Evo njihovog popisa.

Primijetili smo da je sve ispod broja 700 neka vrsta oborina, pa smo samo provjerili je li kôd ispod 700 da vidimo je li kiša.

def CheckRain (IdCode): ako je IdCode <700: return True else: return False

Time imamo naše dvije varijable pripremljene za upotrebu s našim PI pinovima od maline i LED diodama.

Korak 4: Kodiranje: Korištenje RPi. GPIO i LED dioda

Kodiranje: Korištenje RPi. GPIO i LED dioda
Kodiranje: Korištenje RPi. GPIO i LED dioda

RaspberryPi dolazi sa setom muških pinova koje možemo koristiti za komunikaciju s mnoštvom električnih komponenti, što su u ovom slučaju LED diode; to je slično Arduinu i njegovom sustavu. Međutim, Raspberry PI je računalo opće namjene, za razliku od mikrokontrolera poput Arduina. Dakle, moramo učiniti malo više posla da bismo ih koristili. To se sastoji od postavljanja pinova na Raspberry Pi. To radimo pomoću ovog koda.

uvozimo RPi. GPIO kao GPIO #Uvozimo modul kako bismo ga mogli koristiti

#Postavite pinsGPIO.setmode (GPIO. BCM) GPIO.setwarnings (False)

#Igle na koje su LED diode uključene. Oni se mogu razlikovati ako ga izgradite, pa ga usporedite i promijenite po potrebi

Ekstremni_Hot_LED_PIN = 26 Vrući_LED_PIN = 16

Ekstremno_hladno_LED_PIN = 5

Hladno_LED_PIN = 6

Kiša_LED_PIN = 23

#Prolazimo kroz svaki pin pomoću naredbe.setup, stavljajući njegov broj i postavljajući ga kao izlazni pin

GPIO.setup (Rain_LED_PIN, GPIO. OUT) GPIO.setup (Extreme_Cold_LED_PIN, GPIO. OUT) GPIO.setup (Cold_LED_PIN, GPIO. OUT) GPIO.setup (Hot_LED_PIN, GPIO. OUT) GPIO.set

Međutim, ovaj kôd omogućio bi nam samo korištenje dva stanja sa LED diodama, odnosno uključivanje i isključivanje. Međutim, to nam je potrebno da bismo mogli prigušiti svjetla. Da bismo to učinili, koristimo Pulse Width Modulation.

Korištenje modulacije širine impulsa

Modulacija širine impulsa omogućuje nam izlaz analognog signala pomoću digitalnog pina. U osnovi, uključuje i isključuje izvor signala velikom brzinom, koja prosječno iznosi do određenog napona. RPi. GPIO nam dopušta da to koristimo, iako s nekim dodatnim kodom.

#Izrađujemo četiri pin objekta pomoću naredbe GPIO. PWM koja uzima broj kanala

#Drugi broj je broj ažuriranja u sekundi

ExtremeHotLED = GPIO. PWM (Extreme_Hot_LED_PIN, 100) HotLED = GPIO. PWM (Hot_LED_PIN, 100)

ExtremeColdLED = GPIO. PWM (Extreme_Cold_LED_PIN, 100)

Hladno LED = GPIO. PWM (Hladno_LED_PIN, 100)

Za sljedeći korak morat ćete znati na koji način ažuriramo ove pinove.

Pinove ažuriramo pomoću naredbe

ExtremeColdLED.start (x) ColdLED.start (x)

ExtremeHotLED.start (x)

HotLED.start (x)

x u ovom slučaju bio bi radni ciklus, koji određuje koliko impulsa odbija. Raspon je od 0-100, pa sljedeći kôd moramo temeljiti na toj činjenici.

Korak 5: Kodiranje: Dobivanje svjetline LED diode

Kodiranje: Dobivanje svjetline LED -a
Kodiranje: Dobivanje svjetline LED -a

Budući da imamo četiri različite LED diode, želimo ih osvijetliti ovisno o tome kako. hladno ili vruće je u gradu korisnika. Odlučili smo imati četiri etape za led.

#Funkcije

def getmiddleleftledintensity (TemperaturainF): #Left jednadžba: y = -(50/20) x + 175 #Desna jednadžba: y = (50/20) x -75 povratak -(50/20)*TemperaturainF + 175

def getmiddlerightledintensity (TemperatureinF):

#Lijeva jednadžba: y = - (50/20) x + 175 #Desna jednadžba: y = (50/20) x - 75 povratak (50/20)*TemperaturainF - 75

def getextremeleftled intenzitet (TemperaturainF):

#Lijeva jednadžba: y = - (100/30) x + 200 #Desna jednadžba: y = (100/30) x - (400/3)

povrat -(100/30)*TemperaturainF + 200

def getextremetreni intenzitet (TemperaturainF):

# Lijeva jednadžba: y = - (100/30) x + 200 # Desna jednadžba: y = (100/30) x - (400/3)

povrat (100/30)*TemperaturainF - (400/3)

#Postavljanje LED svjetla

def GetLEDBrightness (temp):

ako je temp <= 0: ekstremno rashlađeno = 100 ohlađeno = 100 zagrijano = 0 ekstremno hladno = 0

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (hotled) elif temp> = 100: extremecoldled = 0 coldled = 0 hotled = 100 extremehogled = 100

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (hotled) elif 0 <temp <= 30: extremecoldled = getextremeleftledintensity (temp) - 100 rashlađeno = 100 hotled = 0 extremehogled = 0

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (hotled) elif 100> temp> = 70: extremecoldled = 0 coldled = 0 hotled = 100 extremehogled = getextremerightledintensity (temp) - 100

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (vruće) elif 30 <temp <50: extremecoldled = 0 coldled = getmiddleleftledintensity (temp) hotled = 100 - rashlađeno extremehogled = 0

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (hotled) elif 50 <temp <70: hotled = getmiddlerightledintensity (temp) extremehogled = 0

rashlađen = 100 - zagrijan

ekstremno hladno = 0

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (hotled) elif temp == 50: extremecoldled = 0 coldled = 50 hotled = 50 extremehogled = 0

print ("Ekstremno hladno led:" + str (ekstremno hladno))

print ("Hladno svjetlo:" + str (ohlađeno)) print ("Ekstremno vruće LED" + str (ekstremno zgusnuto)) print ("Vruće LED:" + str (vruće))

ExtremeColdLED.start (ekstremno hladno)

ColdLED.start (ohlađeno)

ExtremeHotLED.start (extremehogled)

HotLED.start (vruće)

U redu, ovaj dio koda je jako dugačak. Također je prilično teško objasniti. U biti, gornji kôd gleda temperaturu u Fahrenheitu i određuje je li u skupu raspona. Ovisno o rasponima, daje broj svakom LED -u i njegovu svjetlinu, a zatim postavlja svjetlinu pozivanjem naredbe start (). To je brzo objašnjenje. Ako je dovoljno, preporučujem da prijeđete na sljedeći korak, ali ako želite vidjeti dugo i dosadno objašnjenje, nastavite čitati.

Kad smo programirali, odlučili smo da je najlakši način da dobijemo vrijednost iz temperature u obliku matematičke funkcije. Dakle, stvorili smo grafikon u GeoGebri kako bismo predstavili odnos između naše temperature i LED svjetline; razlog zašto ide iznad 100 je taj što bi dodatak išao u drugo mjesto. Međutim, naišli smo na pitanje dobivanja jedne funkcije za preslikavanje svih ovih točaka na jednu funkciju. Mislili smo da bismo mogli upotrijebiti parabolu, ali odlučili smo se zadovoljiti samo upotrebom niza if naredbi. U biti, cijeli ovaj kôd je komadna funkcija.

Funkcije na vrhu su odgovarajuća jednadžba linija. Nakon što odredimo gdje je temperatura na grafikonu, prolazimo kroz tu funkciju, dobivamo svjetlinu i prosljeđujemo je na LED diode.

Korak 6: Kodiranje: Završni koraci

Na kraju, ovu izjavu dodajemo na kraju.

probati:

while (True): GetLEDBrightness (City_TemperatureF) GetRainLED (WeatherID) time.sleep (10) osim KeyboardInterrupt: quit ()

Naredbe try i except omogućuju nam izlaz iz koda pomoću prečice na tipkovnici; u svakom slučaju, morali bismo ugasiti Raspberry Pi za ponovno pokretanje koda. Zatim imamo while petlju koja traje zauvijek. Ažuriramo LED diode, kao i LED za kišu. Zastajemo na deset sekundi; OpenWeather dopušta samo 60 poziva za prijenos podataka u minuti, a 10 sekundi dosta je ažuriranja.

I time je naš kôd gotov. Ispod je gotov kod.

RaspberryPIWeatherStation.py

importrequests
importRPi. GPIOasGPIO
importjson
importtime
#Otvoreni vremenski id kodovi manji od 700 su sve oborine
defCheckRain (IdCode):
ifIdCode <700:
returnTrae
drugo:
returnFalse
defgetmiddleleftledintensity (TemperatureinF):
#Lijeva jednadžba: y =-(50/20) x + 175
#Desna jednadžba: y = (50/20) x - 75
povratak- (50/20)*TemperaturainF+175
defgetmiddlerightledintensity (TemperatureinF):
#Lijeva jednadžba: y =-(50/20) x + 175
#Desna jednadžba: y = (50/20) x - 75
povrat (50/20)*TemperaturainF-75
defgetextreleleledled intenzitet (TemperaturainF):
#Lijeva jednadžba: y = -(100/30) x + 200
#Desna jednadžba: y = (100/30) x - (400/3)
povratak- (100/30)*TemperaturainF+200
defgetex izuzetno visok intenzitet (TemperaturainF):
# Lijeva jednadžba: y = -(100/30) x + 200
# Desna jednadžba: y = (100/30) x - (400/3)
povrat (100/30)*TemperaturainF- (400/3)
#GPIO postavljanje
Način rada GPIO.set (GPIO. BCM)
GPIO.setwarnings (False)
#Igle
Ekstremno_vruće_LED_PIN = 26
Vrući_LED_PIN = 16
Ekstremno_hladno_LED_PIN = 5
Hladno_LED_PIN = 6
Kiša_LED_PIN = 23
#Pin postavljanje
GPIO.setup (Rain_LED_PIN, GPIO. OUT)
GPIO.setup (Extreme_Cold_LED_PIN, GPIO. OUT)
GPIO.setup (Cold_LED_PIN, GPIO. OUT)
GPIO.setup (Hot_LED_PIN, GPIO. OUT)
GPIO.setup (Extreme_Hot_LED_PIN, GPIO. OUT)
ExtremeHotLED = GPIO. PWM (Extreme_Hot_LED_PIN, 100)
HotLED = GPIO. PWM (Hot_LED_PIN, 100)
ExtremeColdLED = GPIO. PWM (Extreme_Cold_LED_PIN, 100)
Hladno LED = GPIO. PWM (Hladno_LED_PIN, 100)
defGetLEDBrightness (temp):
iftemp <= 0:
ekstremno rashlađeno = 100
ohlađeno = 100
vruće = 0
ekstremno zbijen = 0
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
eliftemp> = 100:
ekstremno hladno = 0
ohlađeno = 0
vruće = 100
ekstremno zbijen = 100
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
elif0 <temp <= 30:
ekstremno rashlađeno = getextremeleftledintensity (temp) -100
ohlađeno = 100
vruće = 0
ekstremno zbijen = 0
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
elif100> temp> = 70:
ekstremno hladno = 0
ohlađeno = 0
vruće = 100
ekstremno zgusnut = getextremerightledintensity (temp) -100
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
elif30 <temp <50:
ekstremno hladno = 0
hladno = getmiddleleftledtenzitet (temp)
uzavrelo = 100-ohlađeno
ekstremno zbijen = 0
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
elif50 <temp <70:
hotled = getmiddlerightledintensity (temp)
ekstremno zbijen = 0
ohlađen = 100-vruć
ekstremno hladno = 0
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
eliftemp == 50:
ekstremno hladno = 0
ohlađeno = 50
vruće = 50
ekstremno zbijen = 0
print ("Ekstremno hladno led:"+str (ekstremno hladno))
print ("Hladno svjetlo:"+str (hladno))
print ("Extreme hot LED"+str (extremehogether))
print ("Hot LED:"+str (hotled))
ExtremeColdLED.start (ekstremno hladno)
ColdLED.start (ohlađeno)
ExtremeHotLED.start (extremehogled)
HotLED.start (vruće)
defGetRainLED (idCode):
ifCheckRain (idCode):
GPIO.izlaz (Rain_LED_PIN, GPIO. HIGH)
drugo:
GPIO.izlaz (Rain_LED_PIN, GPIO. LOW)
#Api informacije: Repalce API ključ s vašim oepnweather API ključem
openweather_api_key = "460a23f27ff324ef9ae743c7e9c32d7e"
base_call = "https://api.openweathermap.org/data/2.5/weather?q="
print ("Upišite grad!")
ime_ grada = ulaz ()
full_call = base_call+city_name+"& appid ="+openweather_api_key
#Getting Weather Data
Odgovor = requests.get (full_call)
WeatherData = Response.json ()
WeatherID = WeatherData ["weather"] [0] ["id"]
City_TemperatureK = WeatherData ["main"] ["temp"]
City_TemperatureF = (City_TemperatureK-273)*1.8+32#Pretvori u Fahrenheit
#LED/GPIO stvari
print ("K:"+str (City_TemperatureK))
print ("F:"+str (City_TemperatureF))
ispis (WeatherID)
probati:
dok (Istina):
GetLEDBrightness (City_TemperatureF)
GetRainLED (WeatherID)
vrijeme.spavanje (10)
osimKeyboardInterrupt:
prestati()

pogledajte rawRaspberryPIWeatherStation.py hostirano sa ❤ od GitHub -a

Korak 7: Izgradnja i ožičenje

Vau! Nakon svega tog kodiranja dolazimo do zgrade, što je znatno lakše. Zbog korona virusa nismo mogli doći do mnogih alata koje smo očekivali u školi. Dakle, ovaj dio je malo jednostavniji od onoga što smo namjeravali. I same specifičnosti su fleksibilne. Prvo smo nacrtali pravokutnik na drvenoj dasci. Specifična veličina zapravo nije previše važna, jer jednostavno služi kao platforma za postavljanje LED dioda i elektronike.

Zatim smo izbušili pet 1/8 rupa u našem komadu drveta.

Zatim smo izrezali pravokutnik s daske za upotrebu kao našu platformu za našu elektroniku.

(Tada smo počeli; našli smo veću pilu!)

Zatim gurnemo anodne i katodne igle vodilice u rupe; LED diode trebaju ležati na vrhu, a njihove žarulje vire; pratiti koja je noga duža i kraća. Tada smo počeli s lemljenjem žica. Najprije lemimo otpornike na anodnu nogu LED -a (dužu nogu).

Zatim smo lemili katodne krakove LED dioda na jednu bakrenu žicu koju ćemo koristiti kao uzemljenje. To bi trebalo izgledati ovako.

Nakon što to učinimo, lemimo muške krajeve žensko-muških kratkospojnih kabela na krajeve svakog otpornika i bakrenu uzemljenu žicu. Nakon što to učinimo, možemo početi spajati žice u malinove PI GPIO pinove. Evo dijagrama! No, imajte na umu da su pinovi oni u prethodno dotaknutom kodu.

Nakon što ste sve to ožičili, sve što trebate učiniti je postaviti Python datoteku na malinu Pi i otvoriti terminal. pokrenite "python3 RaspberryPIWeatherStation.py", a zatim učinite kako prikazuje.

Korak 8: Demonstracija i zaključak

Hvala što ste čitali do kraja! U nastavku prilažem python skriptu! Da postoji nešto što bismo mogli dodati, vjerojatno bi bilo …

1. Podrška za različite vrste unosa (gradovi, zemljopisne točke itd.)

2. Podrška za više vremenskih informacija

3. Dodajte mali zaslon za prikaz informacija

Javite nam svoja razmišljanja! Ovo je bio zabavan projekt za izgradnju. Naučili smo mnogo o zahtjevima i dobivanju internetskih dokumenata pomoću pythona, a naučili smo i o korištenju lemljenja.

Preporučeni: