- Composants requis:
- Explication de travail et création de la page Web:
- Explication du circuit:
- Explication de la programmation et flacon:
Nous connaissons tous le tableau d'affichage sans fil car nous avons déjà construit un tableau d'affichage sans fil utilisant GSM et Arduino. Mais aujourd'hui, nous allons un pas en avant et au lieu d'utiliser le GSM comme support sans fil, cette fois, nous utilisons Internet pour envoyer sans fil le message du navigateur Web à l'écran LCD qui est connecté à Raspberry Pi. Comme le message est envoyé via le navigateur Web, il peut être envoyé à l'aide d'un ordinateur, d'un téléphone intelligent ou d'une tablette.Il ajoutera donc un autre projet à notre collection de projets IoT.
Dans ce tableau d'affichage contrôlé par le Web, nous avons créé un serveur Web local pour la démonstration, il peut s'agir d'un serveur global sur Internet. Au Raspberry Pi, nous avons utilisé un écran LCD 16x2 pour afficher le message et Flask pour recevoir le message sur le réseau. Chaque fois que Raspberry reçoit un message sans fil du navigateur Web, il s'affiche sur l'écran LCD. Nous discuterons de ces choses en détail dans cet article.
Composants requis:
- Raspberry Pi 3 (tout modèle)
- Adaptateur USB Wi-Fi (si vous n'utilisez pas Raspberry Pi 3)
- Écran LCD 16x2
- Planche à pain
- Câble d'alimentation pour Raspberry Pi
- Fils de connexion
- Pot 10K
Explication de travail et création de la page Web:
Dans ce projet, le composant principal est Raspberry Pi, qui est au cœur de ce projet et utilisé pour contrôler les processus liés à ce projet. Comme: Conduire l'écran LCD, recevoir des «messages d'avis» du serveur, etc.
Ici, nous avons créé un serveur Web, qui fournit un moyen d'envoyer un «Message de notification» à Raspberry Pi en utilisant Flask dans un navigateur Web. The Flask est un microframework pour Python. Cet outil est basé sur Unicode avec un serveur de développement et un débogueur intégrés, un support de test unitaire intégré, un support pour les cookies sécurisés et il est facile à utiliser, ces choses le rendent utile pour les amateurs .
Nous avons créé une page Web avec une zone de texte et un bouton Soumettre, où nous pouvons entrer notre «Message de notification» dans TextBox, puis le soumettre au serveur en cliquant sur le bouton Soumettre. Cette application Web est développée en utilisant le langage HTML. Le code de cette page Web est donné ci-dessous et très facile à comprendre.
Tableau d'affichage de contrôle Web (résumé du circuit)
Avis envoyé avec succès: {{value}}
{% fin si %}L'utilisateur doit copier-coller le code HTML ci-dessus dans un éditeur de texte (bloc-notes) et enregistrer le fichier avec l'extension.HTML. Ensuite, placez ce fichier HTML dans le même dossier où vous avez placé votre fichier de code Python (donné à la fin) pour ce tableau d'affichage contrôlé Web. Maintenant, vous pouvez simplement exécuter le code Python dans Raspberry Pi, ouvrez l' adresse IP_of_your_Pi: 8080 dans le navigateur Web (comme 192.168.1.14:8080) et entrez le message et cliquez sur Soumettre, dès que vous soumettez le message, vous recevrez le message sur LCD connecté à Raspberry Pi. Vérifiez l'ensemble du processus dans la vidéo de démonstration à la fin.
La page Web est créée en utilisant le langage HTML, qui contiennent une forme ayant une zone de texte et soumettre le bouton, avec Heading (balise h1) Avis du Conseil de contrôle Web . Le formulaire a «changer» est l' action qui sera effectuée dans le code en utilisant la méthode de publication , lorsque nous cliquons sur le bouton Soumettre. Le curseur est un bloc avec l' étiquette «Message de notification».
Après cela, nous pouvons ajouter une ligne facultative pour afficher le texte que nous avons envoyé au Raspberry Pi via le serveur.
{% if value%}
Avis envoyé avec succès: {{value}}
{% fin si %}Il vérifie la valeur dans la zone de texte et s'il y a une valeur dans la zone de texte, il imprime le texte sur la page Web elle-même, afin que l'utilisateur puisse également voir le message soumis. Ici, la «valeur» est «un texte d'entrée ou un message de notification» que nous taperons dans la zone de curseur ou la zone de texte.
Explication du circuit:
Les connexions pour ce babillard sans fil sont très faciles; il suffit de connecter l'écran LCD à la carte Raspberry Pi en utilisant certains connecteurs sur la carte à pain. L'utilisateur peut utiliser zéro PCB pour les connexions. Les broches RS, RW et EN de l'écran LCD sont directement connectées aux broches 18, GND et 23. Et les broches de données de l'écran LCD D4, D5, D6, D7 sont directement connectées au GPIO 24, 16, 20, 21 de Raspberry Pi. Un pot 10K est utilisé pour contrôler la luminosité de l'écran LCD.
N'oubliez pas que si vous n'avez pas Raspberry Pi 3, vous devez utiliser l'adaptateur Wi-Fi USB pour la version inférieure de Raspberry Pi car ils n'ont pas de Wi-Fi intégré comme Raspberry Pi 3.
Explication de la programmation et flacon:
Nous utilisons le langage Python ici pour le programme. Avant de coder, l'utilisateur doit configurer Raspberry Pi. Vous pouvez consulter nos tutoriels précédents pour démarrer avec Raspberry Pi et installer et configurer le système d'exploitation Raspbian Jessie dans Pi.
Avant de programmer Raspberry Pi, l'utilisateur doit installer un package de support flask dans le Raspberry Pi en utilisant les commandes données:
$ pip installer Flask
Après cela, vous pouvez exécuter le programme Python dans l'éditeur python de Raspberry Pi, mais avant cela, vous devez remplacer l'adresse IP dans Programme par l'adresse IP de votre Raspberry Pi. Vous pouvez vérifier l'adresse IP de votre carte RPi en utilisant la commande ifconfig:
Ifconfig
La partie programmation de ce projet joue un rôle très important pour effectuer toutes les opérations. Tout d'abord, nous incluons les bibliothèques requises pour Flask, initialisons les variables et définissons les broches pour LCD.
depuis importation de flacon Flacon depuis importation de flacon render_template, demande d'importation RPi.GPIO as gpio import os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Pour l'écran LCD, la fonction def lcd_init () est utilisée pour initialiser l'écran LCD en mode quatre bits, la fonction def lcdcmd (ch) est utilisée pour envoyer la commande à l'écran LCD, la fonction def lcddata (ch) est utilisée pour envoyer des données à l'écran LCD et def lcdstring (Str) est utilisée pour envoyer une chaîne de données à l'écran LCD. Vous pouvez vérifier toutes ces fonctions dans le code donné par la suite.
La partie ci-dessous du programme est utilisée pour envoyer le message du navigateur Web à Raspberry Pi à l'aide de Flask. Vous pouvez en savoir plus sur la programmation à l'aide de Flask ici.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", methods =) def change (): if request.method == 'POST': # Récupération de la valeur de la page Web data1 = request.form lcdcmd (0x01) lcdprint (data1) return render_template ('web.html', value = data1) if __name__ == "__main__": app.debug = True app.run ('192.168.1.14', port = 8080, debug = True)
C'est ainsi que nous pouvons envoyer le message de notre ordinateur ou smartphone à l'écran LCD du Raspberry Pi et créer un tableau d' affichage sans fil basé sur l'IoT contrôlé sur le Web. Consultez le code Python complet et la vidéo de démonstration ci-dessous.