Inhoudsopgave:

Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie. Ajarnpa
Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie. Ajarnpa

Video: Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie. Ajarnpa

Video: Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie. Ajarnpa
Video: How to control LED pixels from your computer! 2024, Juli-
Anonim
Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie
Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie
Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie
Wifi-gestuurde 12v ledstrip met Raspberry Pi met Tasker, Ifttt-integratie

In dit project laat ik je zien hoe je een eenvoudige 12v analoge ledstrip via wifi kunt bedienen met behulp van een raspberry pi.

Voor dit project heb je nodig:

  • 1x Raspberry Pi (ik gebruik een Raspberry Pi 1 Model B+)
  • 1x RGB 12v Led Strip [Ebay Australië]
  • 3x IRFZ44N N-kanaal Mosfet's [Ebay Australië]
  • 1x vrouwelijke DC-stekkeradapter [Ebay Australië]
  • Sommige draden
  • Display, toetsenbord (alleen voor installatie)

Stap 1: Installeer Raspbian OS met Windows

Raspbian OS installeren met Windows
Raspbian OS installeren met Windows
Raspbian OS installeren met Windows
Raspbian OS installeren met Windows
Raspbian OS installeren met Windows
Raspbian OS installeren met Windows

Om Raspbian met Windows te installeren heb je nodig:

  • Win32 Disk Imager: [Download]
  • Raspbian OS Lite: [Zip], [Torrent]

**BELANGRIJK als u het verkeerd doet, kunt u al uw gegevens kwijtraken. Maak een back-up van uw gegevens voordat u verdergaat**

  1. Sluit uw SD-kaart aan op een kaartlezer en open Deze computer
  2. Zoek de stationsletter
  3. Klik met de rechtermuisknop op Win32DiskImager en klik op "Als administrator uitvoeren"
  4. Klik vervolgens op de kleine blauwe map en blader naar uw afbeelding van de RaspbianOS
  5. Klik ook op de vervolgkeuzelijst onder Apparaat en wijzig deze in de stationsletter van de SD-kaart
  6. Klik vervolgens op "Schrijven"
  7. Er wordt een dialoogvenster geopend VOORDAT u op Ja drukt, controleer of het doelapparaat correct is
  8. Verwijder vervolgens de SD-kaart en plaats deze in de pi

Stap 2: Installeer Raspbian OS met Mac OS X

Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X

Om Raspbian met Mac te installeren heb je nodig:

  • ApplePi-Baker [Download]
  • Raspbian OS Lite: [Zip], [Torrent]

**BELANGRIJK als u het verkeerd doet, kunt u al uw gegevens kwijtraken. Maak een back-up van uw gegevens voordat u verdergaat**

  1. Open Schijfhulpprogramma en zoek uw SD-kaart aan de linkerkant en klik erop
  2. Zoek naar "Apparaat" onderaan het venster. Je zou iets als diskXsX moeten zien, waarbij x een getal is
  3. Onthoud het "Apparaat"-nummer en open ApplePi-Baker
  4. Het zal om je wachtwoord vragen omdat het je SD-kaart moet formatteren
  5. Klik op het "Apparaat"-nummer dat is After /dev/ aan de linkerkant
  6. Klik op "Restore-Backup" Blader naar uw afbeelding van RaspbianOS.
  7. Het begint de SD-kaart te wissen en Raspbian erop te installeren
  8. Als het klaar is, verschijnt er een waarschuwingsvenster dat u vertelt dat u de SD-kaart kunt verwijderen, verwijderen en in uw pi kunt plaatsen.

Stap 3: De Pi. instellen

Voordat je de pi opstart, moet je een HDMI-scherm, toetsenbord en een ethernetkabel of usb wifi aansluiten (we zullen dit in de volgende stap instellen).

Zet de pi aan, je zult een heleboel tekst op het scherm zien vullen. Dit is normaal en maakt deel uit van het opstarten van de linux-kernel. Wacht maar even tot je het ziet

frambozen login:

Uw gebruikersnaam is pi en het wachtwoord is framboos (u ziet niets typen op het scherm, maar het wordt nog steeds ingevoerd)

Als u vervolgens inlogt, ziet u:

Dan moet je invullen:

sudo raspi-config

Uw scherm wordt dan gevuld met een blauw scherm met opties in een grijs vak in het midden,

  1. Gebruik de toetsen omhoog en omlaag, markeer en druk op enter op de optie "Bestandssysteem uitbreiden" na een paar seconden wordt u naar een waarschuwing geleid die zegt dat "het rootbestandssysteem is gewijzigd", klik op Enter
  2. Druk vervolgens op de pijl-omlaag en ga naar Boot Options en klik op enter, klik vervolgens op enter wanneer 'Desktop / CLI' is geselecteerd, markeer vervolgens 'Console Autologin' en klik op enter
  3. Selecteer vervolgens Geavanceerde opties en klik op enter
  4. Scroll vervolgens naar beneden naar ssh en klik op enter en selecteer vervolgens ja
  5. druk vervolgens op de pijl naar rechts totdat terug is gemarkeerd en druk op enter
  6. Ga dan weer naar de onderkant en klik op voltooien en zeg ja om opnieuw op te starten

Nadat het opnieuw is opgestart als u via ethernet bent verbonden, moet u deze opdracht invoeren om uw IP-adres te vinden, zodat we naar de pi kunnen ssh

Zoek ip:

hostnaam -I

Stap 4: Wifi instellen

Om de wifi op de pi in te stellen, moeten we een bestand bewerken

1. ga naar de opdrachtregel

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Ga naar het einde van het bestand en voer. in

netwerk={

ssid="Your_Wifi_Name" psk="Your_wifi_password" }

3. Start vervolgens je pi opnieuw op met

sudo reboot

Nadat je pi opnieuw is opgestart, krijg je zijn IP-adres door te typen

hostnaam -I

u zou uw IP-adres moeten krijgen. Maar als de opnieuw afgestemde tekst leeg is, betekent dit dat de pi geen verbinding kon maken met uw netwerk. controleer nogmaals of je je wifi-naam en wachtwoord correct hebt ingevoerd, want het is hoofdlettergevoelig.

Stap 5: Maak op afstand verbinding met uw Pi via Windows

Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows
Op afstand verbinding maken met uw Pi via Windows

Nu we de pi hebben verbonden met internet, kunnen we de toetsenbordmuis en het scherm verwijderen en er op afstand verbinding mee maken met "ssh"

Om met Windows naar de pi te ssh-en, moet je downloaden

stopverf: [Download]

  1. Open putty, voer in het vak IP-adres de raspberry pi ip in en druk vervolgens op open
  2. je krijgt een dialoogvenster dat eruitziet als afbeelding 2 druk op ja
  3. u ziet dan een nieuw dialoogvenster met de tekst "login as" voer "pi" in
  4. dan zal het om een wachtwoord vragen voer "raspberry" in

Je bent nu verbonden met de pi via ssh

Stap 6: op afstand verbinding maken met uw Pi met behulp van Mac

Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac
Op afstand verbinding maken met uw Pi met behulp van Mac

Nu we de pi met internet hebben verbonden, kunnen we het toetsenbord en de muis verwijderen en er op afstand verbinding mee maken met "ssh"

1. Open "Terminal"

2. Typ in

ssh pi@IP_ADDRESS

3. Dan krijgt u mogelijk een bericht dat de hostsleutel niet is opgeslagen. Typ gewoon "ja"

4. Voer vervolgens, wanneer gepromoveerd, het raspberry pi-wachtwoord in dat "Raspberry" is

Je bent nu verbonden met de pi via ssh

Stap 7: De software installeren

Omdat we nu externe toegang tot de pi hebben, moeten we wat software installeren om de ledstrip te bedienen

We zullen moeten installeren

  • pigpio (Dit verandert alle GPIO-pinnen van digitaal naar PWM)
  • flask (server-side script dat praat met pigpio en de webserver)
  • apache2 (webserver)

Installeer pigpio

1. Eerst moeten we een zip-map downloaden die de ongecompileerde pigpio-software bevat, met behulp van deze opdracht:

wget

2. We moeten dan uitpakken en naar de map gaan

unzip pigpio.zip && cd PIGPIO

3. Nu we in de directory zijn, moeten we de software compileren en installeren

make -j4 && sudo make install

4. Open nu rc.local zodat we de pi kunnen vertellen om pigpiod uit te voeren bij het opstarten

sudo nano /etc/rc.local

voer dan net voor de uitgangsregel in

sudo pigpiod

U hebt nu de pigpio-software geïnstalleerd

Installeer kolf

eerst moeten we de lijst met software bijwerken om dit te doen enter

sudo apt update && sudo apt upgrade -y

installeer dan pip

sudo apt-get install python-pip

nu kunnen we kolf installeren

sudo pip install flask

Installeer Apache2

sudo apt-get install apache2 -y

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

Git installeren

sudo apt install git -y

Nadat alles is geïnstalleerd, sluit u de pi af met

sudo nu afsluiten

Stap 8: De stroom aansluiten

De stroom aansluiten
De stroom aansluiten
De stroom aansluiten
De stroom aansluiten
De stroom aansluiten
De stroom aansluiten

Eerst moeten we de stroomconnector op het breadboard aansluiten

  1. Sluit de zwarte draad aan op de negatieve connector op de stroomaansluiting
  2. Sluit de rode draad aan op de positieve connector op de stroomaansluiting
  3. Sluit het andere uiteinde van de rode draad aan op de positieve kant van het breadboard
  4. Sluit het andere uiteinde van de zwarte draad aan op de positieve kant van het breadboard
  5. Sluit vervolgens de aardingspin van de pi (zoals te zien in de afbeelding) aan op de negatieve pin op het breadboard

Nu moeten we het meest verbindenfeet.

Stap 9: Bedrading van de Mosfets en aansluiten van de Pi

De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten
De Mosfets aansluiten en de Pi. aansluiten

Met een Mosfet kunt u bepalen hoeveel stroom er naar de led-verlichting kan gaan, we hebben drie mosfets nodig omdat we de rode, groene en blauwe lichten afzonderlijk moeten regelen.

De mosfet heeft drie pinnen, aan de linkerkant heeft het de "Gate" -pin die wordt verbonden met de pi om te bepalen hoeveel stroom er naar de led-verlichting kan stromen

De middelste pin heet "Drain" die naar de led-verlichting gaat en de spanning levert die de poort doorlaat

en de pin aan de rechterkant is de "Bron"-pin. Deze pin gaat naar de grond op het breadboard.

De rode led aansluiten

  1. Doe een mosfet in het breadboard
  2. sluit een zwarte draad van GND op het breadboard aan op de bron (rechterpen)
  3. sluit vervolgens een rode draad van de middelste pin op de mosfet aan op de rode pin op de ledstrip
  4. sluit vervolgens een rode draad van de linker pin aan op GPIO 17 op de pi

De groene led aansluiten

  1. Zet de 2e mosfet in het breadboard
  2. sluit dan net als voorheen een zwarte draad van GND op het breadboard aan op de bron (rechter pin)
  3. sluit vervolgens een groene draad van de middelste pin op de mosfet aan op de groene pin op de ledstrip.
  4. sluit vervolgens een groene draad van de linker pin aan op GPIO 22 op de pi

De blauwe led aansluiten

  1. Doe de laatste mosfet in het breadboard
  2. sluit een andere zwarte draad van GND op het breadboard aan op de bron (rechterpen)
  3. sluit vervolgens een blauwe draad van de middelste pin op de mosfet aan op de blauwe pin op de ledstrip.
  4. sluit vervolgens een blauwe draad van de linker pin aan op GPIO 24 op de pi

Dan heb je nog een pin op de ledstrip die wit of zwart is, sluit gewoon een draad aan van de positieve pin op het breadboard naar die extra pin op de ledstrip

Nu we klaar zijn, kunnen we beginnen met het uit te testen.

Stap 10: De ledstrip downloaden en testen

Om de broncode te downloaden voor het aansturen van de ledstrip:

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

Voer het bestand test.py uit om de ledstrip te testen.

python Test.py

als om de een of andere reden sommige kleuren niet oplichten, controleer dan of alles goed is aangesloten.

hoe werkt dit script?

als je het python-script opent, vraag je je misschien af hoe het werkt, op de eerste regel zie je:

import tijd

deze kleine bibliotheek stelt ons in staat om het script te pauzeren, zodat we de lichten sneller aan kunnen houden

import pigpio

deze bibliotheek stelt ons in staat om te communiceren met de ledstrip

pi = varkenpio.pi()

stel een variabele in zodat we pi.set_pw… kunnen gebruiken in plaats van pigpio.pi().set_pw…

RodePin = 17

Groene pin = 22

Blauwe pin = 24

dit zijn slechts variabelen waarmee we het script kunnen vertellen op welke leds zijn aangesloten

print("testen voor rood")

dit zal alleen tekst naar de opdrachtregel afdrukken

pi.set_PWM_dutycycle(RedPin, 255)

dit commando maakt deel uit van de pigpio-bibliotheek en zegt om de "RedPin" in te stellen die het zoekt naar het nummer dat we eerder hebben ingesteld en de helderheid instelt op "255", wat de max is

tijd.slaap(2)

dit maakt deel uit van de tijdbibliotheek en zal het script gewoon 2 seconden pauzeren

dit soepele commando wordt herhaald voor de andere leds tot:

pi.stop()

die stopt met praten met de ledstrip en alle kleuren uitschakelt.

Stap 11: Het Server Side Script programmeren

**Voordat je begint, raad ik je aan om over python en kolf te lezen:

Hier zijn enkele handleidingen:

www.pythonforbeginners.com

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

flask.pocoo.org

Omdat Main.py direct in de git zit, legt deze stap alleen de code uit.

Eerst hebben we de bibliotheken

from flask import Flask, render_template, request

import pigpio van thread import start_new_thread

dan moeten we enkele variabelen instellen

app = Kolf(_naam_)

CurrentColour = "Wit" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi()

de eerste variabele is voor flask, onze webserver, we zullen het app noemen, dus het is gemakkelijker om te bellen en uit te voeren. Dan zijn er 6 variabelen waarvan de eerste drie zullen bevatten welke kleur er twee moet worden veranderd en de andere drie zullen de vorige kleur bevatten.

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

Deze regel zegt dat als iemand het IP-adres van de pi in een webbrowser typt, het het script eronder zal uitvoeren, het heeft ook een GET-methode, wat betekent dat elke tekst na ?Colour= wordt doorgegeven aan de webserver en zal worden gebruikt om de kleur van de ledstrip te veranderen.

def Main():

global CurrentColor

de tekst def Main() betekent dat het een functie met de naam main zal maken die overal in het script kan worden aangeroepen. en de globale regel betekent dat het de variabele in het hele script zal bijwerken.

if request.args.get('Kleur'):

CurrentColour=request.args.get('Colour') if CurrentColour == "Wit": FadeTORGB(255, 255, 255) elif CurrentColour == "Rood": FadeTORGB(255, 0, 0) elif CurrentColour == "Groen ": 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 == "Roze": FadeTORGB(255, 0, 192) elif CurrentColour == "Geel": FadeTORGB(255, 157, 0) elif CurrentColour == "Paars": FadeTORGB(123, 0, 255) elif CurrentColour == "Black": FadeTORGB(0, 0, 0) return render_template('index.html')

Dit script krijgt elke naam na de GET-methode "Kleur" en slaat het op. het zal dan naar die naam zoeken en een functie aanroepen die drie andere functies kan gebruiken om de rode, groene en blauwe lichten tegelijkertijd te veranderen

def FadeTORGB(RedNum, BlueNum, GreenNum):

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

Dit roept drie andere functies op die de hoeveelheid stroom naar elke led veranderen met een fade-effect.

def FadeUpRed(REDUpNum):

global RedColourCode als RedColourCode < REDUpNum: while RedColourCode REDUpNum: while RedColourCode > REDUpNum: RedColourCode -=1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue(BlueUpNum):

global BlueColourCode als BlueColourCode < BlueUpNum: while BlueColourCode BlueUpNum: while BlueColourCode > BlueUpNum: BlueColourCode -=1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen(GreenUpNum):

global GreenColourCode als GreenColourCode < GreenUpNum: while GreenColourCode GreenUpNum: while GreenColourCode > GreenUpNum: GreenColourCode -=1 pi.set_PWM_dutycycle(GreenPin, GreenColourCode)

if _name_ == "_main_":

app.run(host="0.0.0.0")

Stap 12: De webserver programmeren

Nu we de server hebben, moeten we een website ontwerpen.

Omdat de server zich direct in de sjablonen en statische mappen in de git bevindt, legt deze stap alleen de code uit.

Ik raad je ook aan om te lezen over html, css, javascript

HTML

Eerst moeten we html programmeren, dit is waar alle inhoud naartoe gaat die vervolgens kan worden gestyled met css

1. De kop maken (titel, bestanden koppelen,)

Wifi ledstrip

De eerste twee tags vertellen de webbrowser dat het een webpagina is. Vervolgens vertelt de derde regel de browser om tekst in het blok te verbergen en daaronder staat de titel die op het tabblad zal verschijnen

De webpagina op volledig scherm maken op iOS

Om de pagina schermvullend te maken, voert u deze code in onder de tag

Vervolgens zullen we verwijzingen naar het css-bestand toevoegen dat we als laatste zullen maken. Dit zal een andere manier zijn dan gebruikelijk, omdat flask een manier van bestandsbeheer is

Hierna MOET je de tag sluiten en een body-tag maken

De body-tag betekent dat alle tags erin op de webpagina verschijnen

Nu gaan we de kleurknoppen maken die de ledstrip kunnen veranderen.

We zullen er een maken voor elke kleur en deze in een tabel plaatsen

Dit is het buitenframe van de tafel

dit zal een rij maken voor de tabel

Laten we nu een oranje knop maken

de tag td maakt een cel aan, dan zal de "onClick"-functie een javascript-functie aanroepen die we als laatste zullen maken, de "class"-functie wordt gebruikt om de knop op te maken en de stijl is alleen om hem in te kleuren.

We hoeven alleen de sendColour-tekst en de stijl voor elke andere knop te wijzigen, maar na elke 2e knop zullen we de rij sluiten en een nieuwe rij maken

Enzovoort…

Nadat je alle kleur erin hebt gedaan, moet je de tafel sluiten

Javascript

Nu moeten we de functie "SendColour" toevoegen waarnaar we eerder hadden verwezen om dit te doen, we moeten eerst een tag toevoegen die de webbrowser vertelt dat er een javascript is

maak dan een functie aan

functie SendColour(ClickedColour) {

Deze functie stuurt een Ajax-verzoek naar de raspberry pi die hem vertelt dat hij moet veranderen in de kleur waarop je hebt geklikt

xhttp = nieuwe XMLHttpRequest();

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

Nu moeten we de javascript en html sluiten

CSS

Nu gaan we de website ontwerpen

eerste cd uit de map sjablonen en ga naar de statische map

cd.. && cd statisch

maak nu het Style.css-bestand

nano Style.css

Laten we eerst de tabel het hele scherm laten vullen.

. Kleuren {

breedte: 100%; }

.knop {

opvulling: 25px 35px; grensradius: 4px; }

De server testen

om de server te testen, ga naar de webservermap

cd..

voer dan in

python Main.py

hiermee wordt de server gestart, open vervolgens op uw computer de webbrowser en navigeer naar

YOUR_PI_PI:5000de:5000 aan het einde is nu belangrijk omdat het de poort is waarop de webserver draait.

als je naar de webpagina gaat en een "Internal Server Error" krijgt, kijk dan naar de console (stopverf of terminal) en je zult een heleboel tekst zien, kijk gewoon naar de laatste regel en het zou moeten. je vertellen wat er aan de hand is, je kunt googlen om het antwoord te vinden, maar als je de kleuren op het scherm ziet, kun je er op klikken en je zou de ledstrip in die kleur moeten zien, zo niet, controleer dan of de stroom is aangesloten en ingeschakeld of dat de html-code goed is ingevoerd.

Stap 13: het laten werken met Apache2

Nu we het hebben getest, moeten we het met apache laten praten, zodat het kan draaien bij het opstarten en op poort 80 (standaard webpoort)

1. maak in je WebServer-map een wsgi-bestand

nano wifiled.wsgi

Typ vervolgens in het bestand

import systeem

sys.path.insert(0, '/home/pi/Webserver/') van Main import app als applicatie

voeg vervolgens de gebruiker pi toe aan een groep genaamd www-data, hierdoor kan apache in de webservermap kijken

sudo usermod -a -G www-data pi

verwijder vervolgens de standaardconfiguratie

sudo a2dissite 000-standaard

maak vervolgens een bestand in de Apache-configuratiemap

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

en ga naar binnen

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias / /home/pi/Webserver/wifiled.wsgi Bestellen toestaan, weigeren Toestaan van alles Vereisen alles toegekend ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel waarschuwen CustomLog ${APACHE_LOG_DIR}/access.log gecombineerd

vertel apache dan om de configuratie te lezen door in te voeren

sudo a2ensite wifiled.conf

Start nu de pi opnieuw op, wanneer deze opnieuw wordt opgestart, gaat u naar uw webbrowser

YOUR_PI_IP

Stap 14: Tasker en Ifttt en andere services instellen

Voordat we deze programma's instellen, moet u port fording op uw router instellen, aangezien elke router anders is, u kunt hier lezen hoe u dit doet

Tasker

op je Android-apparaat open taker

maak vervolgens een nieuw profiel op basis van een evenement, je kunt elke trigger kiezen. Ik heb "Telefoon rinkelen" gekozen en had de kleur ingesteld op iedereen "C: ANY", dan zal het u vragen om een taak te selecteren, op "Nieuwe taak" te klikken en deze een naam te geven op basis van uw actie. Ik zal het "Telefoongesprek" noemen, druk dan op actie toevoegen en zoek naar "HTTP Head" en stel de Server:Port in op your_raspberry_pi_IP, dan kun je onder pad een effen kleur instellen met "/?Colour=Green" of je kunt een effect zullen we dit in de volgende stap doen. Klik dan terug en weer terug.

IFTTT

ga eerst naar ifttt en maak een nieuwe applet Kies een trigger (ik koos Button) en kies vervolgens voor actie het makerkanaal en zei om een we-verzoek te maken, voer dan voor de url YOUR_PUBLIC_PI/?Colour=LightBlue in als je je publiek niet kent ip voer gewoon "Mijn Ip" in op google. Voer vervolgens HEAD in voor methode en klik vervolgens op "Actie maken" nu wanneer uw actie plaatsvindt, indien u een verzoek aan uw pi doet om van kleur te veranderen.

Andere diensten

U kunt ook verbinding maken met andere services die een HTTP HEAD- of GET-verzoek indienen.

Stap 15: Aangepaste effecten maken

Voeg in Main.py een importstatement toe, onder import os enter

import tijd

ook voordat we een effect creëren, moeten we een variabele toevoegen net onder GreenBeforeEffect add

CanChangeColour = True

verander dan if request.args.get('Colour'):

tot

if request.args.get('Colour') en CanChangeColour:

sectie net onder return render_template('Main.html') add

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

def Effect():

Stel vervolgens de variabelen in op globaal

x = 0

global RedColourCode global BlueColourCode global GreenColourCode global RedBeforeEffect global BlueBeforeEffect global GreenBeforeEffect

laten we nu ons eerste effect creëren

if request.args.get('Bellen'):

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

Deze actie wordt uitgevoerd wanneer de pi een verzoek ontvangt zoals "/?Effect=Call" en zal de huidige kleur opslaan zodat we deze terug kunnen bellen. We maken dan de ledstrip zwart en wachten tot het gebeurt.

Nu gaan we de led laten vervagen van zwart naar groen en dan weer naar zwart en ik wil dit vijf keer doen

while 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, BlauwBeforeEffect, GroenBeforeEffect)

Dit telt tot vijf, maar elke keer vervaagt het naar groen en wacht dan een seconde en gaat naar zwart. Wat dat dan afmaakt, zal de kleur terug veranderen naar degene die je had voordat je veranderde.

Nu alleen nog om een reactie te creëren.

opbrengst ""

Herstart ook je Raspberry Pi

sudo reboot

Aanbevolen: