Tartalomjegyzék:

Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Taskerrel, Ifttt integrációval: 15 lépés (képekkel)
Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Taskerrel, Ifttt integrációval: 15 lépés (képekkel)

Videó: Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Taskerrel, Ifttt integrációval: 15 lépés (képekkel)

Videó: Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Taskerrel, Ifttt integrációval: 15 lépés (képekkel)
Videó: The interior atmosphere light belt #LED 2024, Július
Anonim
Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Tasker, Ifttt integrációval
Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Tasker, Ifttt integrációval
Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Tasker, Ifttt integrációval
Wifi által vezérelt 12 V -os LED szalag a Raspberry Pi használatával Tasker, Ifttt integrációval

Ebben a projektben megmutatom, hogyan lehet egy egyszerű 12 voltos analóg led szalagot wifi -n keresztül irányítani egy málna pi segítségével.

Ehhez a projekthez szüksége lesz:

  • 1x Raspberry Pi (Raspberry Pi 1 B+modellt használok)
  • 1x RGB 12v led szalag [Ebay Australia]
  • 3x IRFZ44N N-csatorna Mosfet [Ebay Australia]
  • 1x női DC tápcsatlakozó adapter [Ebay Australia]
  • Néhány vezeték
  • Kijelző, billentyűzet (csak a beállításhoz)

1. lépés: A Raspbian OS telepítése Windows használatával

Telepítse a Raspbian operációs rendszert Windows használatával
Telepítse a Raspbian operációs rendszert Windows használatával
Telepítse a Raspbian operációs rendszert Windows használatával
Telepítse a Raspbian operációs rendszert Windows használatával
Telepítse a Raspbian operációs rendszert Windows használatával
Telepítse a Raspbian operációs rendszert Windows használatával

A Raspbian Windows rendszerre történő telepítéséhez szüksége lesz:

  • Win32 Disk Imager: [Letöltés]
  • Raspbian OS Lite: [Zip], [Torrent]

** FONTOS, ha rosszul csinálja, elveszítheti az összes adatát. Kérjük, készítsen biztonsági másolatot az adatokról, mielőtt folytatja **

  1. Csatlakoztassa az SD -kártyát a kártyaolvasóhoz, és nyissa meg a Sajátgép lehetőséget
  2. Keresse meg a meghajtó betűjét
  3. Kattintson a jobb gombbal a Win32DiskImager elemre, majd kattintson a "Futtatás rendszergazdaként" gombra
  4. Ezután kattintson a kis kék mappára, és keresse meg a RaspbianOS képét
  5. Kattintson az Eszköz alatti legördülő listára, és módosítsa az SD -kártya meghajtóbetűjére
  6. Ezután kattintson az "Írás" gombra
  7. Megnyílik egy párbeszédpanel ELŐTT Az Igen gomb megnyomásával ellenőrizze, hogy a céleszköz helyes -e
  8. Ezután vegye ki az SD -kártyát, és helyezze be a pi -be

2. lépés: A Raspbian OS telepítése Mac OS X használatával

A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával
A Raspbian OS telepítése Mac OS X használatával

A Raspbian Mac -hez történő telepítéséhez szüksége lesz:

  • ApplePi-Baker [Letöltés]
  • Raspbian OS Lite: [Zip], [Torrent]

** FONTOS, ha rosszul csinálja, elveszítheti az összes adatát. Kérjük, készítsen biztonsági másolatot az adatokról, mielőtt folytatja **

  1. Nyissa meg a Lemez segédprogramot, és keresse meg az SD -kártyát a bal oldalon, majd kattintson rá
  2. Keresse meg az "Eszköz" elemet az ablak alján, és valami olyasmit kell látnia, mint a diskXsX, ahol x egy szám
  3. Ne feledje az "Eszköz" számot, és nyissa meg az ApplePi-Baker alkalmazást
  4. Megkérdezi a jelszót, mert formáznia kell az SD-kártyát
  5. Kattintson az "Eszköz" számra, amely a / dev / után található a bal oldalon
  6. Kattintson a "Visszaállítás-mentés" gombra, és keresse meg a RaspbianOS képét.
  7. Elkezdi az SD-kártya törlését és a Raspbian telepítését
  8. Amikor ez megtörtént, megjelenik egy figyelmeztető ablak, amely azt jelzi, hogy eltávolíthatja az SD-kártyát, távolítsa el és helyezze be a pi-be.

3. lépés: A Pi beállítása

A pi bekapcsolása előtt csatlakoztatnia kell egy HDMI -kijelzőt, billentyűzetet és egy Ethernet -kábelt vagy USB -s wifit (ezt a következő lépésben állítjuk be).

Kapcsolja be a pi -t, látni fogja, hogy egy csomó szöveg tölti ki a képernyőt. Ez normális, és része a linux kernel indításának. Csak várj egy kicsit, amíg meglátod

málna bejelentkezés:

A felhasználónév pi, a jelszó pedig málna (a képernyőn nem lát semmit gépelni, de még mindig be van írva)

Majd bejelentkezéskor látni fogja:

pi@málna: ~ $

Akkor be kell írnia:

sudo raspi-config

A képernyőt ezután kék képernyő fogja kitölteni, opciókkal a közepén lévő szürke mezőben,

  1. A fel és le billentyűk segítségével jelölje ki és nyomja meg az Enter billentyűt a "Fájlrendszer kibontása" opción néhány másodperc múlva, és megjelenik egy figyelmeztetés, amely szerint "a gyökér fájlrendszer átméretezett", kattintson az Enter gombra
  2. Ezután nyomja meg a lefelé mutató nyilat, és lépjen a Boot Options (Rendszerindítási beállítások) elemre, majd kattintson az Enter gombra, majd kattintson az Enter gombra, amikor az „Asztal / CLI” van kiválasztva, majd jelölje ki a „Console Autologin” elemet, majd kattintson az Enter gombra.
  3. Ezután válassza a Speciális beállítások lehetőséget, majd kattintson az Enter gombra
  4. Ezután görgessen le az ssh -ig, kattintson az Enter gombra, majd válassza az igen lehetőséget
  5. majd nyomja meg a jobb nyílgombot, amíg a hátsó rész kiemelésre nem kerül, majd nyomja meg az enter billentyűt
  6. Ezután menjen újra az aljára, és kattintson a Befejezés gombra, majd mondja ki az igent az újraindításhoz

Miután újraindul, ha Ethernet -kapcsolaton keresztül csatlakozik, meg kell adnia ezt a parancsot, hogy megtalálja az IP -címét, hogy beléphessünk a pi

Keresse meg az ip -t:

hosztnév -Én

4. lépés: A Wifi beállítása

A wifi beállításához a pi -n szerkesztenünk kell egy fájlt

1. lépjen be a parancssorba

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Lépjen a fájl végére, és írja be

hálózat = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Ezután indítsa újra a pi -t a gombbal

sudo újraindítás

A pi újraindítás után gépeléssel megkapja az IP -címét

hosztnév -Én

meg kell kapnia az IP -címét. De ha az újrahangolt szöveg üres, az azt jelenti, hogy a pi nem tudott csatlakozni a hálózatához. Ellenőrizze, hogy helyesen adta -e meg a wifi nevét és jelszavát, mivel a kis- és nagybetűket megkülönbözteti.

5. lépés: Távoli csatlakozás a Pi -hez a Windows használatával

Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával
Távoli csatlakozás a Pi -hez a Windows használatával

Most, hogy a pi csatlakozik az internethez, eltávolíthatjuk a billentyűzet egeret és a kijelzőt, és távolról csatlakozhatunk hozzá az "ssh" használatával

Ahhoz, hogy ssh -val lépjen be a pi -be windows -al, le kell töltenie

gitt: [Letöltés]

  1. Nyissa meg a gittet, az IP -cím mezőbe írja be a málna pi ip -t, majd nyomja meg az open gombot
  2. kap egy párbeszédpanelt, amely úgy néz ki, mint a 2. kép, nyomja meg az igen gombot
  3. akkor megjelenik egy új párbeszédablak, amely azt mondja: "bejelentkezés" belépés "pi"
  4. akkor jelszót kér, írja be a "málna" szót

Most csatlakozik a pi -hez az ssh -n keresztül

6. lépés: Távolról csatlakozzon a Pi -hez a Mac segítségével

Távoli csatlakozás a Pi -hez Mac segítségével
Távoli csatlakozás a Pi -hez Mac segítségével
Távoli csatlakozás a Pi -hez Mac segítségével
Távoli csatlakozás a Pi -hez Mac segítségével
Távolról csatlakozzon a Pi -hez a Mac segítségével
Távolról csatlakozzon a Pi -hez a Mac segítségével
Távoli csatlakozás a Pi -hez Mac segítségével
Távoli csatlakozás a Pi -hez Mac segítségével

Most, hogy a pi csatlakozik az internethez, eltávolíthatjuk a billentyűzetet és az egeret, és távolról csatlakozhatunk hozzá az "ssh" használatával

1. Nyissa meg a "Terminált"

2. Írja be

ssh pi@IP_ADDRESS

3. Akkor kaphat egy üzenetet, miszerint a gazdagép kulcsa nincs elmentve, írja be az "yes" -t

4. Ezután a promóció során adja meg a málna pi jelszót, amely "Raspberry"

Most csatlakozik a pi -hez az ssh -n keresztül

7. lépés: A szoftver telepítése

Mivel most már hozzáférünk a pi -hez, telepítenünk kell egy szoftvert a led szalag vezérléséhez

Telepítenünk kell

  • pigpio (Ezzel az összes GPIO csap digitálisról PWM -re változik)
  • lombik (szerveroldali szkript, amely a pigpio -val és a webszerverrel beszél)
  • apache2 (webszerver)

Telepítse a pigpio programot

1. Először le kell töltenünk egy zip mappát, amely tartalmazza a lefordítatlan pigpio szoftvert, ezzel a paranccsal

wget

2. Ezután ki kell csomagolnunk és be kell lépnünk a könyvtárba

csomagolja ki a pigpio.zip && cd PIGPIO -t

3. Tudja, hogy abban a könyvtárban vagyunk, ahol össze kell állítanunk és telepítenünk kell a szoftvert

make -j4 && sudo make install

4. Most nyissa meg az rc.local -t, hogy elmondhassuk a pi -nek, hogy indításkor futtassa a pigpiodot

sudo nano /etc/rc.local

majd közvetlenül a kijárat előtt lépjen be

sudo pigpiod

Most telepítette a pigpio szoftvert

Helyezze be a lombikot

először frissítenünk kell a szoftverek listáját

sudo apt update && sudo apt upgrade -y

majd telepítse a pip -t

sudo apt-get install python-pip

most telepíthetjük a lombikot

sudo pip telepítő lombik

Telepítse az Apache2 programot

sudo apt -get install apache2 -y

sudo apt-get install libapache2-mod-wsgi -y

Telepítse a git programot

sudo apt install git -y

Miután minden telepítése befejeződött, állítsa le a pi -t

sudo leállítás most

8. lépés: Az áram bekötése

Az áram bekötése
Az áram bekötése
Az áram bekötése
Az áram bekötése
Az áram bekötése
Az áram bekötése

Először be kell kötni a tápcsatlakozót a kenyértáblához

  1. Csatlakoztassa a fekete vezetéket a hálózati csatlakozó negatív csatlakozójához
  2. Csatlakoztassa a piros vezetéket a hálózati csatlakozó pozitív csatlakozójához
  3. Csatlakoztassa a piros vezeték másik végét a kenyértábla pozitív oldalához
  4. Csatlakoztassa a fekete vezeték másik végét a kenyértábla pozitív oldalához
  5. Ezután csatlakoztassa a földelőcsapot a pi -ből (amint az a képen is látható) a kenyérsütő lemez negatív csapjához

Most a legtöbbet kell csatlakoztatnunk.

9. lépés: A Mosfets bekötése és a Pi csatlakoztatása

A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása
A Mosfets bekötése és a Pi csatlakoztatása

A Mosfet lehetővé teszi annak szabályozását, hogy mennyi áramot vigyen át a LED -es lámpákra, szükségünk lesz három mosfetre, mivel külön -külön kell szabályoznunk a piros, zöld és kék lámpákat.

A mosfetnek három csapja van, bal oldalon a "Gate" csap, amely a pi -hez csatlakozik, hogy ellenőrizzék, mennyi áram áramolhat a led fényhez

A középső csapot "Drain" -nek hívják, amely a ledes lámpákhoz kerül, és biztosítja a kapu által megengedett feszültséget

és a jobb oldali csap a "Forrás" csap. Ez a csap a földre kerül a kenyértáblán.

A Vörös LED csatlakoztatása

  1. Tegyen egy mosfet a kenyértáblába
  2. csatlakoztasson egy fekete vezetéket a GND -től a kenyértáblán a forráshoz (jobb oldali tű)
  3. majd csatlakoztasson egy piros vezetéket a mosfet középső csapjától a led csíkon lévő piros tűhöz
  4. majd csatlakoztasson egy piros vezetéket a bal tüskéből a piio GPIO 17 -hez

A zöld LED csatlakoztatása

  1. Tegye a 2. mosfetet a kenyértáblába
  2. majd ugyanúgy, mint azelőtt, hogy egy fekete vezetéket csatlakoztat a GND -től a kenyértáblán a forráshoz (jobb oldali tű)
  3. majd csatlakoztasson egy zöld vezetéket a mosfet középső csapjától a LED csík zöld tűjéhez.
  4. majd csatlakoztasson egy zöld vezetéket a bal csapból a GPIO 22 -hez a pi -n

A kék LED csatlakoztatása

  1. Tegye az utolsó mosfetet a kenyértáblába
  2. csatlakoztasson egy másik fekete vezetéket a GND -től a kenyértáblán a forráshoz (jobb oldali tű)
  3. majd csatlakoztasson egy kék vezetéket a mosfet középső csapjától a LED csík kék tűjéhez.
  4. majd csatlakoztasson egy kék vezetéket a bal tüskéből a piio GPIO 24 -hez

Ekkor lesz még egy tűje a led csíkon, amely fehér vagy fekete lesz, csak csatlakoztassa a vezetéket a kenyérsütő pozitív tűjéről a led szalag extra tűjéhez

Most, hogy végeztünk, elkezdhetjük a tesztelést.

10. lépés: A LED szalag letöltése és tesztelése

A Led szalag vezérléséhez szükséges forráskód letöltése

git klón https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip/

A led szalag teszteléséhez futtassa a test.py fájlt.

python Test.py

ha valamilyen okból nem világít néhány szín, ellenőrizze, hogy minden megfelelően van -e csatlakoztatva.

hogy működik ez a szkript?

Ha megnyitja a python szkriptet, elgondolkodhat azon, hogyan működik, az első sorban ezt fogja látni:

importálási idő

ez a kis könyvtár lehetővé teszi számunkra, hogy szüneteltessük a forgatókönyvet, hogy gyorsabban tarthassuk a lámpákat

pigpio behozatala

ez a könyvtár lehetővé teszi, hogy kommunikáljunk a led szalaggal

pi = pigpio.pi ()

állíts be egy változót, hogy használhassuk a pi.set_pw… insted of pigpio.pi (). set_pw…

RedPin = 17

GreenPin = 22

BluePin = 24

ezek csak változók, amelyek lehetővé teszik számunkra, hogy megmondjuk a szkriptnek, hogy milyen led van csatlakoztatva

nyomtatás ("piros tesztelés")

ez csak szöveget nyomtat a parancssorba

pi.set_PWM_dutycycle (RedPin, 255)

ez a parancs a pigpio libary része, és azt mondja, hogy állítsa be a "RedPin" -t, amely megkeresi az előzőleg beállított számot, és fényerejét "255" -re állítja, ami a maximális

time.sleep (2)

ez az időkönyvtár része, és csak szünetelteti a szkriptet 2 másodpercre

ezek a rugalmas parancsok megismétlődnek a többi ledre, amíg

pi.stop ()

amely abbahagyja a beszélgetést a led szalaggal, és kikapcsolja az összes színt.

11. lépés: A kiszolgálóoldali parancsfájl programozása

** Mielőtt elkezdené, javasoljuk, hogy olvasson a pythonról és a lombikról:

Íme néhány útmutató:

www.pythonforbeginners.com

docs.python-guide.org/en/latest/intro/learn…

flask.pocoo.org

Mivel a Main.py közvetlenül a gitben van, ez a lépés csak a kód magyarázatát jelenti.

Először a könyvtárak vannak

lombik importból Lombik, render_template, kérés

import pigpio a szálból import start_new_thread

akkor be kell állítanunk néhány változót

app = Lombik (_ név_)

CurrentColour = "Fehér" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()

az első változó a lombikra vonatkozik, amely a webszerverünk, ezt appnak fogjuk hívni, így könnyebb hívni és futtatni. Aztán van 6 változó, amelyek közül az első három tartalmazza, hogy milyen színt kell cserélni, a másik három pedig az előző színt.

@app.route ('/', metódusok = ['GET'])

Ez a sor azt mondja, hogy ha valaki beírja a pi IP -címét egy webböngészőbe, akkor az alatta lévő szkriptet futtatja, és rendelkezik GET metódussal is, amikor azt jelenti, hogy a? a LED szalag színének megváltoztatására szolgál.

def Fő ():

globális CurrentColour

a def Main () szöveg azt jelenti, hogy létrehozza a main nevű függvényt, amelyet bárhonnan meg lehet hívni a szkriptben. és a globális vonal azt jelenti, hogy frissíti a változót a teljes szkriptben.

if request.args.get ('Szín'):

CurrentColour = request.args.get ('Color') if CurrentColour == "White": FadeTORGB (255, 255, 255) elif CurrentColour == "Red": FadeTORGB (255, 0, 0) elif CurrentColour == "Green ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" Orange ": FadeTORGB (255, 15, 0) elif CurrentColour == "Pink": FadeTORGB (255, 0, 192) elif CurrentColour == "Sárga": FadeTORGB (255, 157, 0) elif CurrentColour == "Purple": FadeTORGB (123, 0, 255) elif CurrentColour == "Black": FadeTORGB (0, 0, 0) return render_template ('index.html')

Ez a szkript bármilyen nevet kap a "Szín" GET módszer után, és elmenti. ezután megkeresi ezt a nevet, és meghív egy funkciót, amely három másik funkcióval képes egyszerre megváltoztatni a piros, zöld és kék fényt

def FadeTORGB (RedNum, BlueNum, GreenNum):

start_new_thread (FadeUpRed, (RedNum,)) start_new_thread (FadeUpBlue, (BlueNum,)) start_new_thread (FadeUpGreen, (GreenNum,))

Ez három másik funkciót hív meg, amelyek halványító hatással változtatják meg az egyes LED -ek teljesítményét.

def FadeUpRed (REDUpNum):

globális RedColourCode, ha RedColourCode <REDUpNum: míg RedColourCode REDUpNum: míg RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

globális BlueColourCode, ha BlueColourCode <BlueUpNum: míg BlueColourCode BlueUpNum: míg BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

globális GreenColourCode, ha GreenColourCode <GreenUpNum: míg GreenColourCode GreenUpNum: míg GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

ha _név_ == "_fő_":

app.run (host = "0.0.0.0")

12. lépés: A webszerver programozása

Most, hogy megvan a szerver, meg kell terveznünk egy webhelyet.

Mivel a szerver közvetlenül a sablonokban és a statikus mappákban van a gitben, ez a lépés csak a kód magyarázatát jelenti.

Azt is javaslom, hogy olvassa el a html, css, javascript témákat

HTML

Először be kell programoznunk a html -t, erre megy az összes tartalom, amit aztán a css segítségével lehet formázni

1. A fej létrehozása (cím, fájlok linkelése,)

Wifi led szalag

Az első két címke azt jelzi a webböngészőnek, hogy ez egy weboldal, majd a harmadik sor azt jelzi a böngészőnek, hogy elrejtse a blokkon belüli szöveget, és ez alatt a cím jelenik meg a lapon

A weboldal teljes képernyősé tétele iOS rendszeren

Az oldal teljes képernyős megjelenítéséhez írja be ezt a kódot a címke alá

Ezután hivatkozásokat adunk a későbbi css fájlhoz, ez másképp lesz, mint általában, mivel a lombik miatt a fájlkezelés módja

Ezután KELL zárni a címkét, és létre kell hozni egy törzscímkét

A törzscímke azt jelenti, hogy a benne található címkék megjelennek a weboldalon

Most elkészítjük azokat a színgombokat, amelyek megváltoztathatják a led csíkot.

Minden színhez készítünk egyet, és táblázatba tesszük

Ez hozza létre az asztal külső keretét

ez létrehoz egy sort a táblázathoz

Most hozzunk létre egy narancssárga gombot

a td címke létrehoz egy cellát, akkor az "onClick" függvény egy JavaScript függvényt hív meg, amelyet utóbbit hozunk létre, őket az "osztály" függvény használja a gomb stílusához, a stílus pedig csak a színezéshez.

Csak meg kell változtatnunk a sendColour szöveget és az egymás gombjának stílusát, de minden második gomb után bezárjuk a sort, és új sort hozunk létre

Stb…

Az összes szín megadása után be kell zárnia az asztalt

Javascript

Most hozzá kell adnunk a "SendColour" függvényt, amelyre korábban hivatkoztunk, ehhez először hozzá kell adnunk egy címkét, amely közli a webböngészővel, hogy van néhány javascript

majd hozzon létre egy függvényt

funkció SendColour (ClickedColour) {

Ez a funkció Ajax kérést küld a málna pi -nek, amely azt fogja mondani, hogy változtassa meg azt a színt, amelyre kattintott

xhttp = új XMLHttpRequest ();

xhttp.open ("GET", "? Color =" + ClickedColour, false); xhttp.send (); }

Most be kell zárnunk a javascriptet és a html -t

CSS

Most megtervezzük a weboldalt

először a CD -t a sablonok mappából, és lépjen a statikus mappába

cd.. && cd statikus

most hozza létre a Style.css fájlt

nano Style.css

Először tegyük ki, hogy az asztal kitöltse az egész képernyőt.

. Színek {

szélesség: 100%; }

.button {

párnázás: 25px 35px; határsugár: 4 képpont; }

A szerver tesztelése

a szerver teszteléséhez lépjen be a webszerver mappába

cd..

majd lépjen be

python Main.py

ez elindítja a szervert, majd a számítógépen nyissa meg a webböngészőt, és keresse meg a következőt:

YOUR_PI_PI: 5000A végén lévő 5000 jelenleg fontos, mivel ez a port, amelyen a webszerver fut.

Ha a weboldalt megnyitja, és "Belső szerverhiba" jelenik meg, akkor nézze meg a konzolt (gitt vagy terminál), és látni fog egy csomó szöveget, nézze meg az utolsó sort, és meg kell. mondd el, mi a helyzet, a google segítségével megtalálod a választ, de ha látja a színeket a képernyőn, akkor kattintson az egyikre, és látnia kell a led szalagot, amely ilyen színű, ha nem, akkor ellenőrizze, hogy a tápfeszültség be van -e kapcsolva, és be van -e kapcsolva, vagy a html -kódot helyesen adta meg.

13. lépés: Az Apache2 működtetése

Most, hogy teszteltük, el kell érnünk, hogy beszéljen az apache -vel, hogy indításkor és a 80 -as porton (szabványos webport) fusson

1. a WebServer mappában készítsen egy wsgi fájlt

nano wifiled.wsgi

Ezután írja be a fájlba

rendszer importálása

sys.path.insert (0, '/home/pi/Webserver/') a fő importálási alkalmazásból alkalmazásként

majd adja hozzá a pi felhasználót a www-data nevű csoporthoz, ez lehetővé teszi az apache számára, hogy a webszerver mappájában keresse

sudo usermod -a -G www -adatok pi

majd távolítsa el az alapértelmezett konfigurációt

sudo a2dissite 000-default

majd készítsen egy fájlt az Apache config mappába

sudo nano /etc/apache2/sites-available/wifiled.conf

és lépjen be

Kiszolgálónév WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Rendelés engedélyezése, megtagadása Engedélyezés mindenből Mindent igényel ErrorLog $ {APACHE_LOG_DIR} /error.log LogLevel Warn CustomLog $ {APACHE_LOG_DIR} kombinált

majd szólj az apache -nek, hogy olvassa el a konfigurációt a belépéssel

sudo a2ensite wifiled.conf

Most indítsa újra a pi -t, amikor újraindul, lépjen be a webböngészőbe

YOUR_PI_IP

14. lépés: A Tasker és az Ifttt és egyéb szolgáltatások beállítása

Mielőtt ezeket a programokat beállítanánk, be kell állítanunk a portforgatást az útválasztón, mivel minden útválasztó más és más, itt olvashat

Tasker

androidos eszközén nyissa meg

majd hozzon létre egy új profilt egy eseményen, és választhat bármelyik trigger -t. A "Telefon csengés" lehetőséget választottam, és a színét "C: BÁRMILYEN" -re állítottam, majd felkéri Önt, hogy válasszon ki egy feladatot, kattintson az "Új feladat" gombra, és nevezze el a műveletet. Ezt hívom "Telefonhívásnak", majd nyomja meg a Hozzáadás műveletet, és keresse meg a "HTTP fej" parancsot, és állítsa be a Szerver: port értéket a_málna_pi_IP -re, majd az elérési út alatt vagy egyszínű színt állíthat be a "/? Szín = Zöld" gombbal, vagy létrehozhat egy hatását a következő lépésben megtesszük. Ezután kattintson vissza és vissza.

IFTTT

először lépjen az ifttt -re, és hozzon létre egy új kisalkalmazást Válasszon bármelyik trigger -t (én a Gombot választottam), majd a művelethez válassza ki a készítő csatornát, és azt mondta, hogy kérjünk, majd adja meg az URL -t YOUR_PUBLIC_PI/? Color = LightBlue, ha nem ismeri a nyilvánosságot ip csak írd be a "My Ip" -t a google -ba. Ezután adja meg a HEAD fejlécet, majd kattintson a "Művelet létrehozása" gombra, amikor a művelet megtörténik, ha nem kéri a pi -t a szín megváltoztatására.

Egyéb szolgáltatások

Más szolgáltatásokat is csatlakoztathat, amelyek HTTP HEAD vagy GET kérést tesznek közzé.

15. lépés: Egyéni hatások létrehozása

A Main.py mappában adjon meg egy importálási utasítást, majd írja be az import os mezőbe

importálási idő

az effektus létrehozása előtt hozzá kell adnunk egy változót a GreenBeforeEffect add alá

CanChangeColour = Igaz

majd változtassa meg a request.args.get ('Szín') értéket:

nak nek

if request.args.get ('Szín') és a CanChangeColour:

szakasz a visszatérés alatt render_template ('Main.html') add

@app.route ('/Effect', method = ['GET'])

def Hatás ():

Ezután állítsa a változókat globálisra

x = 0

globális RedColourCode globális BlueColourCode globális GreenColourCode globális RedBeforeEffect globális BlueBeforeEffect globális GreenBeforeEffect

most hozzuk létre az első hatást

if request.args.get ('Hívás'):

RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB (0, 0, 0) time.sleep (2)

Ez a művelet akkor fog futni, amikor a pi olyan kérést kap, mint a "/? Effect = Call", és elmenti az aktuális színt, hogy visszahívhassuk. Ezután feketére tesszük a led csíkot, és megvárjuk, amíg megtörténik.

Most a LED -et feketéről zöldre, majd ismét feketére halványítjuk, és ezt ötször akarom megtenni

míg x <= 5: FadeTORGB (0, 255, 0) x += 1 time.sleep (1) FadeTORGB (0, 0, 0) time.sleep (1) CanChangeColour = True time.sleep (2) FadeTORGB (RedBeforeEffect, BlueBeforeEffect, GreenBeforeEffect)

Ez akár öt is lehet, de minden alkalommal zöldre halványul, majd vár egy másodpercet, és fekete lesz. Amit ez befejez, az megváltoztatja a színt azokra, amelyek a változtatás előtt voltak.

Most csak választ kell teremtenünk.

Visszatérés ""

Is indítsa újra a málna pi -t

sudo újraindítás

Ajánlott: