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

Raspberry Pi Home Monitoring With Dropbox: 7 βήματα
Raspberry Pi Home Monitoring With Dropbox: 7 βήματα

Βίντεο: Raspberry Pi Home Monitoring With Dropbox: 7 βήματα

Βίντεο: Raspberry Pi Home Monitoring With Dropbox: 7 βήματα
Βίντεο: Автоматический календарь-планировщик смен в Excel 2024, Ιούλιος
Anonim
Raspberry Pi Home Monitoring με Dropbox
Raspberry Pi Home Monitoring με Dropbox

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

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

Wantedθελα επίσης η λύση μου να είναι ελαφριά και απλή και να αποφεύγω την ακαταστασία του Pi μου με περιττές βιβλιοθήκες και προγράμματα. Το λογισμικό αυτού του έργου αποτελείται από ένα μόνο σενάριο Python, που σημαίνει ότι μπορείτε να συνεχίσετε να χρησιμοποιείτε το Pi σας κανονικά, ακόμη και όταν το σύστημα παρακολούθησης λειτουργεί.

Για αυτό το έργο θα χρειαστείτε:

Ένα Raspberry Pi. Οποιοδήποτε μοντέλο πρέπει να λειτουργεί, χρησιμοποίησα ένα κιτ εκκίνησης all-in-one, αλλά ίσως χρειάζεστε μόνο την κεντρική μονάδα

Μια κάμερα USB. Αγόρασα ένα φθηνό ADVENT AWC72015, το οποίο έτυχε να δουλέψει μια χαρά. Mayσως είναι καλή ιδέα να συμβουλευτείτε αυτήν τη λίστα κάμερες web που έχουν επιβεβαιωθεί ότι συνεργάζονται με το Pi. Σημειώστε ότι ορισμένοι απαιτούν τροφοδοτικό διανομέα USB (το δικό μου λειτουργεί καλά χωρίς)

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

Digitalηφιακός αισθητήρας θερμοκρασίας DS18B20 και αντίσταση 4,7k. Μπορείτε να αγοράσετε τον αισθητήρα εδώ και ίσως αξίζει να πάρετε και ένα πακέτο διαφόρων αντιστάσεων

Ορισμένα αξεσουάρ για την κατασκευή κυκλωμάτων. Θα συνιστούσα να χρησιμοποιήσετε ένα breadboard και μερικά καλώδια για να κάνετε τη διαδικασία κατασκευής του κυκλώματος όσο το δυνατόν πιο εύκολη

[Αν αποφασίσετε να αγοράσετε οποιοδήποτε από αυτά τα προϊόντα, θα το εκτιμούσα ιδιαίτερα αν έχετε πρόσβαση στις καταχωρίσεις χρησιμοποιώντας τους παραπάνω συνδέσμους - με αυτόν τον τρόπο, παίρνω ένα μικρό μερίδιο των κερδών χωρίς επιπλέον κόστος για εσάς!]

Βήμα 1: Ρύθμιση του υλικού

Ρύθμιση του υλικού
Ρύθμιση του υλικού

Το πρώτο βήμα είναι να διασφαλίσετε ότι το Pi σας και τα σχετικά περιφερειακά είναι ρυθμισμένα.

Αρχικά, συνδέστε το Pi σας στο διαδίκτυο. Αυτό είναι απαραίτητο για να διασφαλιστεί ότι το πρόγραμμα παρακολούθησης μπορεί να λάβει τα αιτήματά σας και να ανεβάσει δεδομένα στο Dropbox. Χρησιμοποιώ μια σύνδεση ethernet για να διασφαλίσω την αξιοπιστία, αλλά μια σύνδεση Wi-Fi πρέπει επίσης να λειτουργεί καλά, ενώ έχει επίσης το πλεονέκτημα της βελτιωμένης φορητότητας. Εάν επιλέξετε Wi-Fi, θα συνιστούσα αυτό το dongle USB για το Pi.

Στη συνέχεια, συνδέστε την κάμερα web σας στο Pi συνδέοντάς την σε μία από τις θύρες USB. Ενώ οι οδηγίες της κάμερας Advent δεν έλεγαν ρητά ότι θα λειτουργούσε με Linux, το μόνο που έπρεπε να κάνω ήταν να το συνδέσω και να εκκινήσω το Pi. Δεν χρειάστηκε περαιτέρω εγκατάσταση. Άλλες κάμερες ιστού ενδέχεται να διαφέρουν. Μπορείτε να ελέγξετε αν έχει εντοπιστεί η κάμερα web σας από το Linux χρησιμοποιώντας την ακόλουθη εντολή:

lsusb

Στην παραπάνω εικόνα, η κάμερα web μου αναφέρεται ως "0c45: 6340 Microdia"

Τέλος, μπορείτε να συνδέσετε τον αισθητήρα θερμοκρασίας DS18B20 στην κεφαλίδα GPIO του Pi. Χρησιμοποιώ το breadboard μου για να διευκολύνω τη διαδικασία δημιουργίας κυκλωμάτων και θα σας συνιστούσα να κάνετε το ίδιο, ειδικά καθώς το DS18B20 απαιτεί μια αντίσταση 4,7k να τοποθετηθεί μεταξύ δύο από τις τρεις ακίδες του. Αυτός ο σύνδεσμος παρέχει ένα καλό διάγραμμα καλωδίωσης που δείχνει πώς μπορεί να χρησιμοποιηθεί μια σανίδα ψωμιού για σύνδεση σε αυτόν τον αισθητήρα θερμοκρασίας.

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

Σημειώστε επίσης τον μοναδικό αριθμό του DS18B20. Είναι ο αριθμός που ξεκινά με '28-'που συναντάτε κατά τη διάρκεια του σεμιναρίου εγκατάστασης. Θα πρέπει να το εισαγάγετε στο επερχόμενο πρόγραμμα Python για να του επιτρέψετε να διαβάζει στη θερμοκρασία.

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

Ρύθμιση του Dropbox
Ρύθμιση του Dropbox

Για να διασυνδεθεί το Pi σας με το Dropbox, πρέπει να ρυθμίσετε μια νέα εφαρμογή Dropbox. Αυτό θα σας παράσχει τις λεπτομέρειες που απαιτούνται για την εκτέλεση της διαδικτυακής διαχείρισης αρχείων από το Pi σας χρησιμοποιώντας Python. Υποθέτοντας ότι έχετε δημιουργήσει έναν λογαριασμό Dropbox και έχετε συνδεθεί, μπορείτε να δημιουργήσετε μια νέα εφαρμογή χρησιμοποιώντας την επιλογή μενού "Προγραμματιστές". Δείτε την παραπάνω εικόνα για μια περίληψη των σημαντικών βημάτων.

Στο μενού "Προγραμματιστές", επιλέξτε "Οι εφαρμογές μου" και, στη συνέχεια, πατήστε το κουμπί "Δημιουργία εφαρμογής". Για να συμπληρώσετε τη φόρμα που προκύπτει, επιλέξτε 'Dropbox API' και στη συνέχεια 'Φάκελος εφαρμογής'. Τέλος, μπορείτε να επιλέξετε ένα μοναδικό όνομα για την εφαρμογή σας στο Dropbox. Κάντε κλικ στην επιλογή "Δημιουργία εφαρμογής".

Στη συνέχεια, θα μεταφερθείτε στη σελίδα ρυθμίσεων της εφαρμογής σας στο Dropbox. Υπάρχει μόνο ένα ακόμη πράγμα που πρέπει να κάνετε εδώ - δημιουργήστε στον εαυτό σας ένα Κουπόνι Πρόσβασης. Για να το κάνετε αυτό, μετακινηθείτε προς τα κάτω στην ενότητα "OAuth 2" και στην ενότητα "Διακριτικό δημιουργημένης πρόσβασης", κάντε κλικ στο κουμπί "Δημιουργία".

Αυτό θα σας παρουσιάσει μια μεγάλη σειρά χαρακτήρων που χρειάζονται για να αποκτήσετε πρόσβαση στον λογαριασμό σας στο Dropbox χρησιμοποιώντας Python. Σημειώστε αυτό το Access Token καθώς θα χρειαστεί να το καθορίσετε αργότερα στον κωδικό σας. Εάν χάσετε το διακριτικό, μπορείτε να επιστρέψετε στις ρυθμίσεις της εφαρμογής σας κάνοντας κλικ στην επιλογή "Οι εφαρμογές μου" στην ενότητα "Προγραμματιστές" του Dropbox και να δημιουργήσετε ένα νέο διακριτικό.

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

Βήμα 3: Προετοιμασία του φακέλου εφαρμογών Dropbox

Προετοιμασία του φακέλου εφαρμογής Dropbox
Προετοιμασία του φακέλου εφαρμογής Dropbox

Αφού ρυθμίσετε την εφαρμογή Dropbox, ήρθε η ώρα να σκεφτείτε πώς θα χρησιμοποιήσετε τον φάκελο που προκύπτει στον λογαριασμό σας Dropbox για να αλληλεπιδράσετε με το Pi σας. Αυτό επιτυγχάνεται πολύ απλά. Το σενάριο Python που θα εκτελεστεί στο Pi θα χρησιμοποιήσει ένα υποσύνολο εντολών από το API του Dropbox για αναζήτηση και τροποποίηση των ονομάτων ορισμένων κενών αρχείων χωρίς επέκταση στο φάκελο της εφαρμογής σας. Αυτά τα αρχεία θα τα ονομάσουμε «αρχεία παραμέτρων» καθώς το καθένα θα σας επιτρέπει να ελέγχετε μια διαφορετική πτυχή της συμπεριφοράς του συστήματος παρακολούθησης. Η παραπάνω εικόνα δείχνει τα τέσσερα αρχεία παραμέτρων που πρέπει να υπάρχουν στον φάκελο της εφαρμογής Dropbox για αυτό το έργο. Η δημιουργία τους είναι απλή:

Ξεκινώντας με τον φάκελο της εφαρμογής σας εντελώς άδειο, ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου στον υπολογιστή σας. Παρόλο που αυτό μπορούσε να γίνει χρησιμοποιώντας το Pi, το βρήκα πιο εύκολο να χρησιμοποιήσω τον φορητό υπολογιστή Windows για αυτήν τη φάση εγκατάστασης. Μόλις ανοίξει ο επεξεργαστής κειμένου (χρησιμοποίησα το Σημειωματάριο στα Windows 7), το μόνο που χρειάζεται να κάνετε είναι να αποθηκεύσετε ένα εντελώς κενό αρχείο κειμένου οπουδήποτε στον υπολογιστή σας. Ως πρώτο μας παράδειγμα, θα δημιουργήσουμε την πρώτη παράμετρο στην εικόνα της κεφαλίδας. Ονομάστε το αρχείο 'delay = 10' όταν το αποθηκεύετε.

Για επανάληψη, θα πρέπει τώρα να έχετε ένα κενό αρχείο κειμένου αποθηκευμένο στον υπολογιστή σας με το όνομα 'καθυστέρηση = 10'. Το αρχείο θα έχει επίσης μια επέκταση «.txt» που μπορεί να είναι ή να μην είναι ορατή.

Το επόμενο βήμα είναι να ανεβάσετε αυτό το αρχείο στο φάκελο της εφαρμογής Dropbox. Αυτό είναι ακριβώς όπως κάθε άλλη μεταφόρτωση Dropbox. Απλώς μεταβείτε στο φάκελο της εφαρμογής σας και κάντε κλικ στην επιλογή "Μεταφόρτωση" και επιλέξτε το αρχείο σας "delay = 10".

Όταν μεταφορτωθεί αυτό το αρχείο, πρέπει να καταργήσετε την επέκταση '.txt' που θα πρέπει τώρα να είναι ορατή στο όνομα αρχείου. Για να το κάνετε αυτό, απλά κάντε δεξί κλικ στο αρχείο και επιλέξτε "Μετονομασία". Καταργήστε το τμήμα '.txt' του ονόματος αρχείου. Θα πρέπει τώρα να έχετε ένα αρχείο που ονομάζεται «καθυστέρηση = 10» χωρίς επέκταση αρχείου, όπως φαίνεται στην εικόνα της κεφαλίδας.

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

Βήμα 4: Ξεκινώντας με τον κώδικα

Όπως συζητήθηκε, ο πυρήνας του συστήματος παρακολούθησής μας θα αποτελείται από ένα μόνο σενάριο Python το οποίο θα διασυνδέεται με το Dropbox. Για να είναι ενεργό το πρόγραμμα παρακολούθησης, αυτό το σενάριο θα πρέπει να τρέξει στο παρασκήνιο στο Pi σας. Υποθέτω ότι περιγράφεται με μεγαλύτερη ακρίβεια ως σενάριο «δαίμονα», πράγμα που σημαίνει ότι μπορείτε απλώς να το θέσετε σε λειτουργία και να το ξεχάσετε. Το σενάριο επισυνάπτεται σε αυτό το βήμα, οπότε δεν έχει νόημα να επαναλάβετε τον κώδικα εδώ. Τώρα μπορεί να είναι μια καλή στιγμή για να το κατεβάσετε και να εξοικειωθείτε με αυτό.

Προτού μπορέσετε να εκτελέσετε το σενάριο, είναι σημαντικό να βεβαιωθείτε ότι έχετε εγκαταστήσει τις σχετικές βιβλιοθήκες Python. Αυτά που χρειάζεστε παρατίθενται στο επάνω μέρος του συνημμένου σεναρίου. Αυτοί είναι:

εισαγωγή dropbox

εισαγωγή pygame.camera εισαγωγή χρόνου εισαγωγής

Η εγκατάσταση Python στο Pi μου περιλάμβανε ήδη pygame, os και χρόνο, οπότε το μόνο που έπρεπε να εγκαταστήσω ήταν το Dropbox. Το έκανα χρησιμοποιώντας τις πολύ απλές οδηγίες εγκατάστασης με pip.

Μόλις ρυθμιστούν οι βιβλιοθήκες σας, θα πρέπει να επεξεργαστείτε τις δύο πρώτες γραμμές του συνημμένου σεναρίου για να ταιριάζει με το διακριτικό πρόσβασης Dropbox και το μοναδικό αναγνωριστικό του αισθητήρα θερμοκρασίας DS18B20. Αυτές είναι οι δύο γραμμές που πρέπει να επεξεργαστείτε:

APP_ACCESS_TOKEN = '**********'

THERMOMETER_FILE = '/sys/bus/w1/devices/28-**********/w1_slave'

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

ΣΗΜΑΝΤΙΚΟ: Όταν εκτελείτε αυτό το σενάριο, θέλετε να εκτελείται στο παρασκήνιο, ώστε α) να μπορείτε να συνεχίσετε να χρησιμοποιείτε το Pi και β) όταν κλείνετε την περίοδο σύνδεσης SSH, το σενάριο θα συνεχίσει να εκτελείται. Αυτή είναι η εντολή που χρησιμοποιώ κατά την εκτέλεση του σεναρίου:

nohup python DropCamTherm.py &

Αυτό επιτυγχάνει τρία πράγματα: Θα εκτελέσει το σενάριο ("python DropCamTherm.py"), θα επιστρέψει τον έλεγχο στη γραμμή εντολών αμέσως, ώστε να συνεχίσετε να χρησιμοποιείτε το Pi ('&') και θα στέλνει εξόδους Python που θα κανονικά εμφανίζεται στη γραμμή εντολών σε ένα αρχείο που ονομάζεται «nohup.out». Αυτό μπορεί να διαβαστεί χρησιμοποιώντας έναν επεξεργαστή κειμένου Linux (το αγαπημένο μου είναι το nano) και θα δημιουργηθεί αυτόματα στον κατάλογο από τον οποίο εκτελείται το σενάριο.

Βήμα 5: Σκάβοντας βαθύτερα στον κώδικα

Όταν ανοίγετε το σενάριο, θα παρατηρήσετε ότι αποτελείται από τρεις συναρτήσεις μαζί με ένα μπλοκ κώδικα που υλοποιεί αυτές τις λειτουργίες όταν εκτελείται το σενάριο. Οι λειτουργίες χρησιμοποιούν το API Dropbox και και έχουν πρόσβαση στο αρχείο καταγραφής θερμοκρασίας του DS18B20 για να ακούσουν εντολές από το Dropbox και να ανεβάσουν την πιο πρόσφατη ανάγνωση θερμοκρασίας. Παρακάτω είναι μια επισκόπηση του τι κάνουν οι λειτουργίες και πώς χρησιμοποιούνται για να λειτουργήσει το σύστημα παρακολούθησης:

- poll_parameter ():

Αυτή η συνάρτηση δείχνει τον σκοπό των αρχείων παραμέτρων Dropbox που δημιουργήσαμε στο βήμα 3. Αναζητά το φάκελο της εφαρμογής Dropbox για ένα αρχείο που περιέχει το κείμενο 'param ='. Στη συνέχεια εξάγει το κείμενο μετά το '=' και προσπαθεί να το μετατρέψει σε ακέραιο. Μπορείτε να δείτε ότι αυτό μας επιτρέπει να ελέγξουμε το πρόγραμμα προσθέτοντας τους σχετικούς αριθμούς στο τέλος των αρχείων παραμέτρων με μη αυτόματο τρόπο. Το επόμενο βήμα θα περιέχει ένα σύντομο εγχειρίδιο οδηγιών που θα σας δείχνει πώς να χρησιμοποιήσετε καθένα από τα αρχεία παραμέτρων για να ελέγξετε μια πτυχή του προγράμματος.

- set_parameter ():

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

- set_latest_temp ():

Αυτή η συνάρτηση χρησιμοποιεί το set_parameter () για να ανεβάσει την πιο πρόσφατη θερμοκρασία στο φάκελο της εφαρμογής Dropbox, προσθέτοντάς το στο αρχείο παραμέτρου "θερμοκρασία". Η συνάρτηση διαβάζει την τελευταία θερμοκρασία από το αρχείο καταγραφής του DS18B20 (το οποίο είναι διαθέσιμο στο Linux στη διαδρομή που δείχνει η μεταβλητή THERMOMETER_FILE).

Το τελευταίο μέρος του προγράμματος περιέχει τον κώδικα που θα εκτελεστεί κατά την εκτέλεση του σεναρίου. Μετά από ορισμένα βήματα ρύθμισης που απαιτούνται για τον αισθητήρα DS18B20, ανοίγει μια συνεδρία Dropbox χρησιμοποιώντας το Access Token και χρησιμοποιεί pygame για αναζήτηση στην κάμερα web. Εάν βρεθεί μια κάμερα web, θα εισέλθει σε έναν βρόχο όπου χρησιμοποιεί το poll_parameter () για να εξαγάγει πληροφορίες από το Dropbox και να τις ενεργήσει.

ΣΗΜΑΝΤΙΚΟ: Θα παρατηρήσετε την ακόλουθη γραμμή κώδικα:

cam = pygame.camera. Camera (cam_list [0], (864, 480))

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

Βήμα 6: Χρήση των αρχείων παραμέτρων Dropbox

Έτσι, τώρα θα πρέπει να έχετε ένα σενάριο εργασίας το οποίο, όταν εκτελείται χρησιμοποιώντας τις οδηγίες από το βήμα 4, θα επιτρέψει στο Pi σας να αρχίσει να παρακολουθεί το φάκελο της εφαρμογής για τις εισόδους σας. Κατά την πρώτη εκτέλεση, ο φάκελος της εφαρμογής θα πρέπει να περιέχει τα ακόλουθα αρχεία παραμέτρων:

καθυστέρηση = 10

exitprogram = 0 αίτηση εικόνας = 0 θερμοκρασία = 0

Η αλληλεπίδραση με το πρόγραμμα επιτυγχάνεται με τη μη αυτόματη μετονομασία των αρχείων παραμέτρων μέσω του Dropbox. Για να το κάνετε αυτό, απλώς κάντε δεξί κλικ σε ένα από τα αρχεία και επιλέξτε "μετονομασία". Κάθε αρχείο παραμέτρου έχει διαφορετική λειτουργία:

- καθυστέρηση:

Αυτό το αρχείο λέει στο πρόγραμμα παρακολούθησης πόσα δευτερόλεπτα πρέπει να περιμένετε μεταξύ κάθε επανάληψης του βρόχου παρακολούθησης. Όταν γνωρίζω ότι δεν θα αλληλεπιδράσω πολύ με το πρόγραμμα, το θέτω σε 60 ή 120. Όταν ξέρω ότι θέλω να ζητώ συχνά δεδομένα από το Pi, το θέτω στο 10.

- πρόγραμμα εξόδου:

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

- αίτηση εικόνας:

Αυτή είναι ίσως η πιο σημαντική παράμετρος. Αυτό πρέπει να οριστεί σε 1 ή 0. Εάν το πρόγραμμα εντοπίσει ότι έχει οριστεί σε 1, θα ζητήσει μια εικόνα από την κάμερα web και θα την ανεβάσει στο φάκελο της εφαρμογής (με τον τίτλο 'image.jpg'). Εάν υπάρχει άλλο 'image.jpg', θα το αντικαταστήσει.

- θερμοκρασία:

Αυτή είναι η ανάγνωση θερμοκρασίας DS18B20 που έχει οριστεί από τη συνάρτηση set_latest_temp (). Δεν θα πρέπει ποτέ να επεξεργαστείτε αυτό το αρχείο παραμέτρων - αυτόματα ρυθμίζεται από το πρόγραμμα.

Λάβετε υπόψη ότι εάν ορίσετε το «exitprogram» ή το «αίτημα εικόνας» σε 1, το πρόγραμμα θα τα επιστρέψει αυτόματα στο 0 πριν από την εκτέλεση του σχετικού κώδικα. Αυτό είναι για ευκολία. Μπορεί επίσης να παρατηρήσετε ότι ο κώδικας περιέχει πολλά μπλοκ "try" και "εκτός" που περιβάλλουν πολλές από τις κρίσιμες λειτουργίες. Αυτό γίνεται για να διασφαλιστεί ότι το σενάριο δεν θα εξαιρέσει (και συνεπώς θα σταματήσει να εκτελείται) εάν κάτι πάει στραβά (όπως πρόβλημα σύνδεσης στο Διαδίκτυο που εμποδίζει την πρόσβαση στο Dropbox).

Βήμα 7: Συμπέρασμα

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

Ως επόμενο βήμα, μπορείτε επίσης να χρησιμοποιήσετε μια βιβλιοθήκη GUI όπως το Tkinter μαζί με το API Dropbox για να δημιουργήσετε ένα πρόγραμμα -πελάτη που θα σας επιτρέψει να τροποποιήσετε τα αρχεία παραμέτρων χωρίς καν να χρειαστεί να συνδεθείτε στο Dropbox.

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

Συνιστάται: