Tartalomjegyzék:

Málna PI LED időjárás állomás: 8 lépés
Málna PI LED időjárás állomás: 8 lépés

Videó: Málna PI LED időjárás állomás: 8 lépés

Videó: Málna PI LED időjárás állomás: 8 lépés
Videó: #65 - IoT-s időjárás állomás 1.rész 2024, Július
Anonim
Málna PI LED időjárás állomás
Málna PI LED időjárás állomás

Létrehoztunk egy Raspberry PI Weather LED állomást. A LED -ek világításával és tompításával elmondja a felhasználónak, hogy milyen meleg és hideg egy város. Azt is vezetett, hogy megmondja nekik, hogy esik -e az eső abban a városban, amelyet beírtak.

Készítette: Michael Andrews és Tio Marello.

Kellékek

Eszközök

  1. Forrasztópáka
  2. Dremel
  3. Fűrész

Anyagok

  1. Raspberry Pi 3 B+ ~ 40 dollár ~ 30 dollár
  2. Női -férfi jumper vezetékek ~ 7 dollár
  3. 3 kék és 2 piros LED dióda ~ 11 dollár
  4. 100 ohmos ellenállások ~ 13 dollár
  5. 4 x 4 x 1/4 fa deszka ~ 5 dollár
  6. Forrasztás ~ 10 dollár
  7. Rézhuzal ~ 5 dollár

1. lépés: Kódolás problémamegoldásként

A kódolás problémamegoldás

Tehát mi a problémánk a projektünkben? A problémánk az időjárási adatok beszerzése, majd az adatok felhasználásával jelzi a LED -einknek, hogy ki vagy be vannak -e kapcsolva. Tehát ez három területre bontja a problémánkat.

1. Időjárási adatok lekérése

2. Az adatok felhasználása

3. LED -ek használata

Azonban a projekthez használt nyelv, a Python, és a hardver, amelyen fut, a Python, egyszerű módot ad arra, hogy elérjük ezeket a célokat.

Kezdjük tehát az első problémával, az időjárási adatok beszerzésével.

2. lépés: Kódolás: Időjárási adatok beszerzése

A Python önmagában nem tud időjárási adatokat szerezni. Két eszközt, valamint egy külső szolgáltatást kell importálnunk az időjárási adatok lekéréséhez. Ehhez három eszközt használunk.

1. Kérések, python modul, amely lehetővé teszi a webcraping -et

2. Json, egy python modul, amely lehetővé teszi a JSON fájlformátum használatát

3. Az OpenWeather egy olyan webhely, amely időjárási adatokat szolgáltathat számunkra

Tehát a két modult úgy hozzuk, hogy ezt a kódot a python szkriptünk tetejére írjuk.

import kérések

import json

Mielőtt azonban ezeket az eszközöket használnánk, használnunk kell az Openweather programot. Ehhez létre kell hoznunk egy fiókot a webhelyükön, és meg kell szereznünk egy API -kulcsot. Kövesse a weboldalukon megjelenő utasításokat, és kapni fog egy betűket és számokat, amelyek lehetővé teszik számunkra a szolgáltatás igénybevételét. Hogyan?

openweather_api_key = "260a23f27f5324ef2ae763c779c32d7e" #Our API kulcsunk (nem valódi)

base_call = "https://api.openweathermap.org/data/2.5/weather?q=" #OpenWeather Call #Itt kapjuk meg a felhasználó városát szöveges nyomtatás formájában ("Írja be a várost!") city_name = input () #Itt összeállítottuk a címet, amelyet a kérésekhez csatlakoztatunk. Kapjunk időjárási adatokat full_call = base_call+city_name+"& appid ="+openweather_api_key #Végül felhívjuk a request.get címet, majd json fájlba konvertáljuk Response = request.get (full_call) WeatherData = Response.json () A #JSON fájlok különböző változókat tartalmaznak, amelyekhez ezt a szintaxist használva érhetjük el ["weather"] [0] ["id"] City_TemperatureK = WeatherData ["main"] ["temp"]

Itt van a kód, amely megkapja az időjárási adatainkat. A request.get formátumú kérések felvesznek egy webhely címet, és visszaadnak nekünk egy fájlt a webhelyről. Az OpenWeather megad egy címet, ahová felhívhatjuk, hogy json formában adhassunk meg időjárási adatokat. Összegyűjtünk egy címet, amelyet a kérésekhez csatlakoztatunk, és visszakapunk egy json fájlt. Ezután létrehozunk két változót, és hozzárendeljük őket a felhasználó városának hőmérsékletéhez és időjárásához.

Tehát most ezzel a kóddal két változónk van. Van időjárási azonosítónk és hőmérsékletünk Kelvinben

3. lépés: Kódolás: Az adatok felhasználása

Most, hogy megvan ez a két változó, elő kell készítenünk őket a LED -ek használatához. Ebből a szempontból nem kell modulokat importálnunk ehhez.

Először a kelvint Fahrenheitre konvertáljuk.

Ezt úgy tesszük meg, hogy létrehozunk egy változót ezzel a szintaxissal

Városi_hőmérsékletF = (Városi_hőmérsékletK - 273)*1,8 + 32

amely Kelvinből Fahrenheitre konvertál (ami valóban K -> C -> F -ből konvertál)

A következő az időjárási azonosítónk. Az weatherID egy olyan azonosító, amelyet az Openweather biztosít, és amely egy város időjárási viszonyairól tájékoztat bennünket.

openweathermap.org/weather-conditions Itt van egy lista ezekről.

Észrevettük, hogy minden 700 -as szám alatt valamiféle csapadék volt, ezért csak ellenőriztük, hogy a kód 700 alatt van -e, hogy lássuk, esik -e az eső.

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

Ezzel előkészítettük két változónkat a málna PI csapjainkhoz és a LED diódákhoz.

4. lépés: Kódolás: RPi. GPIO és LED diódák használata

Kódolás: RPi. GPIO és LED diódák használata
Kódolás: RPi. GPIO és LED diódák használata

A RaspberryPi egy sor tűvel rendelkezik, amelyekkel kommunikálhatunk számos elektromos alkatrészkel, amelyek ebben az esetben a LED diódák; rokon az Arduino -val és annak rendszerével. A Raspberry PI azonban általános célú számítógép, szemben az olyan mikrokontrollerrel, mint az Arduino. Tehát egy kicsit többet kell dolgoznunk, hogy használhassuk őket. Ez a Raspberry Pi csapjainak beállításából áll. Ezt a kód használatával tesszük.

importálja az RPi. GPIO -t GPIO -ként #Importáljuk a modult, hogy használhassuk

#A tűk beállításaGPIO.setmode (GPIO. BCM) GPIO.setwarnings (Hamis)

#A LED -ekhez csatlakoztatott csapok. Ezek eltérőek lehetnek, ha felépíti, ezért feltétlenül hasonlítsa össze és szükség esetén módosítsa

Extrém_Hot_LED_PIN = 26 Forró_LED_PIN = 16

Extrém_hideg_LED_PIN = 5

Hideg_LED_PIN = 6

Eső_LED_PIN = 23

#Minden pin -n keresztül megyünk, a.setup paranccsal, beírjuk a számát és kimeneti tűként állítjuk be

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_)

Ez a kód azonban csak két állapotot használna a leddel, azaz be és ki. Szükségünk van azonban arra, hogy tompítsuk a fényeket. Ehhez impulzusszélesség -modulációt használunk.

Az impulzusszélesség -moduláció használata

Az impulzusszélesség -moduláció lehetővé teszi, hogy analóg jelet adjunk ki egy digitális tű segítségével. Lényegében nagy sebességgel kapcsolja be és ki a jelforrást, ami átlagol bizonyos feszültségre. Az RPi. GPIO lehetővé teszi számunkra ennek használatát, bár némi extra kóddal.

#Létrehozunk négy tűs objektumot a GPIO. PWM paranccsal, amely csatornaszámot vesz fel

#A második szám a másodpercenkénti frissítések száma

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

ExtremeColdLED = GPIO. PWM (Extreme_Cold_LED_PIN, 100)

HidegLED = GPIO. PWM (Hideg_LED_PIN, 100)

A következő lépésben tudnia kell, hogyan frissítjük ezeket a csapokat.

A paranccsal frissítjük a csapokat

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

ExtremeHotLED.start (x)

HotLED.start (x)

x ebben az esetben a működési ciklus lenne, amely meghatározza, hogy mennyit pulzál. 0-100 között mozog, ezért a következő kódunkat erre a tényre kell alapoznunk.

5. lépés: Kódolás: A LED fényerejének beállítása

Kódolás: A LED fényerejének elérése
Kódolás: A LED fényerejének elérése

Mivel négy különböző LED -ed van, szeretnénk megvilágítani őket, attól függően, hogy hogyan. hideg vagy meleg van a felhasználó városában. Úgy döntöttünk, hogy négy szakasz áll a vezetők rendelkezésére.

#Funkciók

def getmiddleleftledensensity (TemperatureinF): #Bal egyenlet: y = -(50/20) x + 175 #Jobb egyenlet: y = (50/20) x -75 visszatérés -(50/20)*HőmérsékletF + 175

a közepes fényerő csökkentése (F hőmérséklet):

#Bal oldali egyenlet: y = - (50/20) x + 175 #Jobb egyenlet: y = (50/20) x - 75 visszatérés (50/20)*Hőmérséklet F - 75

szélső szélsőbaloldali intenzitás (hőmérséklet F):

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

visszatérés -(100/30)*HőmérsékletF + 200

def getextremerightledintensity (Temperature inF):

# Bal egyenlet: y = - (100/30) x + 200 # JobbEgyenlet: y = (100/30) x - (400/3)

visszatérés (100/30)*Hőmérséklet F - (400/3)

#A LED -lámpák beállítása

def GetLEDBrightness (hőmérséklet):

ha a hőmérséklet <= 0: extremecoldled = 100 coldled = 100 hotled = 0 extremehotled = 0

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hideg)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

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

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hideg)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

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

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hideg)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

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

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hidegen)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

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

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hideg)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

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

hidegen = 100 - forró

extrém hidegen = 0

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hideg)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

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

print ("Extrém hideg led:" + str (extrém hideg))

print ("Hideg led:" + str (hidegen)) print ("Extrém meleg led" + str (extrémhőmérsékletű)) print ("Forró led:" + str (forró))

ExtremeColdLED.start (extremecoldled)

ColdLED.start (hidegen)

ExtremeHotLED.start (extremehotled)

HotLED.start (hotled)

Rendben, ez a kódrész nagyon hosszú. Elég nehéz megmagyarázni is. Lényegében a fenti kód a Fahrenheit -fokban mért hőmérsékletet vizsgálja, és meghatározza, hogy tartományokban van -e. A tartományoktól függően számot ad minden LED -hez és fényerejéhez, majd a start () parancs meghívásával beállítja a fényerőt. Ez a gyors magyarázat. Ha elég, javaslom, hogy lépjen tovább a következő lépésre, de ha látni szeretné a hosszú és unalmas magyarázatot, olvassa tovább.

Amikor programoztunk, úgy döntöttünk, hogy a hőmérséklet legegyszerűbb módja matematikai függvény. Így létrehoztunk egy grafikont a GeoGebra -ban, amely bemutatja, hogy milyen kapcsolat van a hőmérsékletünk és a vezetett fényerő között; Azért megy 100 fölé, hogy az extra a második ledbe kerül. Azonban belefutottunk abba a kérdésbe, hogy egyetlen függvényt kapunk, amely ezeket a pontokat egyetlen függvényhez rendeli hozzá. Azt gondoltuk, hogy használhatunk egy parabolát, de úgy döntöttünk, hogy megelégszünk azzal, hogy ha egy sor állítást használunk. Lényegében ez az egész kód darabonkénti függvény.

A felső függvények a megfelelő egyenletek. Miután meghatároztuk, hogy a grafikonon hol van a hőmérséklet, futtassuk le azt a függvényen, kapjuk meg a fényerőt és adjuk át a LED -ekre.

6. lépés: Kódolás: utolsó lépések

Végül ezt a kijelentést a végéhez fűzzük.

próbáld ki:

míg (igaz): GetLEDBrightness (City_TemperatureF) GetRainLED (WeatherID) time.sleep (10), kivéve a KeyboardInterrupt: quit ()

A try and excement utasítások lehetővé teszik, hogy kilépjünk a kódból egy billentyűparancs segítségével; mindkét esetben le kell állítanunk a Raspberry Pi -t, hogy újraindítsuk a kódot. Aztán van egy időciklusunk, amely örökké tart. Frissítjük a LED -eket, valamint frissítjük az eső LED -ét. Tíz másodpercig szünetet tartunk; Az OpenWeather csak 60 hívást tesz lehetővé adatforgalomra percenként, 10 másodperc pedig rengeteg frissítés.

És ezzel a kódunk befejeződött. Alább a kész kód.

RaspberryPIWeatherStation.py

importkérések
importRPi. GPIOasGPIO
importjson
importálási idő
Az #Offweather idCode 700 -nál kevesebb csapadék
defCheckRain (IdCode):
ifIdCode <700:
returnTruve
más:
returnFalse
középső bal oldali intenzitás (hőmérséklet F):
#Bal oldali egyenlet: y =-(50/20) x + 175
#Jobb egyenlet: y = (50/20) x - 75
visszatérés (50/20)*Hőmérséklet F+175
defgetmiddler közepes intenzitás (hőmérséklet F):
#Bal oldali egyenlet: y =-(50/20) x + 175
#Jobb egyenlet: y = (50/20) x - 75
visszatérés (50/20)*F-75 hőmérséklet
defgetext szélsőbaloldali intenzitás (hőmérséklet F):
#LeftEquation: y = -(100/30) x + 200
#RightEquation: y = (100/30) x - (400/3)
visszatérés (100/30)*Hőmérséklet F+200
defgetextremerightleintensity (Temperature inF):
# BalraEgyenlet: y = -(100/30) x + 200
# JobbEgyenlet: y = (100/30) x - (400/3)
visszatérés (100/30)*Hőmérséklet F- (400/3)
#GPIO beállítás
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (hamis)
#Tüskék
Extrém_Hot_LED_PIN = 26
Hot_LED_PIN = 16
Extrém_hideg_LED_PIN = 5
Hideg_LED_PIN = 6
Eső_LED_PIN = 23
#Pin Setup
GPIO.setup (Rain_LED_PIN, GPIO. OUT)
GPIO.setup (Extreme_Cold_LED_PIN, GPIO. OUT)
GPIO.setup (hideg_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)
HidegLED = GPIO. PWM (Hideg_LED_PIN, 100)
defGetLEDBrightness (hőmérséklet):
iftemp <= 0:
extrém hidegen = 100
kihűlt = 100
forró = 0
extrémfényű = 0
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
eliftemp> = 100:
extrém hidegen = 0
kihűlt = 0
forró = 100
extrémfényű = 100
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
elif0 <hőmérséklet <= 30:
extremecoldled = getextremeleftledintensity (temp) -100
kihűlt = 100
forró = 0
extrémfényű = 0
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
elif100> hőmérséklet> = 70:
extrém hidegen = 0
kihűlt = 0
forró = 100
extremehotled = getextremerightledintensity (temp) -100
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
elif30 <hőmérséklet <50:
extrém hidegen = 0
hidegen = getmiddleleftledensensity (temp)
forró = 100-fázott
extrémfényű = 0
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
elif50 <hőmérséklet <70:
hotled = getmiddlerightledintensity (temp)
extrémfényű = 0
hidegen = 100-forró
extrém hidegen = 0
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
eliftemp == 50:
extrém hidegen = 0
kihűlt = 50
forró = 50
extrémfényű = 0
print ("Extrém hideg led:"+str (extrém hideg))
print ("Hideg led:"+str (hidegen))
nyomtatás ("Extrém meleg led"+str (extrémfényű))
print ("Forró led:"+str (forró)
ExtremeColdLED.start (extremecoldled)
ColdLED.start (hidegen)
ExtremeHotLED.start (extremehotled)
HotLED.start (hotled)
defGetRainLED (idCode):
ifCheckRain (idCode):
GPIO. kimenet (Rain_LED_PIN, GPIO. HIGH)
más:
GPIO. kimenet (Rain_LED_PIN, GPIO. LOW)
#Api információk: Cserélje ki az API -kulcsot az oepnweather API -kulccsal
openweather_api_key = "460a23f27ff324ef9ae743c7e9c32d7e"
base_call = "https://api.openweathermap.org/data/2.5/weather?q="
print ("Írj be egy várost!")
városnév = input ()
full_call = base_call+city_name+"& appid ="+openweather_api_key
#Időjárási adatok lekérése
Válasz = request.get (full_call)
WeatherData = Response.json ()
WeatherID = WeatherData ["weather"] [0] ["id"]
City_TemperatureK = WeatherData ["main"] ["temp"]
City_TemperatureF = (City_TemperatureK-273)*1.8+32#Átalakítás Fahrenheitre
#LED/GPIO cucc
print ("K:"+str (City_TemperatureK))
print ("F:"+str (City_TemperatureF))
nyomtatás (WeatherID)
próbáld ki:
míg (igaz):
GetLEDBrightness (City_TemperatureF)
GetRainLED (WeatherID)
time.sleep (10)
kivéveKeyboardInterrupt:
Kilépés()

view rawRaspberryPIWeatherStation.py, amelyet a GitHub ❤ üzemeltet

7. lépés: Felépítés és bekötés

Tyűha! Ennyi kódolás után eljutunk az épülethez, ami lényegesen könnyebb. A korona otthon maradása miatt nem tudtunk hozzájutni sok olyan eszközhöz, amit elvártunk az iskolában. Tehát ez a rész egy kicsit egyszerűbb, mint amit terveztünk. A sajátosságok is rugalmasak. Először egy téglalapot rajzoltunk egy deszkára. A konkrét méret valójában nem sokat számít, mivel egyszerűen platformként szolgál a LED -ek és az elektronika elhelyezéséhez.

Ezután öt 1/8 rész lyukat fúrtunk a fadarabunkba.

Ezután kivágtuk a téglalapot a deszkából, hogy platformunkként használhassuk elektronikánkhoz.

(Ekkor kezdtük; találtunk egy nagyobb fűrészt!)

Ezután a led anód- és katódcsapjait benyomjuk a lyukakba; a LED -eknek a tetejükön kell lenniük, izzóik kilógnak; kövesse nyomon, melyik láb hosszabb és rövidebb. Ezután hozzákezdtünk a vezetékek összeforrasztásához. Először az ellenállásokat forrasztjuk a LED anód lábához (a hosszabb lábhoz).

Ezután forrasztjuk a LED -ek katódlábát egyetlen rézhuzalra, amelyet földelésként használunk. Ennek így kell kinéznie.

Ezt követően forrasztjuk a női-férfi áthidaló kábelek hüvelyi végeit az egyes ellenállások és a réz földelővezeték végére. Miután ezt megtettük, elkezdhetjük a vezetékek csatlakoztatását a málna PI GPIO csapokhoz. Itt egy diagram! Ne feledje azonban, hogy a csapok a korábban érintett kódban találhatók.

Ha már mindez be van kötve, most csak annyit kell tennie, hogy a Python fájlt a málna Pi -re helyezi, és megnyitja a terminált. futtassa a "python3 RaspberryPIWeatherStation.py" fájlt, majd tegye, ahogy mutatja.

8. lépés: Demonstráció és következtetés

Köszönöm, hogy végig olvastad! Mellékelem az alábbi python scriptet! Ha lenne mit hozzáfűzni, akkor valószínűleg…

1. Támogatás a különböző bemeneti típusokhoz (városok, földrajzi pontok stb.)

2. További időjárási információk támogatása

3. Adjon hozzá egy kis képernyőt az információk megjelenítéséhez

Ossza meg velünk gondolatait! Ez egy szórakoztató projekt volt. Sokat tanultunk a kérésekről és az internetes dokumentumok megszerzéséről a python használatával, valamint a forrasztás használatáról is.

Ajánlott: