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 exceptionnelles, même si vous débutez en programmation. Et ce n’est pas tout ! Il est compatible avec Arduino et toutes les versions de Raspberry Pi.
Ce tutoriel vous montrera comment ajouter un bouton Ubidots à votre interface d'affichage Nextion
Exigences
Description
Le principe d'activation d'un Ubidots sur votre écran Nextion est très simple. Lorsqu'on appuie sur le bouton, une variable dans Ubidots change. Si le bouton est activé, la variable prend la valeur 1, sinon 0.
Nous vous recommandons de suivre le guide « Comment configurer la connexion Wi-Fi de votre Raspberry Pi » et d'apprendre également à vous y connecter via le terminal SSH.
Installation
- Téléchargez le Ubidots Nextion .
- Copiez le fichier nommé Nextion.HMI sur la carte micro SD. (La carte 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 du Nextion.
- 4. Allumez l'écran Nextion et attendez la fin de la mise à jour du fichier, puis retirez la carte microSD
- Connectez l'écran Nextion au Raspberry Pi.
- Maintenant, connectez votre Raspberry Pi en suivant ce tableau :
| Écran Nextion | Framboise |
|---|---|
| 5V | 5V |
| TX | RX |
| RX | TX |
| GND | GND |
- Allumez votre Raspberry Pi et attendez quelques minutes qu'il démarre.
Voilà ! Vous devriez maintenant obtenir quelque chose comme ceci :
Comme le Raspberry Pi utilise également les broches TX et RX pour accéder au shell, il est nécessaire de désactiver cette option afin que le Nextion puisse utiliser ces broches pour communiquer avec le Raspberry Pi. Pour ce faire, suivez simplement les étapes suivantes :
-
Se connecter au Raspberry Pi via SSH.
-
Copiez et collez ceci dans le terminal Raspberry Pi :
sudo systemctl stop serial-getty@ttyAMA0.service
Bravo ! Vous ne devriez voir aucune ligne concernant ttyAMA0 en saisissant cette commande :
ps aux | grep tty
Code
La configuration nécessaire pour connecter l'écran au cloud Ubidots est maintenant terminée.
- 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).
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})
- 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.
- Sauvegarder et quitter.
- Exécutez le script Python et c'est terminé.
sudo python display.py
Excellent 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 des avis supplémentaires ou de l'aide !