Πίνακας περιεχομένων:

Προσωπικός Μετεωρολόγος: 5 Βήματα
Προσωπικός Μετεωρολόγος: 5 Βήματα

Βίντεο: Προσωπικός Μετεωρολόγος: 5 Βήματα

Βίντεο: Προσωπικός Μετεωρολόγος: 5 Βήματα
Βίντεο: mobilefees.gov.gr Οδηγίες εγγραφής σε 5 βήματα 2024, Νοέμβριος
Anonim
Προσωπικός Μετεωρολόγος
Προσωπικός Μετεωρολόγος

Έχετε αναρωτηθεί ποτέ εάν ή όταν ο μετεωρολόγος σας λέει την αλήθεια; Θέλετε έναν διακριτικό, φθηνό και γρήγορο τρόπο για να γίνετε ο δικός σας μετεωρολόγος… και ίσως ένα μικρό έργο; Μην ψάχνετε άλλο! Αυτή η απλοϊκή συσκευή θα παρακολουθεί τις καιρικές συνθήκες από οποιαδήποτε τοποθεσία επιθυμείτε και θα σας δώσει τη δυνατότητα να παρακολουθείτε αυτόν τον καιρό με το πάτημα ενός κουμπιού.

Αυτό το έργο θα σας δώσει κάποια πρακτική με το Flask, το Raspberry Pis, τους αισθητήρες GPIO και το HTML! Όχι μόνο είναι διασκεδαστικό να χτίζεται, αλλά έχει πολλή χρησιμότητα. Ο μετεωρολόγος σας μπορεί να είναι χωρίς δουλειά…

Προμήθειες

  • Raspberry Pi 3
  • Κάρτα Micro SD
  • 1 χύμα καλώδιο
  • 4 αρσενικά σε αρσενικά καλώδια
  • 1 Αισθητήρας DHT11
  • 1 Μπαταρία

Εάν σχεδιάζετε να γίνετε ο δικός σας αξιόπιστος μετεωρολόγος για πολλές τοποθεσίες, πολλαπλασιάστε κάθε μία από τις προμήθειες με πόσες συσκευές θα χρειαστείτε. Ωστόσο, ο κώδικας για την υποστήριξη πολλαπλών συσκευών θα διαφέρει. Εάν είστε στη διαδικασία κατασκευής/δοκιμής αυτής της συσκευής, δεν είναι απαραίτητο να έχετε τα ακόλουθα… ωστόσο, σίγουρα θα ήταν πολύ χρήσιμο.

  • Μια οθόνη υπολογιστή
  • Πληκτρολόγιο USB
  • Σετ φόρτισης Micro USB

Βήμα 1: Καλωδίωση

Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση

Χρησιμοποιώντας το Raspberry Pi, πρέπει να ενσωματώσουμε τον κύριο αισθητήρα στην πηγή ισχύος του Raspberry Pi, ώστε να μπορεί να κάνει τις μετρήσεις που χρειαζόμαστε. Ο κύριος αισθητήρας που χρησιμοποιήθηκε σε αυτό το έργο, που απεικονίζεται παραπάνω, καταγράφει τη θερμοκρασία και την υγρασία του περιβάλλοντος φυσικού περιβάλλοντος. Μπορείτε να χρησιμοποιήσετε ένα breadboard ή κάποια άλλη συσκευή στερέωσης για να τοποθετήσετε αυτόν τον αισθητήρα και να περάσετε τα καλώδια μας ή απλά να το συνδέσετε μέσω καλωδίων από γυναίκα σε γυναίκα απευθείας στις ακίδες της συσκευής Raspberry Pi.

Ακολουθώντας το σχήμα καλωδίωσης που φαίνεται παραπάνω για να συνδέσετε σωστά τον αισθητήρα στο Raspberry Pi. Σημειώστε ότι απαιτείται πηγή ενέργειας, μπαταρία ή πολύ κοντά σε πρίζα.

Βήμα 2: Ρύθμιση

Συγχαρητήρια, το υλικό σας έχει συναρμολογηθεί!

Τώρα θα αρχίσουμε να δουλεύουμε απευθείας με το Raspberry Pi και το λογισμικό του έργου. Όλα τα παρακάτω μπορούν να γίνουν στο Raspberry Pi με πληκτρολόγιο και οθόνη ή μέσω SSH. Οι ακόλουθες βιβλιοθήκες είναι απαραίτητες για να διασφαλίσετε ότι όλο το λογισμικό μπορεί να εκτελεστεί στο Raspberry Pi. Χρησιμοποιώντας την εντολή "pip install" για να επιτρέψετε στο λογισμικό σας να χρησιμοποιήσει αργότερα τις ακόλουθες βιβλιοθήκες:

  • αιτήσεων
  • RPi. GPIO
  • φλάσκα
  • φιάλη
  • φιάλη_wtf
  • wtforms

Σημειώστε ότι ο καιρός μπορεί να αλλάξει μερικές φορές ενώ είναι εγκατεστημένες αυτές οι βιβλιοθήκες … κάντε υπομονή, είστε τόσο κοντά στο ξεκλείδωμα των μετεωρολογικών σας δυνατοτήτων!

Τώρα που έχετε εγκαταστήσει όλες τις βιβλιοθήκες σας, ας εξοικειωθούμε με το Flask, ένα ελαφρύ πλαίσιο που επιτρέπει την απλή επικοινωνία μεταξύ κόμβων στο περιβάλλον του έργου μας. Σε αυτό το έργο, το Raspberry Pi γίνεται διακομιστής. Μπορείτε να αισθανθείτε άνετα με το Flask με το απλό παράδειγμα εφαρμογής εδώ.

Βήμα 3: Κωδικός και λειτουργία

Τώρα που έχετε συγκεντρώσει τις βιβλιοθήκες υλικού και λογισμικού, είστε έτοιμοι να ξεκινήσετε την κατασκευή των αρχείων του έργου.

Διακομιστής: Σε αυτό το έργο το Raspberry Pi που είναι συνδεδεμένο στον αισθητήρα λειτουργεί ως διακομιστής. Ο διακομιστής περιμένει τον χρήστη για να συμπληρώσει ένα αίτημα ανάρτησης για τη θερμοκρασία, την υγρασία και ή το γράφημα. Δημιουργήσαμε πρότυπα HTML που έχουν διαμορφωθεί για να αλληλεπιδρούν σωστά με το αίτημα της εφαρμογής για θερμοκρασία, υγρασία, γράφημα ή οποιονδήποτε συνδυασμό των τριών (ανατρέξτε στο φάκελο προτύπου). Αυτό σημαίνει ότι εάν ο χρήστης θέλει μόνο θερμοκρασία δεν θα δει τίποτα σχετικά με την υγρασία εκτός από την επιλογή φόρμας για να λάβει ένδειξη υγρασίας. Μόλις δημιουργηθεί μια ανάρτηση, ο διακομιστής συλλέγει τις πληροφορίες από την ανάρτηση και εκτελεί την ενέργεια που ζήτησε ο χρήστης. Ο αισθητήρας DHT λαμβάνει τις αναγνώσεις που στη συνέχεια αποθηκεύονται και μεταφέρονται ως επιχείρημα λεξικού με τη νέα μορφή html που αποδίδουμε. Ο διακομιστής αποθηκεύει επίσης αυτές τις αναγνώσεις για να δημιουργήσει μια γραφική παράσταση των προηγούμενων ενδείξεων όταν ζητηθεί από τον χρήστη.

Εφαρμογή: Η εφαρμογή στέλνει αιτήματα HTTP στον διακομιστή Flask για ανάκτηση και απόδοση της θερμοκρασίας, της υγρασίας και της οπτικής αναπαράστασης της θερμοκρασίας και της υγρασίας των τελευταίων είκοσι τεσσάρων αιτημάτων που έχουν οριστεί από τη φόρμα κατόπιν αιτήματος του χρήστη. Η Εφαρμογή χρησιμοποιεί μια Φόρμα Φιάλης που έχει τρία boolean πεδία εισαγωγής για το καθένα. Ο χρήστης μπορεί να επιλέξει ένα πλαίσιο για οποιονδήποτε συνδυασμό των τριών πεδίων που θέλει να δει. Δεν μπορούν να ελέγξουν τίποτα άλλο εκτός από ναι/όχι θέλουν να δουν αυτές τις πληροφορίες. Έχουμε δημιουργήσει ένα μοναδικό αρχείο html που χρησιμοποιούμε για απόδοση, ανάλογα με το αίτημα του χρήστη. Αυτό γίνεται έτσι ώστε μόνο οι αναγνώσεις που εμφανίζονται να είναι αυτές που ζητούνται από τον χρήστη. Δεν θέλουμε ο χρήστης να ζητήσει θερμοκρασία και να του ζητήσει να κοιτάξει ένα κενό πρότυπο για την υγρασία ή ένα κενό γράφημα.

Βήμα 4: Δοκιμή

Η συσκευή εκτελείται στο αρχείο: mainsense.py. Το οποίο φέρνει το αρχείο του formSense.py που περιέχει την κλάση μας Flask Form που χρησιμοποιείται από την εφαρμογή. Ο διακομιστής αρχικά αποδίδει ‘sense.html’ και στη συνέχεια περιμένει τον χρήστη να υποβάλει ένα αίτημα. Το mainsense.py περιμένει στη συνέχεια να λάβει αναγνώσεις από τον αισθητήρα σε μια στιγμή, όταν ένα αίτημα GET από την εφαρμογή ζητά τη θερμοκρασία ή την υγρασία και αποθηκεύει τις προηγούμενες 24 αναγνώσεις από τους χρήστες. Υπάρχει επίσης μια επιλογή γραφήματος που ο χρήστης θα μπορούσε να επιλέξει ποια γραφήματα οι προηγούμενες αναγνώσεις, το πολύ 24, που έγιναν από τον χρήστη. Μπορείτε επίσης να δείτε ότι το html περιλαμβάνει μόνο τις επιλογές φόρμας που μπορεί να χρησιμοποιήσει ο χρήστης για να υποβάλει άλλο αίτημα και τις αναγνώσεις που ζητήθηκαν από τον χρήστη.

Στη συνέχεια, θα πρέπει να μπορείτε να πλοηγηθείτε στο σωστό URI/IP και να ορίσετε τη σωστή γραμμή επικοινωνίας μεταξύ της εφαρμογής και του διακομιστή σας. Θα πρέπει να δοκιμάσετε να στείλετε μερικές δοκιμαστικές αιτήσεις GET και να βεβαιωθείτε ότι ο αισθητήρας ανταποκρίνεται σωστά με τις κατάλληλες ενδείξεις του αισθητήρα σας. Στη συνέχεια, εάν το πρόγραμμά σας παρακολουθεί σωστά τον καιρό την ώρα, είμαστε επίσημα έτοιμοι να διαγράψουμε το καλώδιο - δηλαδή αν είχατε αναμονή για το κανάλι καιρού!

Βήμα 5: Τοποθέτηση

Η τοποθέτηση της συσκευής είναι αρκετά αυτονόητη. Βασικά, πρέπει απλώς να διασφαλίσετε ότι η συσκευή είναι συνδεδεμένη στο πακέτο μπαταριών ή στην πρίζα και χρησιμοποιήστε λωρίδες εντολών για να ασφαλίσετε τη συσκευή στην επιθυμητή θέση για να παρακολουθείτε τον καιρό.

Σημείωση: η συσκευή πρέπει να τοποθετείται με τον αισθητήρα ασφαλή από τις έντονες καιρικές συνθήκες της τοποθεσίας σας. Μόλις ολοκληρωθεί αυτό, θα πρέπει να μπορείτε να κάνετε SSH στη συσκευή και να ξεκινήσετε την εκτέλεση του διακομιστή. Ανοίξτε τον ιστότοπο και μάθετε ότι λαμβάνετε τις πιο ενημερωμένες μετρήσεις καιρού από τη θέση που έχει τοποθετηθεί ο διακομιστής Raspberry Pi.

Συνιστάται: