- Απαιτούμενα στοιχεία:
- Επεξήγηση εργασίας και δημιουργία της ιστοσελίδας:
- Επεξήγηση κυκλώματος:
- Επεξήγηση προγραμματισμού και φιάλη:
Όλοι είμαστε εξοικειωμένοι με το Wireless Notice Board καθώς έχουμε ήδη κατασκευάσει Wireless Notice Board χρησιμοποιώντας GSM και Arduino. Αλλά σήμερα προχωρούμε ένα βήμα μπροστά και αντί να χρησιμοποιήσουμε το GSM ως ασύρματο μέσο, αυτή τη φορά χρησιμοποιούμε το Διαδίκτυο για να στείλουμε ασύρματα το μήνυμα από το πρόγραμμα περιήγησης Web στην οθόνη LCD που είναι συνδεδεμένη στο Raspberry Pi. Καθώς το μήνυμα αποστέλλεται μέσω του προγράμματος περιήγησης ιστού, έτσι μπορεί να σταλεί χρησιμοποιώντας υπολογιστή, έξυπνο τηλέφωνο ή tablet, έτσι θα προσθέσει ένα ακόμη έργο στη συλλογή έργων IoT.
Σε αυτόν τον πίνακα ελέγχου ελεγχόμενων από τον Ιστό, δημιουργήσαμε έναν τοπικό διακομιστή Ιστού για επίδειξη, ο οποίος μπορεί να είναι ένας παγκόσμιος διακομιστής μέσω Διαδικτύου. Στο Raspberry Pi, χρησιμοποιήσαμε οθόνη LCD 16x2 για την εμφάνιση μηνυμάτων και τη φιάλη για τη λήψη του μηνύματος μέσω δικτύου. Όποτε το Raspberry λαμβάνει οποιοδήποτε ασύρματο μήνυμα από το πρόγραμμα περιήγησης Web, εμφανίζεται στην οθόνη LCD. Θα συζητήσουμε λεπτομερώς για αυτά τα πράγματα σε αυτό το άρθρο.
Απαιτούμενα στοιχεία:
- Raspberry Pi 3 (οποιοδήποτε μοντέλο)
- Προσαρμογέας USB Wi-Fi (εάν δεν χρησιμοποιείτε το Raspberry Pi 3)
- LCD 16x2
- Πίνακας ψωμιού
- Καλώδιο τροφοδοσίας για Raspberry Pi
- Σύνδεση καλωδίων
- 10K ποτ
Επεξήγηση εργασίας και δημιουργία της ιστοσελίδας:
Σε αυτό το έργο, το κύριο συστατικό είναι το Raspberry Pi, το οποίο είναι η καρδιά αυτού του έργου και χρησιμοποιείται για τον έλεγχο των διαδικασιών που σχετίζονται με αυτό το έργο. Όπως: Οδήγηση LCD, λήψη «μηνυμάτων ειδοποίησης» από το διακομιστή κ.λπ.
Εδώ, δημιουργήσαμε έναν διακομιστή ιστού, ο οποίος παρέχει έναν τρόπο για να στείλετε το "Notice Message" στο Raspberry Pi χρησιμοποιώντας το Flask σε ένα πρόγραμμα περιήγησης στο Web. Η φιάλη είναι ένα μικροπλαίσιο για την Python. Αυτό το εργαλείο βασίζεται σε Unicode με ενσωματωμένο διακομιστή ανάπτυξης και εντοπισμό σφαλμάτων, ενσωματωμένη υποστήριξη δοκιμών μονάδων, υποστήριξη για ασφαλή cookie και εύκολο στη χρήση του, αυτά τα πράγματα το καθιστούν χρήσιμο για τον χόμπι .
Έχουμε δημιουργήσει μια ιστοσελίδα με ένα πλαίσιο κειμένου και ένα κουμπί υποβολής, όπου μπορούμε να εισαγάγουμε το «μήνυμα ειδοποίησης» στο TextBox και στη συνέχεια να το υποβάλουμε στο διακομιστή κάνοντας κλικ στο κουμπί Υποβολή. Αυτή η εφαρμογή Ιστού αναπτύχθηκε χρησιμοποιώντας γλώσσα HTML. Ο κώδικας αυτής της ιστοσελίδας δίνεται παρακάτω και είναι πολύ κατανοητός.
Πίνακας ανακοινώσεων ελέγχου ιστού (Circuit Digest)
Η ειδοποίηση υποβλήθηκε με επιτυχία: {{value}}
{% τέλος εαν %}Ο χρήστης πρέπει να αντιγράψει-επικολλήσει τον παραπάνω κώδικα HTML σε κάποιο πρόγραμμα επεξεργασίας κειμένου (σημειωματάριο) και να αποθηκεύσει το αρχείο με επέκταση.HTML. Στη συνέχεια, τοποθετήστε αυτό το αρχείο HTML στον ίδιο φάκελο με τον οποίο έχετε τοποθετήσει το αρχείο κώδικα Python (που δίνεται στο τέλος) για αυτόν τον πίνακα ανακοινώσεων ελεγχόμενου Web. Τώρα μπορείτε απλώς να εκτελέσετε τον κωδικό Python στο Raspberry Pi, να ανοίξετε το IP_address_of_your_Pi: 8080 στο πρόγραμμα περιήγησης ιστού (όπως 192.168.1.14:8080) και να εισαγάγετε το μήνυμα και να κάνετε κλικ στην υποβολή, μόλις υποβάλετε το μήνυμα, θα λάβετε το μήνυμα LCD συνδεδεμένη στο Raspberry Pi. Ελέγξτε ολόκληρη τη διαδικασία στο Βίντεο επίδειξης στο τέλος.
Η ιστοσελίδα δημιουργείται με χρήση γλώσσας HTML, η οποία περιέχει μια φόρμα με πλαίσιο κειμένου και κουμπί υποβολής , με τον πίνακα ανακοινώσεων επικεφαλίδας (ετικέτα h1) Web Control . Η φόρμα έχει "αλλαγή" είναι η ενέργεια που θα εκτελεστεί σε κώδικα χρησιμοποιώντας τη μέθοδο ανάρτησης , όταν κάνουμε κλικ στο κουμπί Υποβολή. Το ρυθμιστικό είναι μπλοκ με την ετικέτα "Notice Message".
Μετά από αυτό, μπορούμε να προσθέσουμε μια προαιρετική γραμμή για να δείξουμε το κείμενο που έχουμε στείλει στο Raspberry Pi μέσω του διακομιστή.
{% εάν η τιμή%}
Η ειδοποίηση υποβλήθηκε με επιτυχία: {{value}}
{% τέλος εαν %}Ελέγχει την τιμή στο πλαίσιο κειμένου και αν υπάρχει κάποια τιμή στο πλαίσιο κειμένου τότε εκτυπώνει το κείμενο στην ίδια την ιστοσελίδα, έτσι ώστε ο χρήστης να μπορεί επίσης να δει το υποβληθέν μήνυμα. Εδώ η τιμή είναι "εισαγωγή κειμένου ή μήνυμα ειδοποίησης" που θα πληκτρολογήσουμε σε ρυθμιστικό πλαίσιο ή πλαίσιο κειμένου.
Επεξήγηση κυκλώματος:
Οι συνδέσεις για αυτόν τον ασύρματο πίνακα μηνυμάτων είναι πολύ εύκολες. χρειάζεται μόνο να συνδέσουμε την οθόνη LCD με την πλακέτα Raspberry Pi χρησιμοποιώντας μερικούς συνδέσμους πάνω από την πλακέτα ψωμιού. Ο χρήστης μπορεί να χρησιμοποιήσει μηδενικό PCB για συνδέσεις. Οι ακίδες RS, RW και EN της LCD συνδέονται απευθείας με τους ακροδέκτες 18, GND και 23. Και οι ακίδες δεδομένων των LCD D4, D5, D6, D7 συνδέονται απευθείας με το GPIO 24, 16, 20, 21. του Raspberry Pi χρησιμοποιείται για τον έλεγχο της φωτεινότητας της LCD.
Επίσης, θυμηθείτε, εάν δεν έχετε Raspberry Pi 3, πρέπει να χρησιμοποιήσετε τον προσαρμογέα Wi-Fi USB για χαμηλότερη έκδοση του Raspberry Pi, καθώς δεν έχουν ενσωματωμένο Wi-Fi όπως το Raspberry Pi 3.
Επεξήγηση προγραμματισμού και φιάλη:
Χρησιμοποιούμε τη γλώσσα Python εδώ για το Πρόγραμμα. Πριν από την κωδικοποίηση, ο χρήστης πρέπει να διαμορφώσει το Raspberry Pi. Μπορείτε να δείτε τα προηγούμενα μαθήματά μας για να ξεκινήσετε με το Raspberry Pi και να εγκαταστήσετε και να ρυθμίσετε το Raspbian Jessie OS στο Pi.
Πριν από το πρόγραμμα Raspberry Pi, ο χρήστης πρέπει να εγκαταστήσει ένα πακέτο υποστήριξης φιάλης στο Raspberry Pi χρησιμοποιώντας συγκεκριμένες εντολές:
$ pip εγκαταστήστε το Flask
Μετά από αυτό μπορείτε να εκτελέσετε το πρόγραμμα Python στον επεξεργαστή python του Raspberry Pi, αλλά πριν από αυτό πρέπει να αντικαταστήσετε τη διεύθυνση IP στο Πρόγραμμα με τη διεύθυνση IP του Raspberry Pi. Μπορείτε να ελέγξετε τη διεύθυνση IP της πλακέτας RPi χρησιμοποιώντας την εντολή ifconfig:
Ifconfig
Το μέρος προγραμματισμού αυτού του έργου παίζει πολύ σημαντικό ρόλο για την εκτέλεση όλων των λειτουργιών. Πρώτα απ 'όλα, συμπεριλαμβάνουμε τις απαιτούμενες βιβλιοθήκες για το Flask, αρχικοποιούμε τις μεταβλητές και καθορίζουμε τις καρφίτσες για το LCD.
από φιάλη εισαγωγής Φιάλη από φιάλη εισαγωγής render_template, αίτημα εισαγωγής RPi.GPIO ως gpio import os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Για την οθόνη LCD, η λειτουργία def lcd_init () χρησιμοποιείται για την αρχικοποίηση της οθόνης LCD σε λειτουργία τεσσάρων bit, η λειτουργία def lcdcmd (ch) χρησιμοποιείται για την αποστολή εντολών σε LCD, η λειτουργία def lcddata (ch) χρησιμοποιείται για την αποστολή δεδομένων σε LCD και def lcdstring (Str Η λειτουργία χρησιμοποιείται για την αποστολή συμβολοσειρών δεδομένων σε LCD. Μπορείτε να ελέγξετε όλες αυτές τις λειτουργίες στον Κώδικα που δίνεται στη συνέχεια.
Κάτω μέρος του προγράμματος χρησιμοποιείται για την αποστολή του μηνύματος από το πρόγραμμα περιήγησης ιστού στο Raspberry Pi χρησιμοποιώντας το Flask. Μπορείτε να μάθετε περισσότερα για τον προγραμματισμό χρησιμοποιώντας το Flask εδώ.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", solutions =) def change (): if request.method == 'POST': # Λήψη της τιμής από την ιστοσελίδα δεδομένων1 = 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', θύρα = 8080, debug = True)
Έτσι λοιπόν μπορούμε να στείλουμε το μήνυμα από τον υπολογιστή ή το smartphone μας στο Raspberry Pi LCD και να κάνουμε ελεγχόμενο μέσω Web Web ένα ασύρματο πίνακα ειδοποιήσεων IoT. Δείτε τον Πλήρες κώδικα Python και το βίντεο επίδειξης παρακάτω.