Tartalomjegyzék:
- Kellékek
- 1. lépés: A Raspberry Pi beállítása
- 2. lépés: Az Enviro PHAT beállítása
- 3. lépés: Az IFTTT -fiók/kapcsolat beállítása
- 4. lépés: A szkript szerkesztése
- 5. lépés: A szkript használata
- 6. lépés: Kész
Videó: A baba hűvös tartása ezen a nyáron - a buta rajongók irányítása okos dolgokkal!: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Két héttel ezelőtt, amikor ezt írtam, apa lettem egy hihetetlen kisfiúnak!
Az évszakok változásával, a nappalok hosszabbodásával és a hőmérséklet melegedésével úgy gondoltam, jó lenne, ha valamilyen monitor lenne az óvodában, hogy ellenőrizze, milyen meleg van ott!
Az évek során nem sok pythonnal foglalkoztam, de szerettem volna visszatérni az egyetemi első évem óta, közel 5 évvel ezelőtt! Emiatt úgy gondoltam, hogy jobb lenne dokumentálni, amit tettem, hogy később segítsen nekem, és segítsen bárkinek, aki ugyanezt akarja tenni!
A Raspberry pi, az Enviro pHAT és az intelligens TP-link kasa dugó segítségével az IFTTT keretrendszer segítségével vezérelheti a dugókat! ez nagyon egyszerű, és akár módosíthatja is ezt az áttekintést, hogy bármit vezérelhessen különböző érzékelőkön és különböző eszközökön keresztül! Remélem, hasznosnak találja ezt. Ha tetszik ez az oktatható, ne felejtse el szavazni a beküldésemre az érzékelők versenyében!: D (elnézést a kérdésért), most először csinálom ezt, és szeretném, ha minden esélyem lenne arra, hogy nyerjek valamit.
** SZERKESZTÉS ** Az elkövetkező napokban megvizsgálom, hogy ezeket az adatokat egy Grafana táblára továbbítom -e, ha úgy gondolja, hogy ez jó lenne, tudassa velünk!: D
Menjünk rögtön bele…
Kellékek
- Bármelyik Raspberry pi megteszi, de én a Zero W -t választottam, mivel ezt kellett leadnom a sorsolásomban, és a legkisebb formatervezési tényező is van, alapértelmezés szerint engedélyezve a WiFi! - Málna PI Zero w
- SD kártya, mindenkinek más a preferenciája ezekkel kapcsolatban, de én ezek közül egyet használtam! - Micro-SD kártya
- Ha elakad, itt van a hivatalos támogatott dokumentáció az SD -kártyákról -hivatalosan támogatott SD -kártyákról
- Átkötő vezetékek (később elmagyarázzuk) - Jumper vezetékek
- Enviro pHAT minden dicsőséges érzékelőhöz! - Envrio-pHAT
- Egy okos dugó, a TP-Link-et választottam, mivel nincs szüksége divatos hubokra, hogy működjön a doboz! - Okos dugó!
- Egy buta ventilátor az irányításhoz, bármilyen ventilátort használhat, most találtam egy ventilátort az amazonon, de minden fali konnektor ventilátor jól fog működni - Dumb ventilátor
- Forrasztópáka, de ha nem szeretné használni a forrasztópáka, akkor kattintson a fejlécekre a PI és a pHAT számára-GPIO-kalapácsfej
Ahhoz, hogy a kapcsolat a TP-links kasa és az IFTTT között működjön, az utasítás végrehajtása előtt létre kell hoznia egy TP-link kasa és IFTTT fiókot. Amikor megkapja a TP-link intelligens csatlakozót, az intelligens csatlakozóhoz mellékelt utasítások végigvezetik a beállítási folyamaton, beleértve a dugó elnevezését és annak alapvető funkcióit
Ha megvan az összes bevásárlólista, ideje összeszerelni az összeset!
1. lépés: A Raspberry Pi beállítása
Szerezze be a legújabb és legnagyobb Raspbian-képet, az egyszerűbb verzió jól fog működni, ha nem jobb a nulla w-nál! -
Írja be ezt a képet az SD -kártyára, ehhez olvasóra és képalkotóra lesz szükségem, én etcher -t használok -
Wifi beállítása (opcionális) Ha a PI beépített WIFI -vel rendelkezik, miért nem állítja be most, hogy később elkerülje a konzolokkal kapcsolatos sok zűrzavart!
Miután a pi -t leképezték, a meghajtó kilökődött. Húzza ki és csatlakoztassa az SD -kártyát, hogy a készülék újra felismerje. Meg kell jelennie egy rendszerindító partíciónak.
Hozzon létre egy üres fájlt wpa_supplicant.conf a pi rendszerindító partíciójában, helyezze ide az alábbi fájlt:
hálózat = {
ssid = "YOUR_SSID" psk = "YOUR_WIFI_PASSWORD" key_mgmt = WPA-PSK}
Az SSH engedélyezése a választott PI -n (opcionális)
Alapértelmezés szerint a tiszta Raspbian képen az ssh ki van kapcsolva. Indítania kell a rendszert, csatlakoztatnia kell a billentyűzetet és a kijelzőt a Pi -hez, majd engedélyeznie kell az ssh -t. Ez a lépés engedélyezi az ssh -t az első indításkor. A rendszerindítási partícióban hozzon létre egy új fájlt ssh néven. Egy üres fájl pontosan ezzel a névvel.
Miután elvégezte ezeket a két opcionális lépést, a PI automatikusan csatlakozik a WIFI -hez, és alapértelmezés szerint engedélyezve van az SSH.
Miután elkészítette és konfigurálta a micro-SD kártyát, behelyezheti azt a PI-be vagy a választásba, és bekapcsolhatja!
A PIO frissítése Miután elindította a PI -t, a vezeték nélküli útválasztók beállításai között megtalálhatja az Ön IP -címét. A legtöbb útválasztó eltér egymástól, ezért nehéz lenne ehhez útmutatót írni!
Miután megkapta a PI IP -címét, csatlakozzon SSH -n keresztül, és jelentkezzen be az alábbiak szerint:
Felhasználónév: pi
Jelszó: málna
Miután aktív SSH -munkamenetet hajtott végre a PI -vel, frissíteni szeretné, egyszerűen futtassa az alábbit a megfelelő Y vagy N billentyűvel a frissítés során:
sudo apt-get update
sudo apt-get upgrade
Mindig jó újraindítani a PI -t az új frissítések telepítése után, hogy megbizonyosodjon arról, hogy a legújabb frissítésekkel újra fut, ez elérhető
sudo reboot -n
Most kész a PI, ideje továbblépni a következő lépésre!
2. lépés: Az Enviro PHAT beállítása
Az Enviro pHAT bekötése
Ha már naprakészen van a pi -je, csatlakoztathatja az Enviro pHAT -ot a kívánt PI -hez!
*** Annak érdekében, hogy ne károsítsa a PI -t vagy a pHAT -ot, először kapcsolja ki ***
Itt az áthidaló vezetékeket használtam, mert termikus lemosást kaphat, ha a CPU felmelegszik az Enviro pHAT alatt. Ez az extra hő megváltoztathatja a későbbi hőmérséklet -értékeket. Emiatt 5 jumper vezetéket használtam az alábbi csapokon:
- 3. tű - GPIO2 (SDA I2C)
- 5. tű - GPIO3 (SCL I2C)
- 7. tű - GPIO4
- 6. csap - Földelés
- Tű 4 - 5V
Kérjük, ellenőrizze a bekötési rajzot a lépés tetején vizuális hivatkozás céljából, vagy az alábbi linket:
pinout.xyz/pinout/enviro_phat
(elnézést a silány festésért)
A pHAT bekötésekor győződjön meg róla, hogy megfelelően van beállítva, különben károsíthatja azt !!! Ehhez az enyém volt beállítva, így az ANALOG IN fejlécek az SD kártya foglalat felé néznek, ezt később megfordították a képeimen, hogy szorosan illeszkedjen a "hordozóba".
A függőségek telepítése
Kapcsolja vissza a PI -t, és kapcsolja vissza az SSH -t
Miután visszatért a PI -hez, futtassa az alábbiakat az Enviro pHAT számára szükséges csomagok és szoftverek telepítéséhez:
curl https://get.pimoroni.com/envirophat | bash
Ügyeljen arra, hogy szükség esetén nyomja meg az Y vagy az N billentyűt.
A telepítés befejezése után indítsa újra a PI -t …
sudo reboot -n
A pHAT tesztelése
Annak érdekében, hogy a pHAT megfelelően legyen bekötve, bemehet egy python modulba, és futtathat néhány parancsot a PI visszaállításával és a python begépelésével, és írja be egyszer az alábbi parancsot:
a környezeti import időjárástól
nyomtatás (weather.temerpature ())
Ennek az alábbi leolvasást kell mutatnia:
>> a környezeti import időjárástól
>> nyomtatás (időjárás.hőmérséklet ()) 24.0806166987
Hibaelhárítás
Ha valami hibát észlel az alábbiak szerint:
Traceback (a legutóbbi hívás utolsó): "" fájl, 1. sor, a "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py" fájlban, 134. sorban, self.update () File fájlban /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", 169. sor, frissítésben, ha self._read_byte (REGISTER_CHIPID) == 0x58: # check sensor id 0x58 = BMP280 File"/usr/lib/ python2.7/dist-Packages/envirophat/bmp280.py ", 116. sor, _read_byte visszatérés self.i2c_bus.read_byte_data (self.addr, register) IOError: [121-es hiba] Távoli I/O hiba
Ezután futtathatja:
sudo i2cdetect -y 1
Ez diagnosztikai ellenőrzést végez a kapcsolatokon/vezetékeken, és az alábbiakra vágyik:
pi@raspberrypi: ~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - - 10: - - - - - - - - - - - - - - 1d - - 20: - - - - - - - - - - 29 - - - - - - 30: - - - - - - - - - - - - - - - - 40: - - - - - - - - - 49 - - - - - - 50: - - - - - - - - - - - - - - - - - 60: - - - - - - - - - - - - - - - - 70: - - - - - - - 77
Ha nem, akkor vissza kell mennie, és újra ellenőrizni kell a kábelezést, ellenőrizze a kapcsolási rajzot, és próbálja újra!
A pi-baby-cooler.py szkript telepítése
Ha minden rendben van, és sikeres volt a hőmérséklet-leolvasás, akkor folytathatjuk a baby-cooler.py csomag telepítését!
Mivel az utasítások kezelik a hivatkozásokat, a fenti lépés fejlécéhez csatoltam a.py szkriptet … Ennek másolásához a PI -hez javaslom a WinSCP használatát:
winscp.net/eng/download.php
A WinSCP népszerű SFTP- és FTP -ügyfél a Microsoft Windows számára! Fájl másolása helyi számítógép és távoli szerverek között FTP, FTPS, SCP, SFTP, WebDAV vagy S3 fájlátviteli protokollok használatával.
A WinSCP használata egyszerű, egyszerűen csatlakozzon a PI -hez a PI IP -címével, majd húzza át a.py fájlt oda, ahonnan futtatni szeretné, ez a /home /pi.
Most a.py szkript a PI -n van, itt az ideje, hogy továbblépjen az IFTTT -fiók / kapcsolatok beállításához
3. lépés: Az IFTTT -fiók/kapcsolat beállítása
A továbbiakban megvizsgáljuk az IFTTT token beszerzését, amelyet a forró / hideg függvény hívásakor használunk a szkripten belül, hogy csatlakozzunk a kasa csatlakozóhoz, és kapcsoljuk be / ki a ventilátort.
Webhook létrehozása
Lépjen a https://ifttt.com/ oldalra, és hozzon létre egy fiókot, ha még nem rendelkezik ilyennel.
Miután bejelentkezett, a keresősávon belül keressen rá: TP-link kasa
Miután betöltődött, kattintson a szolgáltatások, majd a TP-link kasa elemre. Ezután össze kell kapcsolnia a kasa -fiókját az IFTTT -fiókjával, és a kapcsolat létrehozásához be kell jelentkeznie a kasa -fiókjába az IFTTT -n keresztül.
Fiókja összekapcsolása után kattintson a "Saját kisalkalmazások", majd az új kisalkalmazás, majd a "+ez" gombra, és keresse meg a webhookokat.
Kattintson a "Webes kérés fogadása" lehetőségre a hot eseménytípuson belül hot (ez bármi lehet, de ezt később frissítenie kell a pi-baby-coller.py szkriptben, különben ez nem fog működni, a hot-t használtam kapcsolja be a ventilátort.
Következő lépésként össze kell kapcsolnunk az új aktiválási szabályt a Kasa-fiókjával, kattintson a "+az" gombra, és keressük a kasa-t, kattintsunk a TP-link kasa-ra, majd a "bekapcsolás" -ra, ezután válasszuk ki a bekapcsolni kívánt eszközt, majd kattintsunk a létrehozás gombra. akció. Tekintse át a műveletet, és kattintson a Befejezés gombra, ha helyes.
**********
Ne feledje, ha a "forró" és "hideg" kivételével más eseménynevet választott, ezeket később fel kell jegyeznie, és frissítenie kell a forgatókönyvet! Ellenkező esetben a.py szkript nem fog működni
**********
Miután létrehoztuk az első webes horgot, ismételje meg a folyamatot a "hideg" esetében, de ezúttal a kikapcsolás lehetőséget választja a bekapcsolás helyett a +adott művelet kiválasztásakor.
Miután két esemény webhook van az én kisalkalmazásaim fiókjában, kattintson a szolgáltatásokra, és keresse meg a webhookokat, majd kattintson rá. Itt megjelenik egy dokumentációs gomb (jobb felső sarokban), kattintson rá. Itt találja meg az IFTTT token kulcsát. Míg itt jegyzeteli a kulcsát (később szüksége lesz rá), a képen belül szerkesztettem az enyémet, különben bárki be- vagy kikapcsolhatja az intelligens dugóimat.
A webhook tesztelése
Most létrehoztunk két webhook -ot, amelyek kapcsolódnak a kasa fiókunkhoz, és tesztelhetjük, hogy működnek -e vagy sem!
A PI -n belül a következőket adhatja meg:
curl -X POST
Ahol "forró" felirat van, hozzá kell adni az esemény nevét, ha "forró" -ként hagyta, hagyja ezt. Ahol azt írja /te … ezt le kell cserélned az IFTTT token kulcsoddal. Nyomja meg az Enter billentyűt, és hallani kell az intelligens csatlakozók reléjének kattanását, amikor bekapcsolja a dugót. Ha nem hallja, akkor ellenőrizze a Kasa alkalmazást, és ellenőrizze a dugók állapotát.
Most már telepítve vannak az Enviro pHAT függőségei, és most az IFTTT beállítása, ideje befejezni a kód módosítását.
4. lépés: A szkript szerkesztése
Esemény neve és IFTTT TOKENSVissza a pi-re, léptessen a pi-baby-cooler.py szkript helyére, számomra az /home /pi (saját mappám), és szerkessze a fájlt nano használatával:
nano pi-baba-hűtő.py
A keresőn belül, ahol azt írja, hogy def turn_off ()
def turn_off ():
# Állítsa be a kiváltó szót - pl. "hideg" - és az alábbi IFTTT Webhook token. TRIGGER_WORD = "cold" TOKEN = "YOUR IFTTT TOKEN GOES ITTA" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan off!"):
Ez a funkció kikapcsolja a ventilátort. Ezt úgy teszi meg, hogy webhookot küld az IFTTT -nek, ami a tplink HS100 kikapcsolását eredményezi. Ha az IFTTT -fiókjában az aktiválási műveletet ugyanazon a szinten tartotta, mint a „hideg”, akkor hagyja ezt be, és cserélje ki a webhooks dokumentációból korábban kapott jogkivonatot. Ha másik eseménynevet választott, akkor cserélje ki ezt a szót itt.
Az IFTTT jogkivonat beillesztése után lépjen a következő szakaszba, ahol def turn_on () szerepel
def turn_on ():# Állítsa be a kiváltó szót - pl. "hot" - és az alábbi IFTTT Webhook token. TRIGGER_WORD = "hot" TOKEN = "A IFTTT TOKEN IDE KERÜL" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan on!")
Ez a funkció a kikapcsolás fordítottja, bekapcsolja a TP-link intelligens csatlakozót!
Ha az aktiválási műveletet az IFTTT -fiókjában ugyanazon a szinten tartotta, mint a „forró”, akkor hagyja ezt be, és cserélje ki a webhooks dokumentációból korábban kapott jogkivonatot. Ha másik eseménynevet választott, akkor cserélje ki ezt a szót itt.
Minden más már be van kódolva, így nem kell változtatnia a kódon, a TRIGGER_WORD, TOKEN és néhány beállításon a következő hőmérsékleten!
A hőmérsékletek megváltoztatása
Ezután keresse meg azt a helyet, ahol ez szerepel: # Helyi változók.
try: # Helyi változók. állapot = 0 # Beállítja a kapcsoló állapotát alacsony = 20 # Alacsony érték a hőmérsékleti szinthez (Celsius). magas = 24 # Magas hőmérsékleti érték (Celsius). periódus = 120 # Késleltetés másodpercben a hívások között.
Az állapotváltozó azt jelenti, hogy a pi tudja, hogy a dugó be van -e kapcsolva, vagy nem, ezt később frissítik, ha túl meleg lesz (24+*c, majd az állapot később 1 -re változik), ez szintén ki fog kapcsolni a webhook számára, és kapcsolja be az okos csatlakozót!
Az alacsony változó az, hogy mennyire hűvös akarok lenni a helyiségben, mielőtt a dugót kikapcsolják. Ha szeretné melegebbé tenni a szobát, egyszerűen állítsa ezt magasabb értékre. Ha hűvösebbre szeretné, csökkentse az értéket.
A magas változó az a maximális hőmérséklet, amelyet a helyiségnek el kell érni, mielőtt a ventilátor bekapcsol, és elkezdi lehűteni a helyiséget. Ha azt szeretné, hogy a ventilátor bekapcsoljon ezt megelőzően, akkor egyszerűen csökkentse az értéket, vagy ha melegebbet szeretne, akkor növelje az értéket.
A periódusváltozó a hőmérséklet -ellenőrzés közötti időtartam másodpercben. Ha azt szeretné, hogy a pi szkript ritkábban ellenőrizze, majd magasabb, ha le szeretné rövidíteni az időt, csökkentse a számot.
Miután elvégezte a módosításokat, mentse és lépjen ki a nano -ból
CTRL + x
5. lépés: A szkript használata
A szkript helyi futtatása
A szkript futtatásának néhány módja van, csatlakozhat SSH -n keresztül, és beírhatja a következőt:
sudo python /pi-baby-cooler.py
Ez a szkriptet igény szerint futtatja, ez csak addig működik, amíg aktív SSH -munkamenet van a PI -hez. A másik módszer a képernyő használata, a képernyő alapértelmezés szerint nincs telepítve, ezért sudo apt telepítési képernyőt kell használni.
Itt van egy nagyszerű bemutató a képernyő megfelelő használatáról:
A képernyő vagy a GNU képernyő egy terminál multiplexer. Más szavakkal, ez azt jelenti, hogy elindíthat egy képernyő -munkamenetet, majd megnyithat tetszőleges számú ablakot (virtuális terminált) az adott munkameneten belül. A képernyőn futó folyamatok akkor is futnak, ha az ablakuk nem látható, még akkor sem, ha lekapcsolódik.
Automatizálás a rendszerindításhoz
A másik módszer az indítófájl szerkesztése az /etc/rc.local mappában, ehhez nano -t kell használni.
sudo nano /etc/rc.local
A fájl szerkesztésével a szkript rendszerindításkor fut. Ez azt jelenti, hogy a PI bekapcsolásakor mindig futni fog, így a szkripteim 90% -át más PI -ken is futtatom.
Ha az rc.local -t használta, akkor futtassa az alábbi parancsot, hogy ellenőrizze, mi fut jelenleg a PI -n. Ez hasznos a későbbi hibaelhárításhoz, hogy lássa, működik -e egyáltalán a szkript vagy sem:
ps -aef | grep python
6. lépés: Kész
Nos … Köszönöm, ha még mindig itt van, és elérte ezt a pontot!
Bocsánat, hogy elég hosszú volt, ez volt az első tanulságos, és nem voltam biztos benne, hogy mit írjak le.
Amint az elején említettem, ennek az utasításnak számos különböző alkalmazása van, amelyek hő segítségével intelligens dugót indítanak el! a ház/lakás/lakás/garázs/fészer bármelyik helyiségét lehűtheti. Az IFTTT-t akár úgy is módosíthatja, hogy bármilyen intelligens eszközt elindítson, amely IFTTT-n keresztül vezérelhető, nem csak TP-link kasa eszközöknek kell lennie.
Szeretném hallani, ha kipróbálta ezt az oktatóanyagot, vagy ha érdekesnek találta, kérjük, hagyjon megjegyzést alább!
Ha bármilyen kérdése van, feltétlenül hagyja alább, és megpróbálok válaszolni rájuk!
Második hely az érzékelők versenyében
Ajánlott:
Maradjon melegen ezen a télen: CPU kézmelegítő: 4 lépés (képekkel)
Maradjon melegen ezen a télen: CPU kézmelegítő: Ebben a kis projektben megmutatom, hogyan alakítottam át egy régi AMD CPU -t egy kicsi, könnyű és könnyen használható elektromos kézmelegítő létrehozásához. Egy kis hordozható tápegység segítségével ez a modul körülbelül két és fél órán keresztül felmelegít, és megkönnyíti a
Maradjon hűvös ezen a nyáron: PC Fan Mod: 4 lépés (képekkel)
Maradjon hűvös ezen a nyáron: PC Fan Mod: Kinek nincs tucatnyi PC rajongója? Ebben a konstrukcióban megmutatom, hogyan használhatja ezeket a ventilátorokat, hogy kellemes, állítható szél fújjon a forró nyári napokon. És legalább 4 órát üzemel normál 9V -os akkumulátorral
Facebook rajongók száma: 5 lépés (képekkel)
Facebook rajongók száma: Frissítés: 2019.09.26. - Repül az idő és változnak a technológiák. Mióta létrehoztam ezt a projektet, a Facebook megváltoztatta API -jait és APP -beállításait. Tehát a Facebook APP létrehozásának lépése lejárt. Ma már nincs hozzáférésem vagy lehetőségem követni ezt a lépést
Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével: 10 lépés
Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED-csészével: Projektszint Nehézségi fok: Középfokú Szükséges készségek:- Diagram olvasása és másolása- Forrasztás, ha úgy dönt, hogy nem vásárol előre forrasztott alkatrészeket Projekt Bevezetés Az Egyesült Államokban és a világ minden táján az alkohol súlyos egészségügyi veszélyt jelentett
Hogyan készítsünk RC légcsónakot! 3D nyomtatott alkatrészekkel és egyéb dolgokkal: 5 lépés (képekkel)
Hogyan készítsünk RC légcsónakot! 3D nyomtatott alkatrészekkel és egyéb dolgokkal: A légi csónakok nagyszerűek, mert nagyon élvezetesek vezetni, és többféle felületen is dolgoznak, például víz, hó, jég, aszfalt vagy bármi más, ha a motor elég erős. A projekt nem túl bonyolult, és ha már megvan az elektron