Interfaces IoT simplifiées avec Nextion, Raspberry Pi et Ubidots
Avez-vous entendu parler de Nextion Display ? Nextion vous permet de créer des interfaces impressionnantes, même si votre niveau de codage est « bonjour tout le monde ! ». Sa génialité ne s’arrête pas ici. Il peut fonctionner avec Arduino et toutes les versions de Raspberry Pi.
Ce tutoriel va vous montrer comment ajouter un bouton Ubidots à votre interface d'affichage Nextion
Exigences
Description
La logique derrière l'activation d'un Ubidots dans votre écran Nextion est assez simple. Lorsque vous appuyez sur le bouton, une variable dans Ubidots change. Si le bouton est activé, la variable aura la valeur 1, sinon 0.
Nous vous recommandons de suivre le guide Comment configurer la connexion WiFi de votre Raspberry Pi , et d'apprendre également comment s'y connecter via le terminal SSH.
Installation
- Téléchargez le fichier Ubidots .
- Copiez le fichier nommé Nextion.HMI sur la carte micro SD. (La mémoire ne doit contenir aucun autre fichier et doit être formatée en FAT32).
- Bien. Insérez la carte micro SD dans le port micro SD Nextion.
- 4. Allumez l'écran Nextion et attendez que le fichier soit mis à jour, puis extrayez la micro SD
- Connectez l'écran Nextion au Raspberry Pi.
- Maintenant, câblez votre Raspberry Pi selon ce tableau :
Affichage suivant | Framboise |
---|---|
5V | 5V |
Émission | RX |
RX | Émission |
GND | GND |
- Allumez votre Raspberry Pi et attendez quelques minutes jusqu'à ce qu'il démarre.
Voilà ! Vous devriez maintenant obtenir quelque chose comme ceci :
Étant donné que le Raspberry utilise également TX et RX pour accéder au shell, nous devons désactiver cette option afin que Nextion puisse utiliser ces broches pour communiquer avec le Raspberry. Pour ce faire, suivez simplement ces étapes :
-
Connectez-vous au Raspberry via SSH.
-
Copiez et collez ceci dans le terminal Raspberry :
sudo systemctl stop serial-getty@ttyAMA0.service
Bien joué. Vous ne devriez voir aucune ligne concernant ttyAMA0 lorsque vous entrez cette commande :
psaux | grep tty
Code
Nous avons maintenant terminé la configuration nécessaire pour connecter l'écran au cloud Ubidots .
- Créez un fichier python nommé « display.py ».
nano display.py
- Copiez et collez le code (nous avons presque terminé, ne vous inquiétez pas =D).
requêtes d'importation import binascii import série avec serial.Serial('/dev/ttyAMA0', 9600, timeout=10) as ser: while True: ser.flush() réponse = binascii.hexlify(ser.read(4)) si réponse == "01000000": r = requêtes.post('http: ubidots .com/api/v1.6/devices/DEVICE_LABEL/VARIABLE_LABEL/values?token=TOKEN', data = {'value':1 }) si réponse == "00000000": r = requêtes.post('http: ubidots .com/api/v1.6/devices/DEVICE_LABEL/VARIABLE_LABEL/values?token=TOKEN', data = {' valeur':0})
- Modifiez le TOKEN, l'étiquette de la variable et l'étiquette de l'appareil pour qu'ils correspondent à votre appareil et à la variable que vous souhaitez contrôler à l'aide du bouton.
- Enregistrez et quittez.
- Exécutez le script python et vous avez terminé.
sudo python display.py
Super travail ! Vous devriez maintenant pouvoir contrôler une variable Ubidots à distance depuis votre écran Nextion :
N'hésitez pas à partager vos résultats dans notre communauté de développeurs IoT pour obtenir d'autres commentaires ou de l'aide !