- Erforderliche Materialien:
- Schaltplan:
- Himbeer-Python-Programm:
- Steuern von LEDs mit Raspberry Pi und Telegram Bot:
Telegramm ist eine optimale Anwendung zur Kombination mit Raspberry Pi für alle unsere mobilen Steuerungszwecke. Es hat eine sehr gute Entwicklerunterstützung und viele Funktionen sind geplant, um bald veröffentlicht zu werden, um die Leistung von Telegramm-Bots zu verbessern. In unserem vorherigen Tutorial haben wir gelernt, wie wir einen Telegramm-Bot für Himbeer-Pi einrichten können, und wir haben auch gelernt, mit ihm zu chatten und Bilder, Dokumente und Audiodateien zu teilen.
Jetzt werden wir mit dem nächsten Schritt fortfahren und lernen, wie wir die GPIO-Pins auf Himbeer-Pins mithilfe von Telegramm steuern können, damit wir unseren Bot Hardware-Unterstützung bieten können. In diesem Tutorial verbinden wir vier LEDs mit den Raspberry Pi GPIO-Pins und schalten sie in natürlicher Sprache (wie beim Chatten) von Telegram um. Klingt interessant, oder? Fangen wir an.
Erforderliche Materialien:
- Vier LED (jede Farbe)
- Raspberry Pi (mit Internetverbindung)
- Steckbrett
- Kabel anschließen
Voraussetzungen:
Bevor Sie mit dem Tutorial fortfahren, stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist und Sie Python-Programme auf Ihrem Pi ausführen können. Lesen Sie auch das vorherige Tutorial, um zu erfahren, wie Sie einen Telegramm-Bot mit Raspberry Pi Pi einrichten, da ich davon ausgehen werde, dass Sie mit diesen Dingen vertraut sind, um mit dem Projekt fortzufahren.
Wenn Sie Raspberry Pi noch nicht kennen, lesen Sie unseren Raspberry Pi-Einführungsartikel und andere Raspberry Pi-Tutorials.
Schaltplan:
Das Schaltbild zur Steuerung von LEDs mit Raspberry Pi und Telegram Android App besteht aus nur vier LEDs und einigen Verbindungskabeln. Die Strombegrenzungswiderstände werden nicht benötigt, da die Raspberry Pi GPIO-Pins mit 3,3 V TTL arbeiten. Folgen Sie der Schaltung unten und schließen Sie Ihre LED an.
Die folgende Tabelle hilft Ihnen bei der Ermittlung der Pin-Nummer und der GPIO-Nummer für den Anschluss von vier LEDs.
LED-Terminal |
PIN Nummer |
GPIO-Nummer |
Grüne Anode |
Pin 31 |
GPIO 6 |
Rote Anode |
Pin 33 |
GPIO 13 |
Gelbe Anode |
Pin 35 |
GPIO 19 |
Weiße Anode |
Pin 37 |
GPIO 26 |
Kathode aller vier |
Pin 39 |
Boden |
Unten sehen Sie den Schaltplan, in dem vier LEDs gemäß der obigen Tabelle angeschlossen sind:
Sobald Sie Ihre Verbindungen hergestellt haben, sollte Ihre Hardware-Einrichtung ungefähr so aussehen.
Himbeer-Python-Programm:
Sobald die Hardware fertig ist, können wir mit dem Python-Programm fortfahren. In diesem Programm müssen wir die vom Telegramm-Bot gesendeten Daten (Nachrichten) lesen und die LED entsprechend umschalten. Um es natürlicher zu machen, können wir, anstatt jeden Satz zu überprüfen und diesen Satz in unserem Programm hart zu codieren, nach Wörtern suchen und entsprechend vorgehen.
Das Programm sucht also hauptsächlich nach zwei Wörtern, sie sind ein- und ausgeschaltet. Sobald eines dieser beiden Wörter erkannt wird, wird nach anderen Schlüsselwörtern wie Weiß, Gelb, Grün und Rot gesucht. Die entsprechende Farb-LED wird nur umgeschaltet, wenn das Wort erkannt wird. Wir werden auch eine Zeichenfolge für die erkannten Wörter aktualisieren, um eine Nachricht an den Telegramm-Bot zurückzusenden.
Das vollständige Programm finden Sie unten auf dieser Seite. Gleich unten habe ich das Programm erklärt, indem ich es in kleine sinnvolle Junks zerlegt habe.
Damit dieses Programm funktioniert, muss der Telepot heruntergeladen und in unseren Raspberry Pi importiert werden. In unserem vorherigen Tutorial haben wir den Teleport bereits in unseren Raspberry Pi heruntergeladen. Jetzt müssen wir ihn nur noch zusammen mit der GPIO-Bibliothek in unser Programm importieren, wie unten gezeigt.
importiere RPi.GPIO als GPIO importiere Telepot aus telepot.loop importiere MessageLoop
Mit diesem Programm steuern wir die LED-Beleuchtung und die Farbe der LEDs ist Weiß, Gelb, Rot und Grün. Sie sind mit den im Schaltplan gezeigten Pins verbunden; Definieren wir die Pin-Namen für diese LEDs basierend auf ihrer Farbe, damit sie im Programm verwendet werden.
weiß = 26 gelb = 19 rot = 13 grün = 6
Der nächste Schritt wäre , alle diese LED-Pins als Ausgangs-Pins zu definieren und sie mithilfe der folgenden Zeilen als standardmäßig ausgeschaltet zu definieren.
#LED White GPIO.setup (weiß, GPIO.OUT) GPIO.output (weiß, 0) #Off initial #LED Yellow GPIO.setup (gelb, GPIO.OUT) GPIO.output (gelb, 0) #Off initial #LED Rot GPIO.setup (rot, GPIO.OUT) GPIO.output (rot, 0) #Aus anfänglich #LED grün GPIO.setup (grün, GPIO.OUT) GPIO.output (grün, 0) #Off anfangs
Wie wir in unserem vorherigen Tutorial erfahren haben, werden alle Aktionen, die vom Raspberry-Bot ausgeführt werden müssen, innerhalb der Funktionsaktion definiert. Hier müssen wir den Bot dazu bringen, die vom Handy gesendete Nachricht abzuhören, sie mit einigen Schlüsselwörtern zu vergleichen und die LED entsprechend umzuschalten.
Für jede Nachricht, die wir vom Handy aus senden, gibt es eine Chat-ID und einen Befehl. Diese Chat-ID wird vom Programm benötigt, um dem Absender zu antworten. Also speichern wir die Chat-ID und die Nachricht wie unten gezeigt.
chat_id = msg command = msg
Nun, was wir aus dem Telefon senden wird als String in der Variable gespeichert Befehl . Wir müssen also nur nach Schlüsselwörtern in dieser Variablen suchen. Python hat einen Befehl, der die Sache hier einfach macht. Wenn wir beispielsweise überprüfen müssen, ob das Wort "on" in der in der Befehlsvariablen gespeicherten Zeichenfolge vorhanden ist, können wir einfach die folgende Zeile verwenden.
wenn 'on' im Befehl:
In ähnlicher Weise suchen wir nach allen Schlüsselwörtern. Sobald wir ein "Ein" erhalten, prüfen wir, welche Farbe der Benutzer erwähnt hat. Dies geschieht auch mit denselben Befehlen, indem dieselben Schlüsselwörter verglichen werden. Wir aktualisieren auch eine Zeichenfolge mit dem Namen message , die als Statusnachricht an den Benutzer zurückgesendet werden kann.
if 'on' im Befehl: message = "Turned on" if 'white' im Befehl: message = message + "white" GPIO.output (weiß, 1) if 'yellow' im Befehl: message = message + "yellow" GPIO.output (gelb, 1) wenn 'rot' im Befehl: message = message + "red" GPIO.output (rot, 1) wenn 'green' im Befehl: message = message + "green" GPIO.output (grün, 1) wenn 'all' im Befehl: message = message + "all" GPIO.output (weiß, 1) GPIO.output (gelb, 1) GPIO.output (rot, 1) GPIO.output (grün, 1) message = message + "light (s)" telegram_bot.sendMessage (chat_id, message)
Wie oben gezeigt, suchen wir nur nach Schlüsselwörtern wie "grün", "weiß", "rot", "gelb" und "alle" und "eingeschaltet" für diese bestimmte LED. Sobald die Arbeit erledigt ist, senden wir dem Benutzer eine Nachricht zurück, was gerade passiert ist. Die gleiche Methode kann verwendet werden, um das Licht gut auszuschalten.
if 'off' im Befehl: message = "Turned off" if 'white' im Befehl: message = message + "white" GPIO.output (weiß, 0) if 'yellow' im Befehl: message = message + "yellow" GPIO.output (gelb, 0) wenn 'rot' im Befehl: message = message + "red" GPIO.output (rot, 0) wenn 'green' im Befehl: message = message + "green" GPIO.output (grün, 0)) wenn 'all' im Befehl: message = message + "all" GPIO.output (weiß, 0) GPIO.output (gelb, 0) GPIO.output (rot, 0) GPIO.output (grün, 0) message = message + "light (s)" telegram_bot.sendMessage (chat_id, message)
Steuern von LEDs mit Raspberry Pi und Telegram Bot:
Schließen Sie Ihre LEDs an und starten Sie Ihr Programm auf Python. Stellen Sie sicher, dass Sie die Token-Adresse für Ihren Bot geändert haben. Geben Sie die gewünschten Befehle ein. Um beispielsweise das rote und gelbe Licht einzuschalten, können Sie einen der folgenden Befehle verwenden.
1. Schalten Sie rotes und gelbes Licht ein
2.Schalten Sie die rote und gelbe Farbe rechts ein
3. Auf rot und gelb
4.Please setzen auf den gelben und roten Licht
Wie Sie sehen können, sucht der Bot nur nach den Schlüsselwörtern und ignoriert die anderen Wörter im Satz. Auf diese Weise können Sie natürlich mit ihm sprechen. Die vollständige Arbeitsweise des Projekts finden Sie im Video am Ende dieser Seite.
Gehen Sie geradeaus! Spielen Sie mit Ihrem Projekt und haben Sie Spaß. Sie können es jetzt auf eine ganz neue Ebene bringen. Mit beiden kombinierten Tutorials können wir jede Hardware von unserem Smartphone aus überall auf der Welt steuern und Eingaben / Ergebnisse von unserem Raspberry Pi in Form von Nachrichten, Audio, Bild und sogar als Dokument erhalten. Wenn Sie die LEDs durch Relais und Wechselstromgeräte ersetzen, kann es sich um eine Smartphone-gesteuerte Hausautomation handeln. Verwenden Sie also Ihre Kreativität und bauen Sie Ihre eigenen coolen Projekte…
Ich hoffe, Ihnen hat das Projekt gefallen und Sie haben es genossen, etwas Ähnliches zu bauen. Lassen Sie mich im Kommentarbereich wissen, wenn Sie Probleme haben, und ich helfe Ihnen gerne weiter. Teilen Sie mir auch Ihre coole Idee mit und lassen Sie uns sehen, was wir bauen können.