IoT -Schnittstellen einfach gemacht mit Nextion, Raspberry Pi und Ubidots
Kennst du schon Nextion Display ? Mit Nextion kannst du beeindruckende Benutzeroberflächen erstellen, selbst wenn deine Programmierkenntnisse auf „Hallo Welt!“ beschränkt sind. Und das ist noch nicht alles: Nextion Display ist mit Arduino und allen Raspberry Pi-Versionen kompatibel.
Dieses Tutorial zeigt Ihnen, wie Sie Ihrer Nextion-Anzeigeoberfläche eine Ubidots Schaltfläche hinzufügen
Anforderungen
Beschreibung
Die Logik hinter der Aktivierung eines Ubidots Buttons in Ihrem Nextion-Display ist recht einfach. Beim Drücken des Buttons ändert sich eine Variable in Ubidots . Ist der Button aktiviert, hat die Variable den Wert 1, andernfalls 0.
Wir empfehlen Ihnen, der Anleitung „ So richten Sie die WLAN-Verbindung Ihres Raspberry Pi ein“ und sich außerdem mit der Verbindung über das SSH-Terminal vertraut zu machen.
Aufstellen
- Laden Sie die Ubidots Nextion-Datei .
- Kopieren Sie die Datei mit dem Namen Nextion.HMI auf die microSD-Karte. (Die Karte darf keine anderen Dateien enthalten und muss mit FAT32 formatiert sein).
- Gut. Stecken Sie die microSD-Karte in den microSD-Anschluss des Nextion.
- 4. Schalten Sie das Nextion-Display ein und warten Sie, bis die Datei aktualisiert ist. Entnehmen Sie anschließend die microSD-Karte
- Verbinde das Nextion-Display mit dem Raspberry Pi.
- Schließen Sie nun Ihren Raspberry Pi gemäß dieser Tabelle an:
| Nextion-Display | Himbeere |
|---|---|
| 5V | 5V |
| TX | RX |
| RX | TX |
| GND | GND |
- Schalten Sie Ihren Raspberry Pi ein und warten Sie einige Minuten, bis er hochgefahren ist.
Voilà! Jetzt sollte es ungefähr so aussehen:

Da der Raspberry Pi TX und RX auch für den Zugriff auf die Shell verwendet, muss diese Option deaktiviert werden, damit der Nextion diese Pins zur Kommunikation mit dem Raspberry Pi nutzen kann. Gehen Sie dazu wie folgt vor:
-
Stellen Sie über SSH eine Verbindung zum Raspberry Pi her.
-
Kopieren Sie dies und fügen Sie es im Raspberry-Terminal ein:
sudo systemctl stop serial-getty@ttyAMA0.service
Gut gemacht. Beim Eingeben dieses Befehls sollte keine Zeile über ttyAMA0 angezeigt werden:
ps aux | grep tty
Code
Damit ist die Konfiguration abgeschlossen, die für die Verbindung des Displays mit der Ubidots -Cloud erforderlich ist.
- Erstelle eine Python-Datei mit dem Namen „ display.py “.
nano display.py
- Kopieren Sie den Code (wir sind fast fertig, keine Sorge =D).
import requests import binascii import serial with serial.Serial('/dev/ttyAMA0', 9600, timeout=10) as ser: while True: ser.flush() respuesta = binascii.hexlify(ser.read(4)) if respuesta == "01000000": r = requests.post('ubidots', data = {'value':1}) if respuesta == "00000000": r = requests.post('ubidots', data = {'value':0})
- Ändern Sie das TOKEN, die Variablenbezeichnung und die Gerätebezeichnung so, dass sie zu Ihrem Gerät und der Variablen passen, die Sie mit der Schaltfläche steuern möchten.
- Speichern und beenden.
- Führe das Python-Skript aus, und schon bist du fertig.
sudo python display.py
Hervorragend! Sie sollten nun in der Lage sein, eine Ubidots Variable von Ihrem Nextion-Display aus fernzusteuern:
Teilen Sie Ihre Ergebnisse gerne in unserer IoT -Entwickler-Community , um weitere Anregungen oder Hilfe zu erhalten!
