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

Πλαίσιο χρόνου λήξης: 5 βήματα
Πλαίσιο χρόνου λήξης: 5 βήματα

Βίντεο: Πλαίσιο χρόνου λήξης: 5 βήματα

Βίντεο: Πλαίσιο χρόνου λήξης: 5 βήματα
Βίντεο: ΣΟΚ: ΒΡΗΚΑ ΚΑΡΧΑΡΙΑ😱😱 2024, Ιούλιος
Anonim
Πλαίσιο χρονικής καθυστέρησης
Πλαίσιο χρονικής καθυστέρησης
Πλαίσιο χρονικής καθυστέρησης
Πλαίσιο χρονικής καθυστέρησης

Αυτό το σεμινάριο θα δείξει πώς να δημιουργήσετε μια ρύθμιση Raspberry Pi για να τραβήξετε timelapses!

Η ρύθμιση αποτελείται από ένα κουτί που περιέχει μια πηγή φωτός και μια κάμερα (PiCamera) που ελέγχεται από ένα Raspberry Pi για λήψη φωτογραφιών και αποστολή τους στο Google Drive.

Εφαρμόζω το light-box μου για να καθυστερήσω την ανάπτυξη βακτηριακών αποικιών στην επιφάνεια των πιάτων Petri. Ωστόσο, αυτή η ρύθμιση μπορεί εύκολα να προσαρμοστεί στο timelapse ή να παρακολουθεί οπτικά οτιδήποτε θέλετε!

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

Βήμα 1: Θα προετοιμάσετε τον λογαριασμό σας Google, έτσι ώστε το Raspberry Pi να μπορεί να στέλνει αυτόματα εικόνες στο Google Drive

Βήμα 2: Θα ρυθμίσετε το Raspberry Pi για τον έλεγχο της πηγής φωτός και της κάμερας και έτσι ώστε να έχει πρόσβαση στο GoogleDrive σας

Βήμα 3: Θα φτιάξετε το κουτί και θα τοποθετήσετε την Picamera

Βήμα 4: Θα συνδέσετε το GPIO του Raspberry Pi και την πηγή φωτός μέσω ρελέ

Βήμα 5: Ξεκινήστε τη λήψη!

Λάβετε υπόψη ότι η σειρά των τμημάτων αυτού του σεμιναρίου δεν έχει σημασία. Μπορείτε να τα ακολουθήσετε με όποια σειρά θέλετε!

Ας πάρουμε το STAAAAARTED

Προμήθειες

1) 1 Raspberry Pi (Εδώ έκδοση Pi 3 Μοντέλο B +) + 1 Picamera (Εδώ Module V2) + 1SD κάρτα (μεταξύ 8 και 32Gb)

2) 2 τροφοδοτικά 5V, πληκτρολόγιο, ποντίκι, οθόνη και WIFI για εργασία με το Raspberry Pi

3) Ένα ρελέ 5V και ένα σωρό ηλεκτρικά καλώδια.

3) Μια πηγή φωτός (Εδώ χρησιμοποιώ ένα φωτιστικό Gaomon GB4 για να φωτίσω τα πιάτα Petri από κάτω!)

4) Ένα μεγάλο κουτί (ή ξύλινες σανίδες για να το χτίσετε)

7) Κοινά εργαλεία (πτερύγια, κατσαβίδι, ταινία, κολλητήρι, τρυπάνια) + 3 βίδες μερικώς σπειρωτές (διάμετρος 2,2 έως 2,5 mm)

Βήμα 1: Ρύθμιση του Λογαριασμού σας Google

Ρύθμιση του Λογαριασμού σας Google
Ρύθμιση του Λογαριασμού σας Google

Εισαγωγή σε αυτό το βήμα

Αποθηκεύουμε τις φωτογραφίες που τραβήχτηκαν από το Raspberry Pi στο Google Drive. Εκτός από την αποφυγή πλήρωσης της μνήμης του Pi σας, αυτό θα σας επιτρέψει να ελέγξετε το χρονικό σας πέρασμα από οπουδήποτε στον κόσμο!

Η Google κυκλοφόρησε ένα πακέτο Python που ονομάζεται PyDrive, το οποίο σας επιτρέπει να ανεβάζετε και να κατεβάζετε αρχεία με… Python!

Η Google παρέχει άφθονη τεκμηρίωση για να καταλάβει πώς να χειριστεί το PyDrive. Βρήκα επίσης το σεμινάριο της Annis πολύ χρήσιμο. Ωστόσο, εάν είστε βιολόγος όπως εγώ, όλη αυτή η ορολογία προγραμματισμού (API, πεδία, ροή, διακριτικό…) μπορεί να είναι λίγο συντριπτική. Ιδού λοιπόν η ιστορία όπως την καταλαβαίνω:

Δημιουργείτε ένα έργο στον λογαριασμό σας Google και ενεργοποιείτε την επιλογή προγραμματιστή για αυτό το έργο. Η Google θα σας δώσει ένα όνομα και έναν κωδικό πρόσβασης που χρησιμοποιεί το σενάριο python για να συνδεθεί με τον λογαριασμό σας Google. Κατά τη σύνδεση για πρώτη φορά, η Python χρησιμοποιεί μια "ροή" εξουσιοδότησης όπου λέει στην Google σε ποια υπηρεσία θέλει να έχει πρόσβαση (Η λίστα των υπηρεσιών που θέλει να έχει πρόσβαση η Python ονομάζεται "πεδίο εφαρμογής"). Όταν η Google λάβει ένα αίτημα ροής από την python, θα ζητήσει την εξουσιοδότησή σας. Μόλις αποδεχτείτε με μη αυτόματο τρόπο, η Python λαμβάνει διαπιστευτήρια και ένα διακριτικό για να συνδεθείτε με την Google χωρίς την άδειά σας στο μέλλον.

1) Μεταβείτε στο Google Cloud Plateform και κάντε κλικ στην επιλογή Επιλογή έργου στην μπλε κορδέλα. Κάντε κλικ στο Νέο έργο στην επάνω δεξιά γωνία του αναδυόμενου παραθύρου. Ονομάστε το έργο σας και κάντε κλικ στην επιλογή Δημιουργία. Αυτό θα σας επαναφέρει στη σελίδα καλωσορίσματος. Και πάλι, κάντε κλικ στην επιλογή Επιλογή έργου στην μπλε κορδέλα. Τώρα κάντε κλικ στο νέο έργο που μόλις δημιουργήσατε.

2) Κάντε κλικ στο μενού Burger επάνω αριστερά στην οθόνη σας. Στην αριστερή στήλη της οθόνης επιλέξτε API & Services >> Πίνακας ελέγχου. Στη συνέχεια, ακριβώς κάτω από τη μπλε κορδέλα επιλέξτε + ΕΝΕΡΓΟΠΟΙΗΣΗ APIS και ΥΠΗΡΕΣΙΕΣ. Στη συνέχεια, αναζητήστε το Drive στη γραμμή αναζήτησης και επιλέξτε Google Drive. Στη συνέχεια, κάντε κλικ στο κουμπί Ενεργοποίηση.

3) Επιστρέψτε στο μενού Burger >> API & Υπηρεσίες και αυτή τη φορά επιλέξτε Διαπιστευτήρια. Στην επόμενη σελίδα, μεταβείτε στην οθόνη συναίνεσης OAuth και δώστε στην εφαρμογή σας ένα όνομα και αποθήκευση. Τώρα κάντε κλικ στο μπλε κουμπί "Δημιουργία διαπιστευτηρίων" επιλέγοντας την επιλογή OAuth Client ID. Τώρα σημειώστε την επιλογή Άλλα και Δημιουργία.

4) Τώρα θα μπορείτε να κάνετε λήψη ενός αρχείου που ονομάζεται client_secret.json. Αυτό το αρχείο αποθηκεύει τα διαπιστευτήρια και το διακριτικό σας. Θα χρησιμοποιηθεί από το σενάριο python στο Raspberry Pi για να αλληλεπιδράσει με τον λογαριασμό σας Google. Προς το παρόν αποθηκεύστε το σε flashdrive ως «credentials.json», θα το μεταφέρετε στο Raspberry Pi μόλις εγκατασταθεί.

Βήμα 2: Ρύθμιση του Raspberry Pi

Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi

Εισαγωγή σε αυτό το βήμα:

Εδώ, θα εγκαταστήσετε τα πακέτα και το python script για να λειτουργήσει το Raspberry Pi. Το Python script lapser.py είναι ο εγκέφαλος που διέπει τη συσκευή time-lapse. Έχει τρεις κύριες λειτουργίες:

1) Ασχολείται με το Google Drive. Όπως εξηγείται στην ενότητα 1, αν θέλετε να μάθετε περισσότερα για αυτό το μέρος, αναζητήστε εδώ, εδώ και εδώ). 2) Ενεργοποιεί το GPI Για να ενεργοποιήσετε την πηγή φωτός. 3) Ενεργοποιεί την PiCamera για λήψη φωτογραφιών.

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

Εντάξει ας ξεκινήσουμε:

1) Προετοιμάστε την κάρτα SD σας

Διαμορφώστε την κάρτα SD για μορφοποίηση FAT. Κατεβάστε το NOOBS από τον ιστότοπο Raspberry Pi. Αντιγράψτε και επικολλήστε όλα τα αρχεία από τον πρόσφατα ληφθέντα φάκελο απευθείας στην κάρτα SD. Εάν κολλήσει, μπορείτε να βρείτε αναλυτικές οδηγίες εδώ.

2) Εκκινήστε το Raspberry Pi σας

Απλώς τοποθετήστε την κάρτα SD στην ενεργοποίηση Pi, ενεργοποιήστε την και ακολουθήστε τις οδηγίες εκκίνησης.

3) Βεβαιωθείτε ότι το Raspberry Pi έχει ρυθμιστεί στη σωστή ώρα:

> στο παράθυρο εντολών πληκτρολογήστε την ακόλουθη εντολή:

sudo date -s "Δευ 30 Αυγούστου 15:27:30 UTC 2019"

4) Βεβαιωθείτε ότι χρησιμοποιείτε python 3

> στο παράθυρο εντολών πληκτρολογήστε την ακόλουθη εντολή:

python -εκτροπή

> εάν η έκδοση python δεν είναι 3, επεξεργαστείτε το αρχείο.bashrc εισάγοντας την ακόλουθη εντολή:

sudo nano ~/.bashrc

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

ψευδώνυμο python = ‘usr/bin/python3.5’

αποθήκευση και επανεκκίνηση

5) Εγκαταστήστε τα απαιτούμενα πακέτα:

> στο παράθυρο εντολών πληκτρολογήστε τις ακόλουθες εντολές:

pip εγκατάσταση pydrive

sudo apt-get install libatlas-base-dev

pip εγκατάσταση google-auth-oauthlib

python -m pip install -U matplotlib

python -m pip install -U

sudo apt-get install python-gi-cairo

6) Ενεργοποίηση PiCamera:

> πληκτρολογήστε το τερματικό: sudo raspi-config

> Κάντε κλικ στην επιλογή 5 Interfacing Option και στη συνέχεια στο P1 Camera και, στη συνέχεια, ενεργοποιήστε τη διεπαφή της κάμερας και κάντε επανεκκίνηση

7) Αποθηκεύστε το Python Script lapser.py και το αρχείο credentials.json στο Raspberry Pi:

Κατεβάστε το σενάριο python lapser.py που παρέχεται σε αυτό το Instructable.lapser.py είναι το σενάριο που θα εκτελεστεί για τη λήψη του χρονικού ορίου. Το έβαλα μαζί αντιγράφοντας μερικά κομμάτια κωδικών που βρέθηκαν στο διαδίκτυο (παρέχω τις διευθύνσεις των ιστοσελίδων που χρησιμοποιούνται στο σενάριο). credentials.json είναι το αρχείο που πήρατε στο τελευταίο βήμα της Ενότητας 1 αποθηκεύστε το με το lapser.py στο φάκελο Documents of your Raspberry Pi.

8) Δημιουργήστε τη ροή ελέγχου ταυτότητας με το Google Drive:

Το lapser.py περιέχει όλες τις οδηγίες για τη δημιουργία της πρώτης ροής ελέγχου ταυτότητας με τον Λογαριασμό σας Google με την εφαρμογή που δημιουργήσατε στην Ενότητα 1. Διαβιβάζει τα διαπιστευτήρια που είναι αποθηκευμένα στο credentials.json στην Google και ανοίγει το πρόγραμμα περιήγησής σας, ώστε να μπορείτε να συνδεθείτε με μη αυτόματο τρόπο συνδεθείτε στον Λογαριασμό σας Google και εκχωρήστε άδεια στην εφαρμογή σας για πρόσβαση στο Google Drive. Μόλις γίνει αυτό, η Google μας δίνει ένα διακριτικό που το Lapser.py αποθηκεύει στα Έγγραφά σας ως αρχείο που ονομάζεται token.pickles το οποίο θα χρησιμοποιηθεί για τη δημιουργία συνδέσεων χωρίς τη δική σας συμβολή στο μέλλον.

Εκτέλεση lapser.py, πληκτρολογήστε το τερματικό:

> cd Έγγραφα

και μετά:

> python lapser.py

Συνδεθείτε στον Λογαριασμό σας Google και επιτρέψτε στην εφαρμογή σας να έχει πρόσβαση στο Google Drive.

Μετά από αυτό το βήμα, ελέγξτε ότι το Raspberry Pi τραβά φωτογραφίες και τις αποθηκεύει στο Drive σας.

9) Βεβαιωθείτε ότι το Raspberry Pi εκτελεί το lapser.py κατά την εκκίνηση χωρίς καμία εισαγωγή χρήστη:

Για να επιτρέψετε στο Raspberry Pi να εκτελέσει το lapser.py κατά την εκκίνηση, του λέμε να ανοίξει το τερματικό κατά την εκκίνηση και να εκτελέσει το lapser.py όταν ανοίξει το τερματικό:

Για να πούμε στο Pi να ανοίξει το τερματικό κατά την εκκίνηση, τροποποιούμε την αυτόματη εκκίνηση του αρχείου. Πληκτρολογήστε το παράθυρο εντολών:

> sudo nano/etc/xdg/lxsession/LXDE-pi/autostart

Στη συνέχεια, πληκτρολογήστε @lxterminal αμέσως πάνω από τη γραμμή "@xscreensaver". Αποθηκεύστε και κλείστε πληκτρολογώντας ctrl+x στη συνέχεια y και στη συνέχεια εισαγάγετε.

Για να εκτελέσετε το lapser.py όταν ανοίξει το τερματικό, επεξεργαζόμαστε το αρχείο.bashrc. Πληκτρολογήστε το παράθυρο εντολών:

> sudo nano /home/pi/.bashrc

Μετακινηθείτε προς τα κάτω στο τέλος του αρχείου και πληκτρολογήστε:

ηχώ Τρέξιμο κατά την εκκίνηση

sudo python /home/pi/Documents/lapser.py

Αποθηκεύστε και κλείστε πληκτρολογώντας: ctrl+x στη συνέχεια y και στη συνέχεια εισαγάγετε.

10) Μετακινήστε μερικά πακέτα:

Τώρα το lapser.py θα τρέξει στην εκκίνηση. Ωστόσο, τα πακέτα που χρειάζεται τώρα αποθηκεύονται σε ένα μέρος στο οποίο δεν έχει πρόσβαση (/home/pi/.local/lib/python3.5/site-packages). Συνεπώς, πρέπει να μεταφέρουμε αυτά τα πακέτα στη θέση στην οποία μπορεί να έχει πρόσβαση (/usr/lib/python3.5/dist-packages). Για να μετακινήσετε αυτά τα πακέτα, πληκτρολογήστε την ακόλουθη εντολή στο τερματικό Raspberry Pi:

> sudo cp -a /home/pi/.local/lib/python3.5/site-packages/. /usr/lib/python3.5/dist-packages/

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

Αυτό είναι το τέλος αυτής της ενότητας! Οι επόμενες ενότητες θα είναι λίγο πιο πονηρές: θα φτιάξουμε το κουτί και θα συνδέσουμε το Raspberry Pi για να ξεκινήσουμε να τραβάμε τα timelapses μας!

Βήμα 3: Φτιάξτε το κουτί

Image
Image
Φτιάξτε το κουτί
Φτιάξτε το κουτί
Φτιάξτε το κουτί
Φτιάξτε το κουτί

Εισαγωγή σε αυτό το βήμα:

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

Ένας κόφτης λέιζερ θα σας επιτρέψει να φτιάξετε ένα τακτοποιημένο κουτί με τέλειες διαστάσεις για το στήσιμο σας. Ωστόσο, δεν χρειάζεστε κάτι τόσο φανταχτερό για να τραβήξετε υπέροχα time-laps. Μπορείτε επίσης να χρησιμοποιήσετε οποιοδήποτε χώρο όπου ο φωτισμός δεν αλλάζει πολύ, όπως ένα μεγάλο κουτί με κάρτες, ένα ντουλάπι, μια αποθήκη…

1) Σχεδιάστε το κουτί σας.

Χρησιμοποίησα έναν κόφτη λέιζερ (Trotec Speedy 360) για να φτιάξω ένα κουτί (σε ξύλο MDF 6mm) που όχι μόνο έχει τις σωστές διαστάσεις αλλά έχει και εξαιρετικό σχεδιασμό.

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

Χρησιμοποίησα το Make a Box με τις ακόλουθες διαστάσεις (Πλάτος: 303mm, Μήκος: 453mm, Βάθος (= ightψος): 350mm, Πλάτος σανίδας: 6mm) για να πάρω τα σχεδιαγράμματα. Πρόσθεσα μερικές τρύπες για την Picamera και τα καλώδια και χάραξα επίσης μερικά υπέροχα trippy σχέδια που βρέθηκαν στο Freepik.

2) Συναρμολογήστε το κουτί σας

3) Τοποθετήστε την Picamera

Το να έχετε μια σταθερή κάμερα που δεν κινείται καθ 'όλη τη διάρκεια της λήψης σας είναι πολύ σημαντικό για να έχετε ένα ωραίο χρονικό διάστημα. Αφού δοκίμασα κασέτα, θήκες PiCamera με 3D εκτύπωση και άλλες, κατέληξα σε ένα ωραίο κόλπο για να ορίσω τον προσανατολισμό της κάμερας και να τη διατηρήσω σταθερά πάνω από το κουτί. Χρησιμοποιώ 3 βίδες που βιδώνονται μόνο στις άκρες τους. Το μη σπειρωμένο μέρος είναι αυτό που περνάει από το βάθος του ξύλου ενώ το άκρο με σπείρωμα πηγαίνει στην τρύπα της κάμερας. Κατά την περιστροφή της βίδας, το άκρο με σπείρωμα θα μετακινήσει τη γωνία PiCamera πιο κοντά ή μακριά από την επιφάνεια του κουτιού. Αυτό σας επιτρέπει να ρυθμίσετε με ακρίβεια και σταθερότητα τη γωνία της κάμεράς σας για να καταγράψετε τη σκηνή σας.

Λάβετε υπόψη ότι αυτό είναι το πιο πονηρό μέρος αυτού του Instructable, καθώς η τοποθέτηση και η γωνία των οπών πρέπει να ταιριάζουν ακριβώς με αυτές της Picamera. Probablyσως είναι καλύτερο να εξασκηθείτε πρώτα σε ένα ανταλλακτικό ξύλο προτού αρχίσετε να τρυπάτε σε όλο το όμορφο κουτί σας!

Βήμα 4: Καλωδίωση της πηγής φωτός στο RaspberryPi

Image
Image

Εισαγωγή σε αυτό το βήμα:

Αυτή η ενότητα φροντίζει για την καλωδίωση της πηγής φωτός, του ρελέ 5V και του Raspberry Pi μέσω του GPIO.

Σημαντικό: Δεν γνωρίζω πολλά για την εργασία με ηλεκτρικό ρεύμα και υψηλές τάσεις (τελικά είμαι απλά βιολόγος). Δεν μπορώ να εγγυηθώ την ασφάλεια αυτού του σεμιναρίου και της τελικής εγκατάστασης. Να είστε ιδιαίτερα προσεκτικοί σε κινδύνους πυρκαγιάς και όταν εργάζεστε με υψηλή τάση!

Μπορείτε να δείτε εδώ για να διαβάσετε περισσότερα για το πώς λειτουργεί ένα ρελέ 5V και εδώ για ένα πλήρες σεμινάριο για τον έλεγχο του GPIO του RaspberryPi.

Mightσως παρατηρήσετε ότι δεν συμπεριέλαβα καμία αντίσταση στο κύκλωμα που τροφοδοτεί το φωτιστικό. Αυτό οφείλεται στο ότι είναι ύποπτο ότι η συμβολοσειρά LED σε αυτήν τα έχει ήδη.

Εκτός από αυτό, είναι όλα στο βίντεο!

Βήμα 5: Πυροβολήστε χρονοκαθυστέρηση

Και τελειώσατε!

Διασκεδάστε και μοιραστείτε την τέχνη σας στα σχόλια!

Συνιστάται: