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

Μετεωρολογικός σταθμός Raspberry Pi Internet: 5 βήματα (με εικόνες)
Μετεωρολογικός σταθμός Raspberry Pi Internet: 5 βήματα (με εικόνες)

Βίντεο: Μετεωρολογικός σταθμός Raspberry Pi Internet: 5 βήματα (με εικόνες)

Βίντεο: Μετεωρολογικός σταθμός Raspberry Pi Internet: 5 βήματα (με εικόνες)
Βίντεο: Φτιάξε ενα μικρό μετεωρολογικό σταθμό 2024, Ιούλιος
Anonim
Μετεωρολογικός Σταθμός Raspberry Pi Internet
Μετεωρολογικός Σταθμός Raspberry Pi Internet
Μετεωρολογικός Σταθμός Raspberry Pi Internet
Μετεωρολογικός Σταθμός Raspberry Pi Internet

*** Ενημέρωση ***

Αυτό το Instructable έχει ξεπεραστεί. Οι υπηρεσίες καιρού για τα δεδομένα καιρού, που χρησιμοποιούνται σε αυτό το Instructable, δεν λειτουργούν πλέον. ΠΑΝΤΩΣ, υπάρχει ένα εναλλακτικό έργο που κάνει βασικά το ίδιο πράγμα (μόνο καλύτερα - αυτό το Instructable ήταν πάντα απλώς ένα hack). Ορίστε λοιπόν ο σύνδεσμος που θέλετε να ακολουθήσετε:

https://piweatherrock.technicalissues.us/

Σας ευχαριστώ πολύ πηγαίνετε στον Gene Liverman στο PiWeatherRock για το Take Up the mantle σε αυτό το έργο.

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

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

Βήμα 1: Gen 1 - ο μετεωρολογικός σταθμός Lunchbox Pi

Gen 1 - ο μετεωρολογικός σταθμός Lunchbox Pi
Gen 1 - ο μετεωρολογικός σταθμός Lunchbox Pi
Gen 1 - ο μετεωρολογικός σταθμός Lunchbox Pi
Gen 1 - ο μετεωρολογικός σταθμός Lunchbox Pi

Η πρώτη μου σκέψη ήταν να χρησιμοποιήσω μια μικρή σύνθετη οθόνη βίντεο. Πήρα αυτό της εικόνας στο Ebay για $ 22 δολάρια - απλώς αναζητήστε στο "4.3 ιντσών TFT LCD Car Rear View Monitor Car Car". Η οθόνη έχει αναφερόμενη ανάλυση 656 επί 416 εικονοστοιχεία, γεγονός που καθιστά προκλητική την εμφάνιση πολλών χρήσιμων πληροφοριών! Η οθόνη απαιτεί 12Vdc ως τάση τροφοδοσίας. Το Raspberry Pi, φυσικά, χρειάζεται 5Vdc ως τάση τροφοδοσίας. Για να το λύσω, αγόρασα έναν φθηνό φορτιστή αυτοκινήτου USB από την Amazon. Για περίπου 6 δολάρια βρήκα έναν εναλλάκτη αυτοκινήτου 5Vdc από 2 Amp. Επομένως, το lunchbox διαθέτει εξωτερικό τροφοδοτικό κονδυλώματος τοίχου 12Vdc. Το 12Vdc τροφοδοτεί την οθόνη απευθείας. Το 12Vdc πηγαίνει επίσης στο φορτιστή αυτοκινήτου USB που μειώνει την τάση σε ρυθμιζόμενο 5Vdc. Ως τελικό hack, κόλλησα ένα ζεύγος καλωδίων απευθείας μεταξύ του φορτιστή αυτοκινήτου και του Raspberry Pi - δεν είναι η καλύτερη ιδέα μου.

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

Βήμα 2: Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case

Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case

Επιστρέφοντας στο eBay βρήκα μια όμορφη οθόνη HDMI αξίας 54 δολαρίων ανοιχτού πλαισίου με ανάλυση 800x600. Εξ ορισμού, ένα ανοιχτό πλαίσιο για οτιδήποτε χρειάζεται ένα πλαίσιο για να τοποθετηθεί. Δεδομένου ότι η γλύκα του κουτιού μεσημεριανού γεύματος είχε τελειώσει πολύ, είχε έρθει η ώρα για ακρυλικό κομμένο με λέιζερ. Ο τοπικός μου χάκερ i3Detroit έχει έναν πολύ ωραίο κόφτη 150 watt που μπορεί να φτιάξει κιμά από ακρυλικό 4,5 χιλιοστών.

Βάσα χαλαρά το arcade περίβλημα μου στο κουτί arcade του iPad. Εάν κάνω ποτέ ένα σχέδιο Gen 3 θα περιλαμβάνει προκλητικά έναν αφαιρούμενο / συρόμενο δίσκο για το Pi. Αποδεικνύεται ότι είναι ένας μεγάλος πόνος στο λαιμό που προσπαθεί να συνδέσει τα πράγματα μέσα και έξω από το Pi, καθώς δεν υπάρχει πολύς χώρος μεταξύ του Pi και των πλευρικών τοίχων.

Η οθόνη HDMI απαιτεί επίσης τροφοδοσία 12Vdc. Έτσι, χρησιμοποίησα το ίδιο κόλπο χρησιμοποιώντας ξανά φορτιστή αυτοκινήτου USB. Αυτή τη φορά, ωστόσο, έκοψα ένα παλιό καλώδιο USB, οπότε δεν απαιτήθηκαν συγκολλημένα καλώδια στο Pi.

Αν κάποιος ενδιαφέρεται για την περίπτωση arcade, γράψτε ένα σχόλιο παρακάτω και θα ανεβάσω τα αρχεία DXF. Or, τα αρχεία βρίσκονται στον ιστότοπό μου στη διεύθυνση ph-elec.com.

Βήμα 3: Ρύθμιση Pi

Ρύθμιση Pi
Ρύθμιση Pi

Η εγκατάσταση ενός νέου Raspberry Pi με το απαραίτητο λογισμικό δεν είναι τόσο δύσκολη. Όλο το λογισμικό είναι γραμμένο σε Python με μία μόνο προστιθέμενη ενότητα Python. Η επιπλέον μονάδα Python ονομάζεται "pywapi". Εδώ είναι ένας σύνδεσμος όπου μπορείτε να κατεβάσετε την ενότητα. Αυτή η ενότητα διευκολύνει τη λήψη καιρού σε πραγματικό χρόνο είτε από το Yahoo, το Weather.com ή το NOAA.

Πρώτα απ 'όλα, εδώ είναι μια λίστα ελέγχου για τη δημιουργία ενός ακατέργαστου Raspberry Pi:

  1. Κατεβάστε το πιο πρόσφατο Raspbian (Debian Wheezy). Αποσυμπιέστε για να αποκτήσετε ένα αρχείο.img.
  2. Γράψτε το σε μια κάρτα SD με "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb"
  3. Η εντολή dd διαρκεί περίπου πέντε λεπτά. Όταν ολοκληρωθεί, εκτελέστε το "sync" για να ξεπλύνετε τους σωλήνες.
  4. Εγκαταστήστε την κάρτα SD στο Pi και κάντε επανεκκίνηση. Βεβαιωθείτε ότι υπάρχει σύνδεση Ethernet με το Pi.
  5. Χρησιμοποιώντας τη σελίδα "Συνημμένες συσκευές" στο δρομολογητή, βρείτε τη διεύθυνση IP του νέου Pi.
  6. Συνδεθείτε στο Pi χρησιμοποιώντας το "ssh [email protected]. ???" όπου ??? είναι ο αριθμός IP από πάνω. Ο κωδικός πρόσβασης θα είναι "βατόμουρο".
  7. Στο Pi, χρησιμοποιήστε την εντολή "raspi-config" για να ρυθμίσετε τις προεπιλογές.

    1. Ενεργοποιήστε την αυτόματη εκκίνηση στο GUI.
    2. Ορίστε το όνομα του κεντρικού υπολογιστή σε κάτι σαν "MyPi".
  8. Εγκαταστήστε το VNC στο Pi με "sudo apt-get install tightvncserver".

    Εκτελέστε "tightvncserver" που ορίζει τον κωδικό πρόσβασης

  9. Επιστρέψτε στο μεγάλο πλαίσιο Linux, χρησιμοποιήστε το "Remote Desktop" για να δείτε την επιφάνεια εργασίας Pi GUI.

    1. Ορίστε το πρωτόκολλο σε "VNC" και τον αριθμό IP σε "192.168.1.???:1". Σημειώστε το ": 1" στο τέλος του αριθμού IP.
    2. Πατήστε το κουμπί σύνδεσης και δώστε τον κωδικό πρόσβασης VNC.
    3. Bingo, απομακρυσμένη επιφάνεια εργασίας GUI Pi!

      Αυτό εξοικονομεί σύρσιμο οθόνης, πληκτρολογίου και ποντικιού για σύνδεση μέχρι το νέο Pi

    4. Στην επιφάνεια εργασίας, εκτελέστε το εικονίδιο ρύθμισης WiFi. Ρυθμίστε το νέο WiFi Pi / USB για σύνδεση στο δίκτυο.
    5. Κλείστε τη σύνδεση VNC - τελειώσαμε με απομακρυσμένους επιτραπέζιους υπολογιστές.
  10. Πίσω στο παράθυρο ssh, επανεκκινήστε το Pi με "sudo reboot". Αποσυνδέστε το καλώδιο Ethernet από τη στιγμή που έχει ρυθμιστεί το WiFi.
  11. Επιστρέφοντας στο δρομολογητή του σπιτιού, βρείτε τον νέο αριθμό IP που χρησιμοποιεί το Pi με WiFi.
  12. Χρησιμοποιώντας ssh, συνδεθείτε ξανά χρησιμοποιώντας τον νέο αριθμό IP. Αυτή τη φορά η σύνδεση θα γίνει μέσω WiFi.
  13. Χρησιμοποιώντας το Files Manger στο Linux, συνδεθείτε στο Pi χρησιμοποιώντας την εντολή "connect to server".

    Η διεύθυνση του διακομιστή είναι "sftp: //192.168.1. ???/home/pi"

  14. Η βασική ρύθμιση ολοκληρώθηκε.

Στη συνέχεια, το pywapi πρέπει να γίνει λήψη και εγκατάσταση. Και πάλι, αυτό δεν είναι πολύ δύσκολο με τα ακόλουθα βήματα:

  1. Κατεβάστε τα τελευταία από εδώ. Εξαγάγετε το αρχείο σε νέο κατάλογο.
  2. Χρησιμοποιώντας το File Manger, αντιγράψτε τον κατάλογο στον αρχικό κατάλογο Pi.
  3. Χρησιμοποιώντας το ssh, κάντε τα εξής στο Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. Εγινε.

Ενημέρωση, ξέχασα δύο να αναφέρω δύο άλλα πράγματα:

  1. Στο Pi εκτελέστε την ακόλουθη εντολή:

    1. sudo apt-get install avahi-daemon

      Αυτό επιτρέπει τη σύνδεση με το Pi με το όνομα. Έτσι, στον κύριο υπολογιστή σας μπορείτε να συνδεθείτε ως "ssh [email protected]" αντί να χρησιμοποιήσετε αριθμούς IP. Με πολλαπλά Pi στο δίκτυο, είναι εύκολο να τα μπερδέψετε, εκτός αν τα φωνάξετε με το όνομά τους

    2. sudo raspi-config

      1. Αναζητήστε και εκτελέστε την 4η επιλογή που ονομάζεται "Επιλογές διεθνοποίησης" και ορίστε τη ζώνη ώρας σας.
      2. Με τη ζώνη ώρας ρυθμισμένη και το ntpd (δαίμονας πρωτοκόλλου ώρας δικτύου) που τρέχει το Pi θα εμφανίζει πάντα τη σωστή ώρα μέσα σε μερικά χιλιοστά του δευτερολέπτου! Πρέπει να το λατρέψω.
  2. Εντάξει, τώρα τελειώσαμε ξανά.

Βήμα 4: Πηγαίος κώδικας

Πηγαίος Κώδικας
Πηγαίος Κώδικας

Όλος ο πηγαίος κώδικας για αυτή τη μικρή εμφάνιση καιρού βασίζεται σε Python, PyGame και Pywapi. Όλο το λογισμικό ανοιχτού κώδικα / δωρεάν.

Το PyGame χρησιμοποιείται για να κάνει όλα τα πράγματα GUI. Πραγματικά εκπληκτικά πράγματα. Χρησιμοποιώντας το PyGame, ολόκληρη η οθόνη αναδημιουργείται μία φορά το δευτερόλεπτο. Κοντά στην κορυφή του πηγαίου κώδικα, θα βρείτε μια ενότητα που επιτρέπει την προσαρμογή διαφορετικών μεγεθών οθόνης. Υπάρχει ένα τμήμα για τη μικρή σύνθετη οθόνη βίντεο και ένα δεύτερο τμήμα για τη μεγαλύτερη οθόνη HDMI. Απλώς σχολιάζω μία από τις δύο ενότητες με βάση το μέγεθος της οθόνης που χρειάζομαι.

Για να εκτελέσετε τον πηγαίο κώδικα, απλά αποσυμπιέστε το συνημμένο και αντιγράψτε ολόκληρο τον κατάλογο στο Pi χρησιμοποιώντας το File Manage. Μόλις αντιγραφεί, ξεκινήστε τον κώδικα χρησιμοποιήστε τις ακόλουθες εντολές ssh:

  1. cd Καιρός
  2. sudo python weather.py

Η εντολή sudo είναι απαραίτητη ώστε η Python να μπορεί να ελέγχει / διαβάζει τις καρφίτσες GPIO. Πιθανότατα υπάρχει κάποιος τρόπος γύρω από αυτόν τον περιορισμό, αλλά μου διαφεύγει.

Μόλις όλα λειτουργήσουν χρησιμοποιώντας το ssh, ήρθε η ώρα να ξεκινήσει αυτόματα ο καιρός σε μια επανεκκίνηση. Αυτό είναι επίσης πολύ εύκολο να γίνει.

  1. Χρησιμοποιώντας το ssh, εκτελέστε "sudo vi /etc/rc.local"
  2. Λίγο πριν από την τελευταία γραμμή, η οποία λέει "έξοδος 0", προσθέστε τα ακόλουθα στις γραμμές.

    1. cd/home/pi/Καιρός
    2. sudo python weather.py &> err.log

Αυτό θα ξεκινήσει αυτόματα την εφαρμογή καιρού στο Pi μετά από επανεκκίνηση. Εάν αργότερα θέλετε να το απενεργοποιήσετε, χρησιμοποιήστε το ssh για να επεξεργαστείτε το αρχείο και προσθέστε τον χαρακτήρα σχολίου "#" μπροστά από τις δύο γραμμές και κάντε επανεκκίνηση.

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

Κάποια άλλα πράγματα να σημειώσω σχετικά με τον κωδικό μου. Θαμμένο εκεί μέσα θα παρατηρήσετε κάποιον κωδικό για να μιλήσετε σε μια συσκευή X10. Αυτή ήταν η προσπάθειά μου να ελέγξω τα εξωτερικά μου φώτα πόλων που βρίσκονται στη διεύθυνση Α3. Simplyθελα απλά να ανάβουν οι λάμπες το σούρουπο και να σβήνουν τα ξημερώματα. Φαίνεται αρκετά εύκολο και νόμιζα ότι το είχα δουλέψει. Χρησιμοποιώντας ένα dongle USB-to-RS232 στο Pi είχα συνδέσει μια μονάδα CM11A X10. Το CM11A είναι μια παλιά μονάδα μακροεντολής X10. Το CM11A διαθέτει επίσης μια θύρα RS232 που επιτρέπει τον έλεγχο του διαύλου X10. Φαίνεται ότι εξακολουθούν να υπάρχουν κάποια σφάλματα επειδή τα φώτα του πόλου της λάμπας δεν λαμβάνουν το μήνυμα!

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

Για τις πιο πρόσφατες και μεγαλύτερες ενημερώσεις, επισκεφθείτε την ιστοσελίδα μου στη διεύθυνση ph-elec.com.

Λοιπόν, ενημερώστε με στην παρακάτω ενότητα σχολίων για τυχόν ερωτήσεις που μπορεί να έχετε.

Ευχαριστώ, Jim.

Και μην ξεχάσετε να με ψηφίσετε! Ευχαριστώ και πάλι.

BTW: Υπάρχουν πάντα περισσότερες πληροφορίες στον ιστότοπό μου: www.ph-elec.com

Βήμα 5: Μετρική ενημέρωση

Επισυνάπτεται μια νέα έκδοση που επιτρέπει την εμφάνιση είτε μετρικής είτε αυτοκρατορικής.

Ελπίζω αυτό να βοηθήσει, Τζιμ

Συνιστάται: