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

Magic Mirror With News, Weather, Alarm, Timer and Todolist: 9 Βήματα
Magic Mirror With News, Weather, Alarm, Timer and Todolist: 9 Βήματα

Βίντεο: Magic Mirror With News, Weather, Alarm, Timer and Todolist: 9 Βήματα

Βίντεο: Magic Mirror With News, Weather, Alarm, Timer and Todolist: 9 Βήματα
Βίντεο: Digital Dashboard (Calendar/Weather/To-Do List/etc) 2024, Ιούλιος
Anonim
Magic Mirror With News, Weather, Alarm, Timer and Todolist
Magic Mirror With News, Weather, Alarm, Timer and Todolist
Magic Mirror With News, Weather, Alarm, Timer and Todolist
Magic Mirror With News, Weather, Alarm, Timer and Todolist

Ο Magic Mirror είναι ένας ειδικός μονόδρομος καθρέφτης με οθόνη πίσω του. Η οθόνη, η οποία είναι συνδεδεμένη με ένα Raspberry Pi, δείχνει πληροφορίες όπως ο καιρός, η θερμοκρασία δωματίου, η ώρα, η ημερομηνία, ένα todolist και πολλά άλλα. Μπορείτε ακόμη να προσθέσετε μικρόφωνο και να ρυθμίσετε έναν έξυπνο βοηθό. Οι δυνατότητες είναι ατελείωτες.

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

Ο καθρέφτης που έφτιαξα έχει αυτά τα χαρακτηριστικά:

  • Ειδήσεις από μια ροή RSS που έχει επιλέξει ο χρήστης
  • Καιρός
  • Εσωτερική θερμοκρασία
  • Σύστημα συναγερμού
  • Ένα σύστημα χρονοδιακόπτη
  • Ένας τοδολόγος
  • Πολλαπλοί χρήστες: το χρώμα της λωρίδας led και η νέα πηγή αλλάζουν με βάση τον χρήστη που έχει επιλεγεί.

Προμήθειες

Για να δημιουργήσετε αυτόν τον μαγικό καθρέφτη, θα χρειαστείτε:

  • Ένας μονόδρομος καθρέφτης
  • Ξύλο
  • Ένα Raspberry Pi
  • Κάρτα Micro SD (8+GB)
  • Μια σανίδα ψωμιού
  • Δύο ηχεία 20W
  • MAX9744 20W ενισχυτής για την τροφοδοσία των ηχείων
  • Λάμπα LED WS2801 1 οδηγήσεως 30 μέτρων
  • DS18B20 Αισθητήρας θερμοκρασίας 1 καλωδίου
  • HC-SR501 Υπέρυθρο αισθητήρα
  • Ένας περιστροφικός κωδικοποιητής
  • Οθόνη ή παλιά οθόνη φορητού υπολογιστή

    Εάν χρησιμοποιείτε μια παλιά οθόνη φορητού υπολογιστή, θα πρέπει να αγοράσετε έναν προσαρμογέα οθόνης φορητού υπολογιστή. Μπορείτε να τα πάρετε από το AliExpress, το Ebay ή το Amazon. Απλώς αναζητήστε τον σειριακό αριθμό της οθόνης σας

Θα χρειαστείτε επίσης τα ακόλουθα μικρά συστατικά:

  • Μια δίοδος
  • Αντίσταση 4,7k Ohm
  • Αντίσταση 470 Ohm
  • Καλώδια για τη σύνδεση αισθητήρων στο Raspberry Pi

Και αυτά τα τροφοδοτικά:

  • 5V 2A για τροφοδοσία της λωρίδας led
  • 12V 2A για τροφοδοσία της οθόνης
  • 12V 2A για να τροφοδοτήσετε τον ενισχυτή
  • 5.1V 3A για τροφοδοσία του Raspberry Pi (χρησιμοποιήστε επίσημο τροφοδοτικό RPi)

Βήμα 1: Εγκατάσταση του Raspbian

Η οθόνη και όλα τα στοιχεία πίσω από τον καθρέφτη τροφοδοτούνται από το Raspberry Pi. Θα χρειαστεί να εγκαταστήσετε το Raspbian, το προεπιλεγμένο λειτουργικό σύστημα του Pi, στην κάρτα SD.

  1. Κατεβάστε το Win32 Disk imager. Οι χρήστες Linux και MacOS μπορούν να χρησιμοποιήσουν κάτι σαν Etcher.
  2. Κατεβάστε την πιο πρόσφατη εικόνα Raspbian από τον ιστότοπο Raspberry Pi. Επιλέξτε την επιλογή "Raspbian Buster with desktop"
  3. Ανοίξτε το Win32 Disk Imager και γράψτε το αρχείο εικόνας στην κάρτα SD.

Η κάρτα SD είναι πλέον σχεδόν έτοιμη. Απλώς πρέπει να βεβαιωθούμε ότι μπορούμε να συνδεθούμε με το Raspberry Pi από απόσταση:

  1. Μεταβείτε στο διαμέρισμα "εκκίνησης" της κάρτας SD χρησιμοποιώντας τον εξερευνητή αρχείων του συστήματός σας.
  2. Προσθέστε ένα αρχείο που ονομάζεται "ssh" χωρίς επέκταση.
  3. Προσθέστε "ip = 169.254.10.1" (χωρίς εισαγωγικά) στο τέλος της πρώτης γραμμής του "cmdline.txt".

Εξαγάγετε με ασφάλεια την κάρτα SD από τον υπολογιστή σας, τοποθετήστε την στο Raspberry Pi και εκκινήστε την.

Βήμα 2: Διαμόρφωση WiFi

Για να σαρώσετε δίκτυα WiFi, εκτελέστε την ακόλουθη εντολή:

sudo iw dev wlan0 σάρωση | grep SSID

Θα δείτε τη λίστα με όλα τα SSID που μπορεί να συνδεθεί το Raspberry Pi.

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

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

Τώρα επικολλήστε την έξοδο της παραπάνω εντολής σε αυτό το αρχείο:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Τώρα επανεκκινήστε το Raspberry Pi. Θα είστε συνδεδεμένοι στο διαδίκτυο.

Βήμα 3: Εγκατάσταση και διαμόρφωση λογισμικού

Για αυτό το έργο, θα πρέπει να κατεβάσετε αυτά τα πακέτα στο Raspberry Pi:

pip3 install mysql-connector-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt εγκατάσταση apache2 mariadb-server

Προσθέστε αυτήν τη γραμμή στο κάτω μέρος του /boot/config.txt για να ενεργοποιήσετε τον ήχο μέσω των καρφιτσών GPIO 12 (αριστερά) και 13 (δεξιά):

dtoverlay = audremap

Χρησιμοποιήστε το raspi-config για να ορίσετε την ανάλυση της οθόνης σας και να ενεργοποιήσετε τα i2c, One-wire και SPI. Ορίστε επίσης τη μέθοδο εκκίνησης σε "Αυτόματη σύνδεση Desktop".

Στο/etc/xdg/lxsession/LXDE-pi/autostart, προσθέστε τα ακόλουθα:

@xset s off@xset -dpms@xset s noblank@chromium -browser --kiosk 127.0.0.1/mirror.html # φόρτωση χρωμίου μετά την εκκίνηση και άνοιγμα του ιστότοπου σε λειτουργία πλήρους οθόνης

Αυτό ανοίγει το πρόγραμμα περιήγησης στη σωστή σελίδα όταν φορτώνεται το LXDE (περιβάλλον επιφάνειας εργασίας του Raspbian). Επίσης, αφαιρέστε ή σχολιάστε τη γραμμή @xscreensaver για να απενεργοποιήσετε την προφύλαξη οθόνης.

Αποθετήριο Github

Κλωνοποιήστε το αποθετήριο GitHub μου και τοποθετήστε τα περιεχόμενα του φακέλου Frontend στο/var/www/html. Θα χρειαστούμε τον φάκελο Backend αργότερα.

Βήμα 4: Η βάση δεδομένων

Η βάση δεδομένων
Η βάση δεδομένων

Αυτό είναι το σχήμα βάσης δεδομένων, βελτιστοποιημένο σε 3NF. Αποθηκεύει όλους τους συναγερμούς, τις νέες πηγές, τους χρήστες, τα δεδομένα αισθητήρων, τους ήχους και το todolist.

  1. Χρησιμοποιήστε το MySQL Workbench για πρόσβαση στον διακομιστή βάσης δεδομένων του pi σας (mariadb)
  2. Δημιουργήστε μια βάση δεδομένων χρησιμοποιώντας αυτό το σχήμα και εισαγάγετε τα δικά σας δεδομένα.
  3. Επεξεργασία config.py στο φάκελο Backend του αποθετηρίου μου GitHub: αλλάξτε το όνομα της βάσης δεδομένων, το όνομα χρήστη που επιλέξατε και τον κωδικό πρόσβασης.
  4. Επεξεργαστείτε το app.py και αλλάξτε τη διεύθυνση URL API του OpenWeatherMap στη δική σας. (Δημιουργήστε το δικό σας εδώ)

Βήμα 5: Χτίζοντας το πλαίσιο καθρέφτη

Χτίζοντας το πλαίσιο καθρέφτη
Χτίζοντας το πλαίσιο καθρέφτη
Χτίζοντας το πλαίσιο καθρέφτη
Χτίζοντας το πλαίσιο καθρέφτη
Χτίζοντας το πλαίσιο καθρέφτη
Χτίζοντας το πλαίσιο καθρέφτη

Έφτιαξα το πλαίσιο γύρω από τον καθρέφτη χρησιμοποιώντας αρμούς Mitre με μεταλλικές γωνίες. Οι ξύλινες σανίδες που χρησιμοποίησα έχουν πάχος 18mm και πλάτος 10cm. Στις εικόνες μπορείτε να δείτε τις ακριβείς διαστάσεις για έναν καθρέφτη 45cm x 60cm. Πίσω από τον καθρέφτη υπάρχουν όλα τα ηλεκτρονικά, οπότε βεβαιωθείτε ότι οι σανίδες σας είναι αρκετά φαρδιές για να τις χωρέσουν.

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

Βήμα 6: Τα Ηλεκτρονικά

Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά

Ακολουθήστε τα παραπάνω σχήματα για να δημιουργήσετε το κύκλωμα. Χρησιμοποίησα ταινία για να στερεώσω τα ηλεκτρονικά στον καθρέφτη.

Βήμα 7: Τοποθέτηση των ηλεκτρονικών στο πλαίσιο

Τοποθέτηση των ηλεκτρονικών στο πλαίσιο
Τοποθέτηση των ηλεκτρονικών στο πλαίσιο
Τοποθέτηση των ηλεκτρονικών στο πλαίσιο
Τοποθέτηση των ηλεκτρονικών στο πλαίσιο

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

Όπως μπορείτε να δείτε στις εικόνες, έχω συνδέσει όλους τους προσαρμογείς ισχύος σε μια πρίζα πολλαπλών υποδοχών, ώστε να υπάρχει μόνο ένα καλώδιο που αφήνει το πλαίσιο. Αυτός είναι ο λόγος για τον οποίο χρειαζόμουν αρκετά πλάκες (10 εκατοστά).

Ανοίξα μια τρύπα πλάτους 2 εκατοστών στη δεξιά πλευρά του καθρέφτη για να χωρέσει ο περιστροφικός κωδικοποιητής. Αυτό σας επιτρέπει να αλλάζετε εύκολα την ένταση (στροφή) ή να απορρίπτετε χρονοδιακόπτες και συναγερμούς (ώθηση).

Άνοιξα δύο τρύπες 8 χιλιοστών σε κάθε πλευρά του καθρέφτη για να περάσω τα καλώδια για τις λωρίδες led.

Βήμα 8: Τελειώνοντας τις πινελιές

Τελευταίες πινελιές
Τελευταίες πινελιές
Τελευταίες πινελιές
Τελευταίες πινελιές
Τελευταίες πινελιές
Τελευταίες πινελιές

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

Αντιγράψτε το φάκελο Backend από το αποθετήριο Github μου σε ένα μέρος που θα θυμάστε.

Προσθέστε μια μονάδα συστήματος έτσι ώστε το σενάριο python να τρέχει κατά την εκκίνηση:

sudo nano /etc/systemd/system/magicmirror.service

[Μονάδα]

Περιγραφή = Η υπηρεσία για το μαγικό Mirror python script Μετά = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = κληρονομεί StandardError = κληρονομεί Επανεκκίνηση = πάντα χρήστη = pi [Εγκατάσταση] WantedBy = multi-user.target

Αλλάξτε το «WorkingDirectory» στον κατάλογο Backend και αλλάξτε User στο δικό σας όνομα χρήστη.

Βήμα 9: Αλληλεπίδραση με το Webapp

Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp
Αλληλεπίδραση με το Webapp

Περιηγηθείτε στη διεύθυνση IP (που εμφανίζεται στην οθόνη). Θα δείτε έναν ιστότοπο για πρώτη φορά για κινητά με τις ακόλουθες δυνατότητες:

  • Μια αλληλεπιδράσιμη ένδειξη θερμοκρασίας
  • Μια στιγμή. Όταν λειτουργεί το χρονόμετρο, θα δείτε επίσης μια αντίστροφη μέτρηση στον ίδιο τον καθρέφτη.
  • Σύστημα συναγερμού
  • Μια καρτέλα ρυθμίσεων, όπου μπορείτε να επεξεργαστείτε χρήστες, νέες πηγές και ένταση ηχείου.
  • Ένας τοδολόγος. Τα στοιχεία Todo θα εμφανιστούν στον καθρέφτη

Mirror.html είναι η σελίδα που εμφανίζεται στο Magic Mirror. Πρόσθεσα ένα παράδειγμα στις παραπάνω εικόνες.

Συνιστάται: