Inhaltsverzeichnis:

Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration. - Gunook
Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration. - Gunook

Video: Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration. - Gunook

Video: Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration. - Gunook
Video: NeoPixel Projekt - 12V WS2811B 3-Wire / 300 LED Strip [Part1] Planung und Hardware auswahl 2024, November
Anonim
Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration
Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration
Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration
Wifi-gesteuerter 12-V-LED-Streifen mit Raspberry Pi mit Tasker, Ifttt-Integration

In diesem Projekt zeige ich Ihnen, wie Sie einen einfachen analogen 12-V-LED-Streifen über WLAN mit einem Himbeer-Pi steuern.

Für dieses Projekt benötigen Sie:

  • 1x Raspberry Pi (ich verwende einen Raspberry Pi 1 Model B+)
  • 1x RGB 12v LED-Streifen [Ebay Australien]
  • 3x IRFZ44N N-Kanal Mosfets [Ebay Australien]
  • 1x Buchse DC-Netzteiladapter [Ebay Australien]
  • Einige Drähte
  • Display, Tastatur (nur zur Einrichtung)

Schritt 1: Raspbian OS unter Windows installieren

Raspbian OS unter Windows installieren
Raspbian OS unter Windows installieren
Raspbian OS unter Windows installieren
Raspbian OS unter Windows installieren
Raspbian OS unter Windows installieren
Raspbian OS unter Windows installieren

Um Raspbian mit Windows zu installieren, benötigen Sie:

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

**WICHTIG, wenn Sie es falsch gemacht haben, können Sie alle Ihre Daten verlieren. Bitte sichern Sie Ihre Daten, bevor Sie fortfahren**

  1. Stecken Sie Ihre SD-Karte in einen Kartenleser und öffnen Sie Arbeitsplatz
  2. Suchen Sie nach dem Laufwerksbuchstaben
  3. Klicken Sie mit der rechten Maustaste auf den Win32DiskImager und klicken Sie auf "Als Administrator ausführen".
  4. Klicken Sie dann auf den kleinen blauen Ordner und navigieren Sie zu Ihrem Image des RaspbianOS
  5. Klicken Sie auch auf das Dropdown-Feld unter Gerät und ändern Sie es in den Laufwerksbuchstaben der SD-Karte
  6. Klicken Sie dann auf "Schreiben"
  7. Ein Dialogfeld wird geöffnet, BEVOR Sie mit Ja bestätigen, dass das Zielgerät korrekt ist
  8. Entfernen Sie dann die SD-Karte und stecken Sie sie in das pi

Schritt 2: Raspbian OS mit Mac OS X installieren

Raspbian OS mit Mac OS X installieren
Raspbian OS mit Mac OS X installieren
Installieren Sie Raspbian OS mit Mac OS X
Installieren Sie Raspbian OS mit Mac OS X
Raspbian OS mit Mac OS X installieren
Raspbian OS mit Mac OS X installieren
Raspbian OS mit Mac OS X installieren
Raspbian OS mit Mac OS X installieren

Um Raspbian mit Mac zu installieren, benötigen Sie:

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

**WICHTIG, wenn Sie es falsch gemacht haben, können Sie alle Ihre Daten verlieren. Bitte sichern Sie Ihre Daten, bevor Sie fortfahren**

  1. Öffnen Sie das Festplatten-Dienstprogramm und suchen Sie auf der linken Seite nach Ihrer SD-Karte und klicken Sie dann darauf
  2. Suchen Sie unten im Fenster nach "Gerät". Sie sollten so etwas wie diskXsX sehen, wobei x eine Zahl ist
  3. Merken Sie sich die "Gerätenummer" und öffnen Sie ApplePi-Baker
  4. Es wird nach Ihrem Passwort fragen, da es Ihre SD-Karte formatieren muss
  5. Klicken Sie auf die "Device"-Nummer, die nach /dev/ auf der linken Seite ist
  6. Klicken Sie auf "Backup wiederherstellen". Navigieren Sie zu Ihrem Image von RaspbianOS.
  7. Es beginnt, die SD-Karte zu löschen und Raspbian darauf zu installieren
  8. Wenn dies erledigt ist, erscheint eine Warnbox, die Ihnen mitteilt, dass Sie die SD-Karte entfernen, entfernen und in Ihren Pi legen können.

Schritt 3: Einrichten des Pi

Bevor Sie den Pi einschalten, müssen Sie ein HDMI-Display, eine Tastatur und ein Ethernet-Kabel oder USB-WLAN anschließen (wir werden dies im nächsten Schritt einrichten).

Schalten Sie das Pi ein. Sie werden sehen, dass eine Reihe von Text den Bildschirm ausfüllt. Dies ist normal und ist Teil des Linux-Kernel-Starts. Warte einfach ein bisschen, bis du siehst

Himbeer-Login:

Ihr Benutzername ist pi und das Passwort ist raspberry (Sie sehen nichts auf dem Bildschirm, aber es wird noch eingegeben)

Wenn Sie sich dann anmelden, sehen Sie:

Dann müssen Sie eingeben:

sudo raspi-config

Ihr Bildschirm wird dann mit einem blauen Bildschirm mit Optionen in einem grauen Feld in der Mitte gefüllt.

  1. Heben Sie mit den Auf- und Ab-Tasten die Option "Dateisystem erweitern" hervor und drücken Sie die Eingabetaste. Nach einigen Sekunden werden Sie zu einer Warnung weitergeleitet, die besagt, dass "Root-Dateisystem in der Größe geändert wurde", klicken Sie auf Enter
  2. Drücken Sie dann den Abwärtspfeil und gehen Sie zu Boot-Optionen und klicken Sie auf Enter. Klicken Sie dann auf Enter, wenn 'Desktop / CLI' ausgewählt ist, markieren Sie dann 'Console Autologin' und klicken Sie auf Enter
  3. Wählen Sie dann Erweiterte Optionen und klicken Sie auf Enter
  4. Scrollen Sie dann nach unten zu ssh und klicken Sie auf die Eingabetaste, dann wählen Sie Ja aus
  5. Drücken Sie dann den Rechtspfeil, bis Zurück markiert ist, und drücken Sie die Eingabetaste
  6. Gehen Sie dann wieder nach unten und klicken Sie auf Fertig stellen. Sagen Sie dann Ja, um neu zu starten

Nachdem es neu gestartet wurde, wenn Sie über Ethernet verbunden sind, müssen Sie diesen Befehl eingeben, um Ihre IP-Adresse zu finden, damit wir per SSH in das Pi. gelangen können

IP suchen:

Hostname -I

Schritt 4: WLAN einrichten

Um das WLAN auf dem Pi einzurichten, müssen wir eine Datei bearbeiten

1. Geben Sie in die Befehlszeile ein

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Gehen Sie zum Ende der Datei und geben Sie ein

Netzwerk={

ssid="Ihr_Wifi_Name" psk="Ihr_WLAN_Passwort" }

3. Starten Sie dann Ihren Pi neu mit

sudo neu starten

Nachdem Ihr Pi neu gestartet wurde, erhalten Sie seine IP-Adresse durch Eingabe von

Hostname -I

Sie sollten Ihre IP-Adresse erhalten. Wenn der neu abgestimmte Text jedoch leer ist, bedeutet dies, dass der Pi keine Verbindung zu Ihrem Netzwerk herstellen konnte. Überprüfen Sie, ob Sie den WLAN-Namen und das Passwort richtig eingegeben haben, da die Groß-/Kleinschreibung beachtet wird.

Schritt 5: Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Windows her

Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Verwendung von Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Verwendung von Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Verwendung von Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Verwendung von Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Verwendung von Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Verwendung von Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Windows her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi unter Windows her

Nachdem wir das Pi mit dem Internet verbunden haben, können wir die Tastaturmaus und das Display entfernen und mit "ssh" eine Remote-Verbindung herstellen.

Um mit Windows in das Pi zu ssh, müssen Sie herunterladen

Kitt: [Download]

  1. Öffnen Sie Putty, geben Sie im Feld IP-Adresse die Himbeer-Pi-IP ein und drücken Sie dann auf Öffnen
  2. Sie erhalten ein Dialogfeld, das wie in Bild 2 aussieht, drücken Sie Ja
  3. Sie sehen dann einen neuen Dialog mit der Aufschrift "Anmelden als", geben Sie "pi" ein
  4. dann wird nach einem Passwort gefragt, geben Sie "raspberry" ein

Sie sind jetzt über ssh. mit dem Pi verbunden

Schritt 6: Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her

Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her
Stellen Sie eine Remote-Verbindung zu Ihrem Pi mit einem Mac her

Nachdem wir das Pi mit dem Internet verbunden haben, können wir die Tastatur und die Maus entfernen und mit "ssh" eine Remote-Verbindung herstellen.

1. Öffnen Sie „Terminal“

2. Geben Sie ein

ssh pi@IP_ADDRESS

3. Dann erhalten Sie möglicherweise eine Meldung, dass der Hostschlüssel nicht gespeichert ist. Geben Sie einfach "ja" ein

4. Geben Sie dann, wenn Sie befördert werden, das Himbeer-Pi-Passwort ein, das "Raspberry" ist

Sie sind jetzt über ssh. mit dem Pi verbunden

Schritt 7: Installieren der Software

Da wir jetzt Fernzugriff auf das Pi haben, müssen wir einige Software installieren, um den LED-Streifen zu steuern

Wir müssen installieren

  • pigpio (Dadurch werden alle GPIO-Pins von digital auf PWM umgestellt)
  • Flask (serverseitiges Skript, das mit pigpio und dem Webserver kommuniziert)
  • apache2 (Webserver)

Pigpio installieren

1. Zuerst müssen wir mit diesem Befehl einen Zip-Ordner herunterladen, der die unkompilierte Pigpio-Software enthält

wget

2. Wir müssen dann entpacken und in das Verzeichnis gehen

entpacken pigpio.zip && cd PIGPIO

3. Jetzt, wo wir im Verzeichnis sind, müssen wir die Software kompilieren und installieren

make -j4 && sudo make install

4. Öffnen Sie jetzt rc.local, damit wir dem Pi sagen können, dass es beim Start pigpiod laufen soll

sudo nano /etc/rc.local

dann kurz vor der Ausstiegslinie eintreten

sudo schweinchen

Sie haben nun die pigpio-Software installiert

Kolben installieren

Zuerst müssen wir die Liste der Software aktualisieren, um dies zu tun

sudo apt update && sudo apt upgrade -y

dann installiere pip

sudo apt-get install python-pip

Jetzt können wir die Flasche installieren

sudo pip install kolben

Apache2 installieren

sudo apt-get install apache2 -y

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

git installieren

sudo apt install git -y

Nachdem die Installation abgeschlossen ist, fahren Sie den Pi mit herunter

sudo jetzt herunterfahren

Schritt 8: Verdrahten der Stromversorgung

Strom verkabeln
Strom verkabeln
Strom verkabeln
Strom verkabeln
Strom verkabeln
Strom verkabeln

Zuerst müssen wir den Stromanschluss mit dem Brotbrett verdrahten

  1. Verbinden Sie das schwarze Kabel mit dem negativen Anschluss an der Strombuchse
  2. Verbinden Sie das rote Kabel mit dem positiven Anschluss an der Strombuchse
  3. Verbinden Sie das andere Ende des roten Kabels mit der positiven Seite des Steckbretts
  4. Verbinden Sie das andere Ende des schwarzen Kabels mit der positiven Seite des Steckbretts
  5. Verbinden Sie dann den Massestift vom Pi (wie im Bild zu sehen) mit dem negativen Pin auf dem Steckbrett

Jetzt müssen wir den Mostfet verbinden.

Schritt 9: Verdrahten der Mosfets und Anschließen des Pi

Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi
Verkabeln der Mosfets und Anschließen des Pi

Mit einem Mosfet können Sie steuern, wie viel Strom zu den LED-Leuchten gelangen kann. Wir benötigen drei Mosfets, da wir die roten, grünen und blauen Lichter separat steuern müssen.

Der Mosfet hat drei Pins, auf der linken Seite hat er den "Gate" -Pin, der mit dem Pi verbunden wird, um zu steuern, wie viel Strom zu den LED-Leuchten fließen kann

Der mittlere Pin heißt "Drain", der zu den LED-Leuchten geht und die Spannung liefert, die das Gate passieren lässt

und der Pin auf der rechten Seite ist der "Source" -Pin. Dieser Stift geht auf den Boden auf dem Steckbrett.

Anschließen der roten LED

  1. Legen Sie einen Mosfet in das Steckbrett
  2. Verbinden Sie ein schwarzes Kabel von GND auf dem Steckbrett mit der Quelle (rechter Pin)
  3. Verbinden Sie dann ein rotes Kabel vom Mittelstift des Mosfet mit dem roten Stift des LED-Streifens
  4. Verbinden Sie dann ein rotes Kabel vom linken Pin mit GPIO 17 auf dem Pi

Anschließen der grünen LED

  1. Legen Sie den zweiten Mosfet in das Steckbrett
  2. Verbinden Sie dann wie zuvor ein schwarzes Kabel von GND auf dem Steckbrett mit der Quelle (rechter Pin)
  3. Verbinden Sie dann einen grünen Draht vom mittleren Stift des Mosfet mit dem grünen Stift des LED-Streifens.
  4. Verbinden Sie dann ein grünes Kabel vom linken Pin mit GPIO 22 auf dem Pi

Anschließen der blauen LED

  1. Legen Sie den letzten Mosfet in das Steckbrett
  2. Verbinden Sie ein weiteres schwarzes Kabel von GND auf dem Steckbrett mit der Quelle (rechter Pin)
  3. Verbinden Sie dann ein blaues Kabel vom mittleren Stift des Mosfets mit dem blauen Stift des LED-Streifens.
  4. Verbinden Sie dann ein blaues Kabel vom linken Pin mit GPIO 24 auf dem Pi

Dann haben Sie einen weiteren Stift auf dem LED-Streifen, der weiß oder schwarz ist. Verbinden Sie einfach einen Draht vom positiven Stift auf dem Steckbrett mit diesem zusätzlichen Stift auf dem LED-Streifen

Jetzt, wo wir fertig sind, können wir mit dem Testen beginnen.

Schritt 10: Herunterladen und Testen des LED-Streifens

So laden Sie den Quellcode zur Steuerung des LED-Streifens herunter

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

Um den LED-Streifen zu testen, führen Sie die Datei test.py aus.

Python Test.py

Wenn aus irgendeinem Grund einige der Farben nicht leuchten, überprüfen Sie bitte, ob alles richtig eingesteckt ist.

Wie funktioniert dieses Skript?

Wenn Sie das Python-Skript öffnen, fragen Sie sich vielleicht, wie es funktioniert. In der ersten Zeile sehen Sie:

Importzeit

Diese kleine Bibliothek ermöglicht es uns, das Skript anzuhalten, damit wir die Lichter schneller anlassen können

Schwein importieren

Diese Bibliothek ermöglicht es uns, mit dem LED-Streifen zu kommunizieren

pi = pigpio.pi()

Richten Sie eine Variable ein, damit wir pi.set_pw… anstelle von pigpio.pi().set_pw… verwenden können.

RedPin = 17

GrünPin = 22

BluePin = 24

Dies sind nur Variablen, die es uns ermöglichen, dem Skript mitzuteilen, mit welchen LEDs verbunden sind

print("auf Rot testen")

Dies wird nur Text in die Befehlszeile drucken

pi.set_PWM_dutycycle(RedPin, 255)

Dieser Befehl ist Teil der Pigpio-Bibliothek und sagt, dass er den "RedPin" setzen soll, der nach der Nummer sucht, die wir zuvor festgelegt haben, und seine Helligkeit auf "255" setzt, was das Maximum ist

Zeit. Schlaf(2)

Dies ist Teil der Zeitbibliothek und wird das Skript nur für 2 Sekunden anhalten

Dieser geschmeidige Befehl wird für die anderen LEDs wiederholt, bis

pi.stop()

Das wird aufhören, mit dem LED-Streifen zu sprechen und alle Farben auszuschalten.

Schritt 11: Programmieren des serverseitigen Skripts

** Bevor Sie beginnen, empfehle ich Ihnen, etwas über Python und Kolben zu lesen:

Hier sind einige Anleitungen:

www.pythonforbeginners.com

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

flask.pocoo.org

Da Main.py direkt im Git ist, erklärt dieser Schritt nur den Code.

Zuerst haben wir die Bibliotheken

aus Kolbenimport Flask, render_template, request

Pigpio aus Thread importieren start_new_thread importieren

dann müssen wir einige Variablen setzen

app = Flasche(_name_)

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

Die erste Variable ist für Flask, unseren Webserver, den wir App nennen, damit er einfacher aufgerufen und ausgeführt werden kann. Dann gibt es 6 Variablen, von denen die ersten drei enthalten, welche Farbe zwei zu ändern ist, und die anderen drei enthalten die vorherige Farbe.

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

Diese Zeile besagt, dass, wenn jemand die IP-Adresse des Pi in einen Webbrowser eingibt, das darunter liegende Skript ausgeführt wird verwendet, um die Farbe des LED-Streifens zu ändern.

def Main():

global AktuelleFarbe

Der Text def Main() bedeutet, dass eine Funktion namens main erstellt wird, die von überall im Skript aufgerufen werden kann. und die globale Zeile bedeutet, dass die Variable im gesamten Skript aktualisiert wird.

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

CurrentColour=request.args.get('Colour') 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 == "Yellow": FadeTORGB(255, 157, 0) elif CurrentColour == "Purple": FadeTORGB(123, 0, 255) elif CurrentColour == "Black": FadeTORGB(0, 0, 0) return render_template('index.html')

Dieses Skript erhält einen beliebigen Namen nach der GET-Methode "Farbe" und speichert ihn. Es wird dann nach diesem Namen suchen und eine Funktion aufrufen, die drei andere Funktionen zum gleichzeitigen Ändern der roten, grünen und blauen Lichter bietet

def FadeTORGB(RedNum, BlueNum, GreenNum):

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

Dies ruft drei weitere Funktionen auf, die die Leistung jeder LED mit einem Fade-Effekt ändern.

def FadeUpRed(REDUpNum):

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

def FadeUpBlue(BlueUpNum):

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

def FadeUpGreen(GreenUpNum):

global GreenColourCode if 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")

Schritt 12: Programmieren des Webservers

Jetzt haben wir den Server, den wir brauchen, um eine Website zu entwerfen.

Da sich der Server direkt in den Vorlagen und statischen Ordnern im Git befindet, erklärt dieser Schritt nur den Code.

Ich empfehle Ihnen auch, etwas über HTML, CSS, Javascript zu lesen

HTML

Zuerst müssen wir HTML programmieren, hier kommt der gesamte Inhalt, der dann mit CSS formatiert werden kann

1. Kopf erstellen (Titel, Dateien verlinken,)

Wifi LED-Streifen

Die ersten beiden Tags teilen dem Webbrowser mit, dass es sich um eine Webseite handelt. Dann teilt die dritte Zeile dem Browser mit, dass er jeden Text innerhalb des Blocks ausblenden soll, und darunter befindet sich der Titel, der auf der Registerkarte angezeigt wird

Vollbild der Webseite unter iOS erstellen

Um die Seite im Vollbildmodus anzuzeigen, geben Sie diesen Code unter dem Tag ein

Als nächstes werden wir Verweise auf die CSS-Datei hinzufügen, die wir letztere erstellen werden

Danach MÜSSEN Sie das Tag schließen und ein Body-Tag erstellen

Das body-Tag bedeutet, dass alle darin enthaltenen Tags auf der Webseite erscheinen

Jetzt werden wir die Farbknöpfe machen, die den LED-Streifen ändern können.

Wir erstellen für jede Farbe eine und legen sie in eine Tabelle ein

Dies ist der äußere Rahmen des Tisches

Dadurch wird eine Zeile für die Tabelle erstellt

Jetzt erstellen wir einen orangefarbenen Button

das Tag td erstellt eine Zelle, dann ruft die "onClick"-Funktion eine Javascript-Funktion auf, die wir später erstellen werden.

Wir müssen nur den sendColour-Text und den Stil für jeden anderen Button ändern, aber nach jedem 2. Button schließen wir die Zeile und erstellen eine neue Zeile

Etc…

Nachdem Sie alle Farben eingegeben haben, müssen Sie die Tabelle schließen

Javascript

Jetzt müssen wir die Funktion "SendColour" hinzufügen, auf die wir zuvor verwiesen haben. Dazu müssen wir zuerst ein Tag hinzufügen, das dem Webbrowser mitteilt, dass es Javascript gibt

dann erstelle eine Funktion

Funktion SendColor(ClickedColor) {

Diese Funktion sendet eine Ajax-Anfrage an den Himbeer-Pi, die ihm sagt, dass er die Farbe annehmen soll, auf die Sie geklickt haben

xhttp = new XMLHttpRequest();

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

Jetzt müssen wir Javascript und HTML schließen

CSS

Jetzt werden wir die Website gestalten

erste CD aus dem Vorlagenordner und in den statischen Ordner gehen

cd.. && cd statisch

Erstellen Sie nun die Datei Style.css

nano Style.css

Lassen Sie zunächst die Tabelle den gesamten Bildschirm ausfüllen.

. Farben {

Breite: 100 %; }

. Taste {

Polsterung: 25px 35px; Randradius: 4px; }

Testen des Servers

Um den Server zu testen, gehe in den Webserver-Ordner

CD..

dann geben Sie ein

Python Main.py

Dadurch wird der Server gestartet, öffnen Sie dann auf Ihrem Computer den Webbrowser und navigieren Sie zu

YOUR_PI_PI:5000die:5000 am Ende ist vorerst wichtig, da es der Port ist, auf dem der Webserver läuft.

Wenn Sie auf die Webseite gehen und einen "Internal Server Error" erhalten, dann schauen Sie auf die Konsole (Putty oder Terminal) und Sie werden eine Menge Text sehen, schauen Sie sich einfach die letzte Zeile an und es sollte. Ihnen sagen, was los ist, können Sie googeln, um die Antwort zu finden, Aber wenn Sie die Farben auf dem Bildschirm sehen, können Sie auf eine klicken und Sie sollten sehen, dass der LED-Streifen diese Farbe hat. Wenn nicht, überprüfen Sie, ob der Strom angeschlossen und eingeschaltet ist oder ob der HTML-Code richtig eingegeben wurde.

Schritt 13: So funktioniert es mit Apache2

Nachdem wir es nun getestet haben, müssen wir es dazu bringen, mit Apache zu kommunizieren, damit es beim Start und auf Port 80 (Standard-Webport) ausgeführt werden kann.

1. Erstellen Sie in Ihrem WebServer-Ordner eine wsgi-Datei

nano wifiled.wsgi

Dann in die Datei eingeben

Importsystem

sys.path.insert(0, '/home/pi/Webserver/') von der Haupt-Import-App als Anwendung

Fügen Sie dann den Benutzer pi zu einer Gruppe namens www-data hinzu, damit Apache im Webserverordner nachsehen kann

sudo usermod -a -G www-data pi

dann entferne die Standardkonfiguration

sudo a2dissite 000-default

Erstellen Sie dann eine Datei im Apache-Konfigurationsordner

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

und geben Sie ein

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias / /home/pi/Webserver/wifiled.wsgi Auftrag erlauben, verweigern Von allen zulassen Alle Berechtigungen anfordern ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log kombiniert

Sagen Sie dann Apache, dass er die Konfiguration lesen soll, indem Sie eingeben

sudo a2ensite wifiled.conf

Starten Sie nun den Pi neu, wenn er neu gestartet wird, geben Sie in Ihren Webbrowser ein

IHRE_PI_IP

Schritt 14: Tasker und Ifttt und andere Dienste einrichten

Bevor wir diese Programme einrichten, müssen Sie Port-Fording auf Ihrem Router einrichten, da jeder Router anders ist. Lesen Sie hier, wie es geht

Tasker

Öffnen Sie Taker auf Ihrem Android-Gerät

Erstellen Sie dann ein neues Profil, das auf einem Ereignis basiert, können Sie einen beliebigen Auslöser auswählen. Ich habe "Telefon klingeln" gewählt und die Farbe auf "C: ANY" gesetzt. Dann werden Sie aufgefordert, eine Aufgabe auszuwählen, auf "Neue Aufgabe" zu klicken und sie basierend auf Ihrer Aktion zu benennen. Ich nenne es "Telefonanruf", dann drücke Aktion hinzufügen und suche nach "HTTP Head" und setze den Server:Port auf your_raspberry_pi_IP. Dann kannst du unter Pfad entweder eine Volltonfarbe mit "/?Colour=Green" einstellen oder du kannst einen erstellen Effekt werden wir dies im nächsten Schritt tun. Klicken Sie dann zurück und wieder zurück.

IFTTT

Gehe zuerst zu ifttt und erstelle ein neues Applet Wähle einen Trigger (ich habe Button gewählt) und dann wähle für die Aktion den Maker-Kanal und sagte, dass wir eine Anfrage machen sollen, dann gib für die URL YOUR_PUBLIC_PI/?Colour=LightBlue ein, wenn du deine Öffentlichkeit nicht kennst ip einfach "Meine IP" bei Google eingeben. Geben Sie dann als Methode HEAD ein und klicken Sie dann auf "Aktion erstellen", wenn Ihre Aktion ausgeführt wird, wenn Sie eine Anfrage an Ihren Pi stellen, um die Farbe zu ändern.

Sonstige Dienstleistungen

Sie können auch andere Dienste verbinden, die HTTP HEAD- oder GET-Anfragen stellen.

Schritt 15: Erstellen von benutzerdefinierten Effekten

Fügen Sie in Main.py eine Importanweisung hinzu, unter import os enter

Importzeit

Auch bevor wir einen Effekt erstellen, müssen wir eine Variable direkt unter GreenBeforeEffect add hinzufügen

KannFarbe ändern = True

dann ändern, wenn request.args.get('Farbe'):

zu

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

Abschnitt direkt unter return render_template('Main.html') hinzufügen

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

def Effekt():

Setzen Sie dann die Variablen auf global

x = 0

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

Jetzt können wir unseren ersten Effekt erstellen

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

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

Diese Aktion wird ausgeführt, wenn das Pi eine Anfrage wie "/?Effect=Call" empfängt und die aktuelle Farbe speichert, damit wir sie zurückrufen können. Wir machen dann den LED-Streifen schwarz und warten, bis es passiert.

Jetzt werden wir die LED von schwarz auf grün und dann wieder auf schwarz verblassen lassen und ich möchte dies fünfmal tun

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, BlueBeforeEffect, GreenBeforeEffect)

Dies wird bis fünf zählen, aber jedes Mal wird es grün und dann eine Sekunde warten und dann schwarz werden. Dann ändert sich die Farbe wieder in die Farbe, die Sie vor dem Ändern hatten.

Jetzt müssen wir nur noch eine Antwort erstellen.

Rückkehr ""

Starten Sie auch Himbeer-Pi. neu

sudo neu starten

Empfohlen: