Obsah:

Meteostanica LED Raspberry PI: 8 krokov
Meteostanica LED Raspberry PI: 8 krokov

Video: Meteostanica LED Raspberry PI: 8 krokov

Video: Meteostanica LED Raspberry PI: 8 krokov
Video: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, Júl
Anonim
Meteostanica LED Raspberry PI
Meteostanica LED Raspberry PI

Vytvorili sme meteorologickú LED stanicu Raspberry PI. Rozsvietením a stmievaním diód LED informuje používateľa o tom, aké je mesto teplé a studené. Tiež má vedúce k tomu, aby im povedal, či v meste, do ktorého písali, prší alebo nie.

Autormi sú Michael Andrews a Tio Marello.

Zásoby

Nástroje

  1. Spájkovačka
  2. Dremel
  3. Videl

Materiály

  1. Raspberry Pi 3 B+ ~ 40 dolárov ~ 30 dolárov
  2. Prepojovacie vodiče medzi ženami a mužmi ~ 7 dolárov
  3. 3 modré a 2 červené LED diódy ~ 11 dolárov
  4. Rezistory 100 ohmov ~ 13 dolárov
  5. 4 x 4 x 1/4 drevené dosky ~ 5 dolárov
  6. Spájka ~ 10 dolárov
  7. Medený drôt ~ 5 dolárov

Krok 1: Kódovanie ako riešenie problému

Kódovanie je riešenie problémov

Aký je teda v našom projekte náš problém? Našim problémom je získať údaje o počasí a potom ich použiť na informovanie našich diód LED, či sú vypnuté alebo zapnuté. Tým sa náš problém rozdeľuje na tri oblasti.

1. Získanie údajov o počasí

2. Použitie týchto údajov

3. Použitie LED diód

Jazyk, ktorý sme použili pre tento projekt, Python, a hardvér, na ktorom beží, Python, nám však poskytujú ľahký spôsob, ako tieto ciele dosiahnuť.

Začnime teda prvým problémom, získaním údajov o počasí.

Krok 2: Kódovanie: Získanie údajov o počasí

Samotný Python nemôže získať údaje o počasí. Na získanie údajov o počasí musíme importovať dva nástroje a tiež externú službu. Na tento účel používame tri nástroje.

1. Žiadosti, modul pythonu, ktorý umožňuje vytváranie webových klipov

2. Json, modul pythonu, ktorý nám umožňuje používať formát súboru JSON

3. OpenWeather, webová stránka, ktorá nám môže poskytnúť údaje o počasí

Prinášame teda dva moduly tak, že tento kód napíšeme do hornej časti nášho pythonového skriptu.

žiadosti o import

importovať json

Pred použitím týchto nástrojov však musíme použiť Openweather. Na to musíme vytvoriť účet na ich webe a získať kľúč API. Postupujte podľa pokynov na ich webových stránkach a dostanete reťazec písmen a číslic, ktorý nám umožní využiť ich službu. Ako?

openweather_api_key = "260a23f27f5324ef2ae763c779c32d7e" #Náš kľúč API (nie je skutočný)

base_call = "https://api.openweathermap.org/data/2.5/weather?q=" #OpenWeather Call #Tu dostaneme mesto používateľa vo forme textovej tlače ("Napíšte do mesta!") city_name = vstup () #Tu sme zostavili adresu, ktorú pripojíme k požiadavkám. Získať informácie o počasí full_call = base_call+city_name+"& appid ="+openweather_api_key #Nakoniec s našou adresou zavoláme request.get a potom ju skonvertujeme do súboru json Response = requests.get (full_call) WeatherData = Response.json () #JSON súbory obsahujú rôzne premenné, ku ktorým máme prístup pomocou tejto syntaxe #Tu získame ID počasia a teplotu v Kelvinoch mesta, ktoré používateľ zadal do WeatherID = WeatherData ["počasie"] [0] ["id"] City_TemperatureK = WeatherData ["main"] ["temp"]

Tu máme kód, ktorý nám poskytuje údaje o počasí. Žiadosti vo forme requests.get získajú adresu webovej stránky a vrátia nám súbor z tejto webovej stránky. OpenWeather nám dáva adresu, na ktorú máme zavolať, a tak nám poskytnúť údaje o počasí vo forme json. Zostavíme adresu, ktorú vložíme do požiadaviek a dostaneme súbor json späť. Potom vytvoríme dve premenné a priradíme ich teplote a počasiu v meste používateľa.

Takže teraz, s týmto kódom, máme dve premenné. Máme ID počasia a teplotu v Kelvinoch

Krok 3: Kódovanie: Použitie týchto údajov

Teraz, keď máme tieto dve premenné, musíme ich pripraviť na použitie pre naše LED diódy. Z tohto hľadiska na to nemusíme importovať žiadne moduly.

Najprv prevádzame kelvin na Fahrenheita.

Vykonáme to vytvorením premennej s touto syntaxou

City_TemperatureF = (City_TemperatureK - 273)*1,8 + 32

ktorý prevádza z Kelvinov na Fahrenheita (čo je skutočne prevod z K -> C -> F)

Ďalej je naše ID počasia. WeatherID je ID, ktoré poskytuje Openweather a ktoré nám hovorí o poveternostných podmienkach mesta.

openweathermap.org/weather-conditions Tu je ich zoznam.

Všimli sme si, že všetko pod číslom 700 je nejaký druh zrážok, a tak sme len skontrolovali, či je kód nižší ako 700, aby sme zistili, či prší.

def CheckRain (IdCode): ak IdCode <700: return True else: návrat False

Vďaka tomu máme pripravené dve premenné na použitie s našimi pinmi Raspberry PI a LED diódami.

Krok 4: Kódovanie: Použitie RPi. GPIO a LED diód

Kódovanie: Použitie RPi. GPIO a LED diód
Kódovanie: Použitie RPi. GPIO a LED diód

RaspberryPi je dodávaný so sadou samčích kolíkov, ktoré môžeme použiť na komunikáciu s veľkým počtom elektrických komponentov, ktorými sú v tomto prípade LED diódy; je to podobné Arduinu a jeho systému. Raspberry PI je však počítač na všeobecné použitie, na rozdiel od mikrokontroléra, akým je Arduino. Preto musíme urobiť trochu viac práce, aby sme ich mohli používať. Pozostáva z nastavenia pinov na Raspberry Pi. Robíme to pomocou tohto kódu.

import RPi. GPIO ako GPIO #Modul importujeme, aby sme ho mohli používať

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

#Kolíky, do ktorých sú zapojené diódy LED. Ak ich vytvoríte, môžu sa líšiť, preto ich v prípade potreby porovnajte a zmeňte

Extreme_Hot_LED_PIN = 26 Hot_LED_PIN = 16

Extreme_Cold_LED_PIN = 5

Cold_LED_PIN = 6

Rain_LED_PIN = 23

#Prepíname každý pin pomocou príkazu.setup, zadáme jeho číslo a nastavíme ho ako výstupný 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.setup (Extreme_Hot_L

Tento kód by nám však umožnil použiť iba dva stavy s diódou LED, to znamená zapnuté a vypnuté. Potrebujeme však, aby bolo možné stlmiť svetlá. Na tento účel používame moduláciu šírky impulzu.

Použitie modulácie šírky impulzu

Modulovanie šírky impulzu nám umožňuje prenášať analógový signál pomocou digitálneho kolíka. V zásade zapína a vypína zdroj signálu vysokou rýchlosťou, ktorá sa priemeruje na určité napätie. RPi. GPIO nám to umožňuje používať, aj keď s nejakým kódom navyše.

#Štyrpinové objekty vytvárame pomocou príkazu GPIO. PWM, ktorý preberá číslo kanála

#Druhé číslo je počet aktualizácií za sekundu

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

ExtremeColdLED = GPIO. PWM (Extreme_Cold_LED_PIN, 100)

ColdLED = GPIO. PWM (Cold_LED_PIN, 100)

V ďalšom kroku budete musieť vedieť, akým spôsobom tieto piny aktualizujeme.

Piny aktualizujeme pomocou príkazu

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

ExtremeHotLED.start (x)

HotLED.start (x)

x by v tomto prípade bol pracovný cyklus, ktorý určuje, koľko sa pulzuje. Pohybuje sa od 0 do 100, takže z tejto skutočnosti musíme vychádzať pri nasledujúcom kóde.

Krok 5: Kódovanie: Získanie jasu LED

Kódovanie: Získanie jasu LED
Kódovanie: Získanie jasu LED

Pretože máme štyri rôzne LED diódy, chceme ich rozsvietiť podľa toho, ako. v meste používateľa je zima alebo teplo. Rozhodli sme sa mať pre led štyri etapy.

#Funkcie

def getmiddleleftledintensity (TemperatureinF): #Left Equation: y = -(50/20) x + 175 #Right Equation: y = (50/20) x -75 return -(50/20)*TemperatureinF + 175

definovaná intenzita (teplota vF):

#Ľavá rovnica: y = - (50/20) x + 175 #Pravá rovnica: y = (50/20) x - 75 návrat (50/20)*Teplota vF - 75

def getextremeleftledintensity (TemperatureinF):

#LeftEquation: y = - (100/30) x + 200 #RightEquation: y = (100/30) x - (400/3)

návrat -(100/30)*Teplota voF + 200

def getextremerightledintensity (TemperatureinF):

# Ľavá rovnica: y = - (100/30) x + 200 # Pravá rovnica: y = (100/30) x - (400/3)

návrat (100/30)*Teplota vF - (400/3)

#Nastavenie LED svetiel

def GetLEDBrightness (temp):

ak je teplota <= 0: extrémne chladená = 100 za studena = 100 za horúca = 0 extrémne horúca = 0

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

HotLED.start (za tepla) elif teplota> = 100: extrémne chladná = 0 za studena = 0 za tepla = 100 extrémne horko = 100

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

HotLED.start (hotled) elif 0 <temp <= 30: extremecoldled = getextremeleftledintensity (temp) - 100 coldled = 100 hotled = 0 extremehotled = 0

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

HotLED.start (hotled) elif 100> teplota> = 70: extrémne chladná = 0 za studena = 0 za tepla = 100 extrémne horúca = getextremerightledintensity (temp) - 100

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

HotLED.start (hotled) elif 30 <temp <50: extremecoldled = 0 coldled = getmiddleleftledintensity (temp) hotled = 100 - coldled extremehotled = 0

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

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

za studena = 100 - za tepla

extrémne chladný = 0

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

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

vytlačiť („Extrémne chladné diódy:“+ str (extrémne chladené))

tlač („Studená LED:“+ str (za studena)) tlač („Extrémne horúca LED“+ str (extrémne horúca)) tlač („Horúca LED:“+ str (horúca))

ExtremeColdLED.start (extrémne chladný)

ColdLED.start (za studena)

ExtremeHotLED.start (extremehotled)

HotLED.start (za tepla)

Dobre, táto časť kódu je naozaj dlhá. Tiež je to dosť ťažké vysvetliť. Vyššie uvedený kód v zásade sleduje teplotu vo Fahrenheite a určuje, či je v skupine rozsahov. V závislosti od rozsahov udáva číslo pre každú LED a jej jas a potom jas nastaví zavolaním príkazu start (). To je rýchle vysvetlenie. Ak to stačí, odporúčam vám prejsť na ďalší krok, ale ak chcete vidieť dlhé a únavné vysvetľovanie, čítajte ďalej.

Keď sme programovali, rozhodli sme sa, že najľahší spôsob, ako získať hodnotu z teploty, je vo forme matematickej funkcie. V GeoGebre sme teda vytvorili graf, ktorý reprezentuje vzťah medzi našou teplotou a našim jasom LED; dôvod, prečo presahuje 100, je ten, že figurant by išiel do druhej diódy LED. Narazili sme však na problém získania jednej funkcie na mapovanie všetkých týchto bodov na jednu funkciu. Mysleli sme si, že môžeme použiť parabolu, ale rozhodli sme sa uspokojiť s použitím série príkazov if. V podstate je celý tento kód čiastočnou funkciou.

Funkcie v hornej časti sú príslušnou rovnicou čiar. Keď v grafe určíme, kde je teplota, spustíme ju touto funkciou, získame jas a prenesieme ju na diódy.

Krok 6: Kódovanie: posledné kroky

Nakoniec toto vyhlásenie pridáme na koniec.

skús:

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

Príkazy try a except nám umožňujú ukončiť kód pomocou klávesovej skratky; v každom prípade by sme museli vypnúť Raspberry Pi, aby sme kód reštartovali. Potom tu máme cyklus, ktorý beží navždy. Aktualizujeme LED diódy a tiež aktualizujeme dažďovú LED diódu. Pozastavíme sa na desať sekúnd; OpenWeather umožňuje iba 60 hovorov za dáta za minútu a 10 sekúnd je veľa aktualizácií.

A tým je náš kód hotový. Nasleduje hotový kód.

RaspberryPIWeatherStation.py

dovozné žiadosti
importRPi. GPIOasGPIO
importjson
čas importu
#Openweather idCodes menej ako 700 sú všetky zrážky
defCheckRain (IdCode):
ifIdCode <700:
returnTrue
inak:
returnFalse
defgetmiddleleftledintensity (Teplota vF):
#Rovnica vľavo: y =-(50/20) x + 175
#Pravá rovnica: y = (50/20) x - 75
návrat-(50/20)*Teplota priF+175
hustota defgetmiddlerightled (teplota vF):
#Rovnica vľavo: y =-(50/20) x + 175
#Pravá rovnica: y = (50/20) x - 75
návrat (50/20)*Teplota vF-75
extrémne nízka ľavá intenzita (teplota vF):
#LeftEquation: y = -(100/30) x + 200
#RightEquation: y = (100/30) x - (400/3)
návrat-(100/30)*Teplota priF+200
defgetextremerightledintensity (teplota vF):
# LeftEquation: y = -(100/30) x + 200
# RightEquation: y = (100/30) x - (400/3)
návrat (100/30)*Teplota vF- (400/3)
#GPIO nastavenie
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (False)
#Piny
Extreme_Hot_LED_PIN = 26
Hot_LED_PIN = 16
Extreme_Cold_LED_PIN = 5
Cold_LED_PIN = 6
Rain_LED_PIN = 23
#Nastavenie kolíka
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)
ColdLED = GPIO. PWM (Cold_LED_PIN, 100)
defGetLEDBrightness (temp):
iftemp <= 0:
extrémne chladný = 100
za studena = 100
hotled = 0
extrémna vzdialenosť = 0
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
eliftemp> = 100:
extrémne chladný = 0
za studena = 0
hotled = 100
extrémna vzdialenosť = 100
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
elif0 <teplota <= 30:
extremecoldled = getextremeleftledintensity (temp) -100
za studena = 100
hotled = 0
extrémna vzdialenosť = 0
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
elif100> teplota> = 70:
extrémne chladný = 0
za studena = 0
hotled = 100
extremehotled = getextremerightledintensity (temp) -100
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
elif30 <teplota <50:
extrémne chladný = 0
za studena = dostať strednú intenzitu doľava (teplota)
hotled = 100-studený
extrémna vzdialenosť = 0
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
elif50 <teplota <70:
hotled = getmiddlerightledintensity (temp)
extrémna vzdialenosť = 0
za studena = 100 za tepla
extrémne chladný = 0
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
eliftemp == 50:
extrémne chladný = 0
za studena = 50
hotled = 50
extrémna vzdialenosť = 0
vytlačiť („Extrémne chladné diódy:“+str (extrémne chladené))
tlač („Studená LED:“+str (za studena))
tlač („Extrémne horúce LED“+str (extrémne horúce))
vytlačiť („Hot led:“+str (hotled))
ExtremeColdLED.start (extrémne chladný)
ColdLED.start (za studena)
ExtremeHotLED.start (extremehotled)
HotLED.start (za tepla)
defGetRainLED (idCode):
ifCheckRain (idCode):
GPIO.output (Rain_LED_PIN, GPIO. HIGH)
inak:
GPIO.output (Rain_LED_PIN, GPIO. LOW)
#Api information: Repalce API key with your oepnweather api key
openweather_api_key = "460a23f27ff324ef9ae743c7e9c32d7e"
base_call = "https://api.openweathermap.org/data/2.5/weather?q="
vytlačiť („Napíšte do mesta!“)
city_name = vstup ()
full_call = základný hovor+názov mesta+"& appid ="+openweather_api_key
#Získavanie údajov o počasí
Response = requests.get (full_call)
WeatherData = Response.json ()
WeatherID = WeatherData ["počasie"] [0] ["id"]
City_TemperatureK = WeatherData ["main"] ["temp"]
City_TemperatureF = (City_TemperatureK-273)*1,8+32#Previesť na stupne Fahrenheita
#Veci LED/GPIO
vytlačiť ("K:"+str (City_TemperatureK))
vytlačiť ("F:"+str (City_TemperatureF))
vytlačiť (WeatherID)
skús:
while (True):
GetLEDBrightness (City_TemperatureF)
GetRainLED (WeatherID)
time.sleep (10)
okremKeyboardInterrupt:
skončiť ()

zobraziť rawRaspberryPIWeatherStation.py hostené s ❤ od GitHub

Krok 7: Budovanie a zapojenie

Fíha! Po tom všetkom kódovaní sa dostávame k budove, ktorá je výrazne jednoduchšia. Kvôli objednávkam pobytu na koróne doma sme sa nemohli dostať k mnohým nástrojom, ktoré sme v škole očakávali. Táto časť je teda o niečo jednoduchšia, ako sme chceli. Flexibilné sú aj samotné špecifiká. Najprv sme na drevenú dosku nakreslili obdĺžnik. Na konkrétnej veľkosti príliš nezáleží, pretože slúži jednoducho ako platforma na nasadenie diód a elektroniky.

Potom sme do nášho kúska dreva vyvŕtali päť 1/8.

Potom sme z dosky vystrihli obdĺžnik, ktorý bude slúžiť ako platforma pre našu elektroniku.

(To bolo vtedy, keď sme začínali; našli sme väčšiu pílu!)

Potom zatlačíme anódové a katódové kolíky LED do otvorov; LED diódy by mali byť položené na vrchu a žiarovky by mali vyčnievať; sledujte, ktorá noha je dlhšia a kratšia. Potom sme sa pustili do spájkovania drôtov. Najprv spájkujeme odpory na anódovú nohu LED (dlhšia noha).

Potom spájkujeme katódové nohy LED na jeden medený drôt, ktorý použijeme ako uzemnenie. Malo by to vyzerať takto.

Potom urobíme to, že spájame samčie konce prepojovacích káblov samica-samec na koncové konce každého odporu a medený uzemňovací vodič. Akonáhle to urobíme, môžeme začať zapojiť vodiče do malinových PI GPIO pinov. Tu je diagram! Všimnite si však, že kolíky sú tie, ktoré boli v predtým dotknutom kóde.

Akonáhle máte všetko zapojené, teraz stačí dostať súbor Python na malinový Pi a otvoriť terminál. spustite „python3 RaspberryPIWeatherStation.py“a potom urobte, ako ukazuje.

Krok 8: Demonštrácia a záver

Ďakujeme, že ste to prečítali až do konca! Nižšie pripojím skript pythonu! Ak by sme mohli niečo pridať, pravdepodobne by to bolo …

1. Podpora rôznych typov vstupov (mestá, geografické body atď.)

2. Podpora pre ďalšie informácie o počasí

3. Pridajte malú obrazovku na zobrazenie informácií

Dajte nám vedieť svoje myšlienky! Bol to zábavný projekt na výstavbu. Naučili sme sa veľa o požiadavkách a získavaní internetových dokumentov pomocou pythonu a tiež sme sa naučili veľa o spájkovaní.

Odporúča: