- Erforderliche Komponenten:
- Arbeitserklärung und Erstellen der Webseite:
- Schaltungserklärung:
- Programmiererklärung und Kolben:
Wir alle sind mit dem Wireless Notice Board vertraut, da wir bereits ein Wireless Notice Board mit GSM und Arduino erstellt haben. Aber heute gehen wir einen Schritt voraus und anstatt GSM als drahtloses Medium zu verwenden, verwenden wir diesmal das Internet, um die Nachricht vom Webbrowser drahtlos an das LCD zu senden, das mit Raspberry Pi verbunden ist. Da die Nachricht über den Webbrowser gesendet wird, kann sie über Computer, Smartphone oder Tablet gesendet werden, sodass ein weiteres Projekt in unsere IoT-Projektsammlung aufgenommen wird.
In diesem webgesteuerten Schwarzes Brett haben wir einen lokalen Webserver zur Demonstration erstellt. Dies kann ein globaler Server über das Internet sein. Beim Raspberry Pi haben wir 16x2 LCD verwendet, um die Nachricht anzuzeigen, und Flask, um die Nachricht über das Netzwerk zu empfangen. Immer wenn Raspberry eine drahtlose Nachricht vom Webbrowser empfängt, wird diese auf dem LCD angezeigt. Wir werden in diesem Artikel ausführlich auf diese Dinge eingehen.
Erforderliche Komponenten:
- Raspberry Pi 3 (jedes Modell)
- Wi-Fi USB-Adapter (wenn Sie Raspberry Pi 3 nicht verwenden)
- 16x2 LCD
- Brotbrett
- Netzkabel für Raspberry Pi
- Kabel anschließen
- 10K Pot
Arbeitserklärung und Erstellen der Webseite:
In diesem Projekt ist die Hauptkomponente Raspberry Pi, das Herzstück dieses Projekts und zur Steuerung der mit diesem Projekt verbundenen Prozesse. Wie: LCD fahren, "Benachrichtigungsnachrichten" vom Server empfangen usw.
Hier haben wir einen Webserver erstellt, mit dem Sie mithilfe von Flask in einem Webbrowser eine Benachrichtigung an Raspberry Pi senden können. Die Flasche ist ein Mikroframework für Python. Dieses Tool basiert auf Unicode und verfügt über einen integrierten Entwicklungsserver und Debugger, integrierte Unterstützung für Komponententests, Unterstützung für sichere Cookies und ist einfach zu bedienen. Diese Dinge machen es für den Bastler nützlich .
Wir haben eine Webseite mit einer TextBox und einer Senden-Schaltfläche erstellt, auf der wir unsere „Benachrichtigungsnachricht“ in TextBox eingeben und dann durch Klicken auf die Schaltfläche Senden an den Server senden können. Diese Webanwendung wird in HTML-Sprache entwickelt. Der Code dieser Webseite ist unten angegeben und sehr leicht zu verstehen.
Web Control Schwarzes Brett (Circuit Digest)
Hinweis erfolgreich übermittelt: {{value}}
{% endif%}Der Benutzer muss den oben angegebenen HTML-Code in einen Texteditor (Editor) kopieren und einfügen und die Datei mit der Erweiterung.HTML speichern. Legen Sie diese HTML-Datei dann in demselben Ordner ab, in dem Sie Ihre Python-Code-Datei (am Ende angegeben) für dieses webgesteuerte Schwarzes Brett abgelegt haben. Jetzt können Sie einfach den Python-Code in Raspberry Pi ausführen , die IP-Adresse von Ihrem_Pi: 8080 im Webbrowser öffnen (z. B. 192.168.1.14:8080), die Nachricht eingeben und auf Senden klicken. Sobald Sie die Nachricht senden, wird die Nachricht aktiviert LCD an Raspberry Pi angeschlossen. Überprüfen Sie den gesamten Vorgang am Ende in Demonstrationsvideo.
Die Webseite wird mit HTML - Sprache erstellt, die enthalten ein Formular ein, die Textbox und einreichen Knopf, mit Überschrift (h1 - Tag) Web Control Notice Board . Das Formular hat "Ändern" ist die Aktion , die im Code mit der Post- Methode ausgeführt wird, wenn wir auf die Schaltfläche Senden klicken. Der Schieberegler ist mit der Bezeichnung „Notice Message“ blockiert.
Danach können wir eine optionale Zeile hinzufügen, um den Text anzuzeigen, den wir über den Server an den Raspberry Pi gesendet haben.
{% wenn Wert%}
Hinweis erfolgreich übermittelt: {{value}}
{% endif%}Der Wert im Textfeld wird überprüft. Wenn das Textfeld einen Wert enthält, wird der Text auf der Webseite selbst gedruckt, sodass der Benutzer auch die übermittelte Nachricht sehen kann. Hier ist 'Wert' "Eingabetext oder Benachrichtigung", die wir in das Schieberegler oder Textfeld eingeben.
Schaltungserklärung:
Die Verbindungen für dieses Wireless Message Board sind sehr einfach. Wir müssen das LCD nur mit der Raspberry Pi-Karte verbinden, indem wir einige Anschlüsse über der Brotplatte verwenden. Der Benutzer kann keine Leiterplatte für Verbindungen verwenden. Die RS-, RW- und EN-Pins des LCD sind direkt mit Pin 18, GND und 23 verbunden. Die Datenpins des LCD D4, D5, D6, D7 sind direkt mit dem GPIO 24, 16, 20, 21 von Raspberry Pi verbunden. Ein 10K-Poti ist wird verwendet, um die Helligkeit des LCD zu steuern.
Denken Sie auch daran, wenn Sie Raspberry Pi 3 nicht haben, müssen Sie den USB-WLAN-Adapter für eine niedrigere Version von Raspberry Pi verwenden, da diese kein integriertes WLAN wie Raspberry Pi 3 haben.
Programmiererklärung und Kolben:
Wir verwenden hier die Python-Sprache für das Programm. Vor dem Codieren muss der Benutzer Raspberry Pi konfigurieren. In unseren vorherigen Tutorials finden Sie Informationen zu den ersten Schritten mit Raspberry Pi und zum Installieren und Konfigurieren von Raspbian Jessie OS in Pi.
Vor dem Programmieren von Raspberry Pi muss der Benutzer ein Flaschenunterstützungspaket mit den folgenden Befehlen in den Raspberry Pi installieren:
$ pip install Flask
Danach können Sie das Python-Programm im Python-Editor von Raspberry Pi ausführen. Zuvor müssen Sie jedoch die IP-Adresse im Programm durch die IP-Adresse Ihres Raspberry Pi ersetzen. Sie können die IP-Adresse Ihrer RPi-Karte mit dem Befehl ifconfig überprüfen:
Ifconfig
Der Programmierteil dieses Projekts spielt eine sehr wichtige Rolle bei der Durchführung aller Operationen. Zunächst fügen wir die erforderlichen Bibliotheken für Flask hinzu, initialisieren Variablen und definieren Pins für LCD.
aus flaschenimport flaschen aus flaschenimport render_template, anfordern import RPi.GPIO als gpio import os, zeit app = flask (__ name__) RS = 18 DE = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Für LCD wird die Funktion def lcd_init () verwendet, um das LCD im Vier-Bit-Modus zu initialisieren, die Funktion def lcdcmd (ch) wird zum Senden des Befehls an das LCD verwendet, die Funktion def lcddata (ch) wird zum Senden von Daten an das LCD verwendet und die Funktion def lcdstring (Str) Funktion wird verwendet, um Datenzeichenfolgen an das LCD zu senden. Sie können alle diese Funktionen im nachfolgenden Code überprüfen.
Der folgende Teil des Programms wird verwendet, um die Nachricht vom Webbrowser mit Flask an Raspberry Pi zu senden. Weitere Informationen zur Programmierung mit Flask finden Sie hier.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", Methods =) def change (): if request.method == 'POST': # Abrufen des Werts von der Webseite data1 = request.form lcdcmd (0x01) lcdprint (data1) gibt render_template ('web.html', value = data1) zurück, wenn __name__ == "__main__": app.debug = True app.run ('192.168.1.14', Port = 8080, Debug = True)
Auf diese Weise können wir die Nachricht von unserem Computer oder Smartphone an das Raspberry Pi LCD senden und ein IoT-basiertes Wireless Notice Board über das Web steuern. Überprüfen Sie den vollständigen Python-Code und das Demonstrationsvideo unten.