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

DIY Raspberry Pi Temperature System With Ubidots: 7 βήματα (με εικόνες)
DIY Raspberry Pi Temperature System With Ubidots: 7 βήματα (με εικόνες)

Βίντεο: DIY Raspberry Pi Temperature System With Ubidots: 7 βήματα (με εικόνες)

Βίντεο: DIY Raspberry Pi Temperature System With Ubidots: 7 βήματα (με εικόνες)
Βίντεο: How To Chia GPU Plotting and Farming Guide for WINDOWS UPDATED - Gigahorse Start to Finish - 2023 2024, Ιούλιος
Anonim
DIY Raspberry Pi Temperature System With Ubidots
DIY Raspberry Pi Temperature System With Ubidots

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

Αυτός ο οδηγός θα είναι το σεμινάριό σας για ένα απλό σύστημα παρακολούθησης θερμοκρασίας DIY που είναι επίσης αδιάβροχο για εκκίνηση. Χρησιμοποιώντας ένα Raspberry Pi και ένα Ubidots, θα σας δείξουμε πώς να συνδέετε το Pi σας και να εμφανίζετε σε πραγματικό χρόνο τις μετρήσεις του συστήματος θερμοκρασίας σας. Χρησιμοποιώντας το Ubidots, μπορείτε επίσης να δημιουργήσετε μηνύματα ηλεκτρονικού ταχυδρομείου ή συμβάντα SMS για να διασφαλίσετε ότι η "μεταβλητή" σας (στην περίπτωση αυτή, η θερμοκρασία) παραμένει εντός ενός συνόλου καθορισμένων ορίων που έχετε ορίσει για να διασφαλίσετε την ποιότητα και την αποτελεσματικότητα των συνθηκών του συστήματός σας.

Για αυτό το έργο θα χρησιμοποιήσουμε μια 1σύρματη και αδιάβροχη έκδοση του αισθητήρα DS18B20. Τι είναι το 1-wire; Είναι ένα πρωτόκολλο επικοινωνίας που διευκολύνει τη σύνδεση των αισθητήρων IoT με τη συγκέντρωση όλων των καλωδίων σε ένα μόνο καλώδιο (… στην πραγματικότητα είναι τρία, δύο είναι συνδέσεις γείωσης και ισχύος για την ενέργεια, το τρίτο είναι το 1-καλώδιο για τη μετάδοση δεδομένων).

ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ: Ο αισθητήρας θερμοκρασίας 1-Wire έχει διαφορετικές εκδόσεις προς πώληση. το ένα με αντίσταση ενσωματωμένο στον αισθητήρα και το άλλο χωρίς. Κατά την αγορά ή τη ρύθμιση του υλικού σας, είναι καλύτερο να βεβαιωθείτε ότι οι συσκευές και οι αισθητήρες σας είναι συμβατοί πριν προχωρήσετε περαιτέρω σε αυτό το σεμινάριο.

Βήμα 1: Απαιτήσεις

  • Μοντέλο Raspberry Pi 3 (Έχει ήδη διαμορφωθεί)
  • Αισθητήρας θερμοκρασίας OneWire - DS18B20
  • Λογαριασμός Ubidots - ή - Άδεια STEM

Βήμα 2: Ρύθμιση καλωδίωσης

Ρύθμιση καλωδίωσης
Ρύθμιση καλωδίωσης
Ρύθμιση καλωδίωσης
Ρύθμιση καλωδίωσης
Ρύθμιση καλωδίωσης
Ρύθμιση καλωδίωσης

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

    Με ενσωματωμένη αντίσταση - με βύσμα Grove

Ακολουθήστε τον πίνακα και την παραπάνω εικόνα για να κάνετε τις σωστές συνδέσεις για τον αισθητήρα θερμοκρασίας OneWire με αντίσταση.

ΣΥΜΒΟΥΛΗ: Το Arduberry είναι μια νέα καμπάνια στο Kickstarter, η οποία φέρνει έναν απλό και φθηνό τρόπο να φέρει ασπίδες Arduino στο Raspberry Pi. Αυτή η απίστευτη επιλογή είναι ο εύκολος τρόπος για να ξεκινήσετε τη σύνδεση των αισθητήρων του άλσους σας χρησιμοποιώντας ασπίδα Arduino Grove. Για περισσότερες πληροφορίες σχετικά με αυτό, ανατρέξτε στην καμπάνια:)

    Χωρίς ενσωματωμένη αντίσταση- χωρίς σύνδεσμο άλσους

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

Χρησιμοποιήστε μια αντίσταση 4,7kΩ (ή 10kΩ) και ακολουθήστε το παραπάνω διάγραμμα για να κάνετε τις σωστές συνδέσεις. Σημειώστε ότι οι ακίδες που συνδέονται στο Raspberry Pi είναι οι ίδιες που χρησιμοποιούνται στον πίνακα.

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

Ρύθμιση αισθητήρα
Ρύθμιση αισθητήρα
Ρύθμιση αισθητήρα
Ρύθμιση αισθητήρα

1. Με το Raspberry Pi συνδεδεμένο στο διαδίκτυο, επαληθεύστε τη διεύθυνση IP που έχει εκχωρηθεί στην πρόσβαση στην πλακέτα χρησιμοποιώντας το ssh στο τερματικό του υπολογιστή σας:

ssh pi@{IP_Address_assigned}

Εάν δεν έχετε διαμορφώσει ήδη τα διαπιστευτήρια του Raspberry Pi, σημειώστε ότι θα πρέπει να χρησιμοποιήσετε τα προεπιλεγμένα διαπιστευτήρια που παρέχονται:

  • όνομα χρήστη: pi
  • κωδικός πρόσβασης: βατόμουρο

Όταν το pi σας έχει ρυθμιστεί και συνδεθεί σωστά, ο χρήστης του τερματικού σας καταγράφεται ως: pi@raspberrypi

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

sudo apt-get ενημέρωση> sudo apt-get αναβάθμιση

sudo apt-get install python-pip python-dev build-essential

3. Στη συνέχεια, εγκαταστήστε τη βιβλιοθήκη αιτήματος, η οποία είναι μια δημοφιλής βιβλιοθήκη Python που απλοποιεί την υποβολή αιτημάτων HTTP. Αντιγράψτε και επικολλήστε τις παρακάτω εντολές στο τερματικό σας και πατήστε "enter" εκτελέστε την εντολή.

αιτήματα εγκατάστασης $ pip

4. Το Raspberry Pi έρχεται εξοπλισμένο με μια σειρά προγραμμάτων οδήγησης για διασύνδεση. Σε αυτήν την περίπτωση, για να μπορέσουμε να φορτώσουμε το πρόγραμμα οδήγησης του αισθητήρα 1-Wire στις ακίδες GPIO, πρέπει να χρησιμοποιήσουμε αυτά τα δύο παρακάτω προγράμματα οδήγησης. Αυτά τα προγράμματα οδήγησης αποθηκεύονται ως μονάδες φόρτωσης και η εντολή modprobe χρησιμοποιείται για την εκκίνησή τους στον πυρήνα Linux όταν απαιτείται.

Εκτελέστε τις παρακάτω εντολές:

$ sudo modprobe w1-gpio> $ sudo modprobe w1-therm

5. Τώρα, πρέπει να αλλάξουμε τον κατάλογο στον φάκελο της συσκευής μας 1-Wire και να παραθέσουμε τις συσκευές για να διασφαλίσουμε ότι ο αισθητήρας μας έχει φορτωθεί σωστά. Αντιγράψτε και επικολλήστε τις παρακάτω εντολές στο τερματικό σας και πατήστε "enter" μετά από κάθε για να εκτελέσετε τις εντολές.

$ cd/sys/bus/w1/devices/> $ ls

Αυτή τη στιγμή ο αισθητήρας σας έχει ήδη συναρμολογηθεί και συνδεθεί και θα πρέπει να αναφέρεται ως μια σειρά αριθμών και γραμμάτων. Στην περίπτωσή μας, η συσκευή είναι καταχωρημένη ως 28-00000830fa90, αλλά η περίπτωσή σας θα είναι μια διαφορετική σειρά γραμμάτων και αριθμών, οπότε αντικαταστήστε τον σειριακό μας αριθμό με τον δικό σας και εκτελέστε την εντολή.

$ cd 28-00000830fa90

Ο αισθητήρας γράφει περιοδικά στο αρχείο w1_slave, για να διαβάσετε τον αισθητήρα θερμοκρασίας, εκτελέστε την παρακάτω εντολή:

$ cat w1_slave

Αυτή η εντολή θα σας δείξει δύο γραμμές κειμένου με την έξοδο t = να δείχνει τη θερμοκρασία σε βαθμούς Κελσίου. Λάβετε υπόψη ότι ένα δεκαδικό σημείο πρέπει να τοποθετηθεί μετά τα δύο πρώτα ψηφία (αυτό παρέχεται στον τελικό κωδικό- μην ανησυχείτε). Για παράδειγμα, η ένδειξη θερμοκρασίας που λάβαμε είναι 29.500 βαθμοί Κελσίου.

Τώρα που μπορείτε να κάνετε μετρήσεις θερμοκρασίας, ήρθε η ώρα να τις δημοσιεύσετε στο Ubidots!

Βήμα 4: Αποστολή δεδομένων σε Ubidots για οπτικοποίηση

Αποστολή δεδομένων σε Ubidots για οπτικοποίηση
Αποστολή δεδομένων σε Ubidots για οπτικοποίηση
Αποστολή δεδομένων σε Ubidots για οπτικοποίηση
Αποστολή δεδομένων σε Ubidots για οπτικοποίηση
Αποστολή δεδομένων σε Ubidots για οπτικοποίηση
Αποστολή δεδομένων σε Ubidots για οπτικοποίηση

Τώρα ήρθε η ώρα για κωδικοποίηση!:) Δημιουργήστε και εκτελέστε ένα σενάριο Python στο τερματικό του υπολογιστή σας:

$ nano onewire_temp_ubidots.py

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

Βεβαιωθείτε ότι έχετε αντικαταστήσει τον σειριακό αριθμό 28-00000830fa90 με τον δικό σας και ορίστε το διακριτικό του λογαριασμού σας Ubidots στη διεύθυνση URL αιτήματος. Εάν δεν γνωρίζετε πώς να αποκτήσετε το Ubidots Token, ανατρέξτε στο παρακάτω άρθρο για βοήθεια:

Βρείτε το TOKEN από τον λογαριασμό σας στο Ubidots

Τώρα ας δοκιμάσουμε το σενάριο. Επικολλήστε και εκτελέστε το παρακάτω σενάριο στο τερματικό του υπολογιστή σας.

python onewire_temp_ubidots.py

Εάν λειτουργεί σωστά, θα δείτε μια νέα συσκευή στο λογαριασμό σας στο Ubidots με δύο μεταβλητές: temp_celsius και temp_fahrenheit

Βήμα 5: Προαιρετικά βήματα: Μετονομασία της συσκευής και των μεταβλητών

Προαιρετικά βήματα: Μετονομασία της συσκευής και των μεταβλητών
Προαιρετικά βήματα: Μετονομασία της συσκευής και των μεταβλητών
Προαιρετικά βήματα: Μετονομασία της συσκευής και των μεταβλητών
Προαιρετικά βήματα: Μετονομασία της συσκευής και των μεταβλητών

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

Πώς να προσαρμόσετε το όνομα της συσκευής και το όνομα της μεταβλητής

Μπορείτε επίσης να προσθέσετε και να προσαρμόσετε τις μονάδες κάθε μεταβλητής από τη λίστα επιλογών σας.

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

Βήμα 6: Ρύθμιση συμβάντος

Ένα συμβάν (ή ειδοποίηση) είναι κάθε ενέργεια που ενεργοποιείται όταν τα δεδομένα πληρούν ή υπερβαίνουν έναν κανόνα σχεδιασμού. Για παράδειγμα, ένα μήνυμα ηλεκτρονικού ταχυδρομείου ή SMS μπορεί να σταλεί ανά πάσα στιγμή όταν ένας αισθητήρας σταματήσει να στέλνει δεδομένα ή η θερμοκρασία υπερβαίνει ένα μέγιστο ή ελάχιστο όριο.

Για να δημιουργήσετε την εκδήλωση, ανατρέξτε στο παρακάτω άρθρο:

Εκδηλώσεις: Δημιουργία συμβάντος μηνυμάτων κειμένου (SMS, Email και Telegram)

Βήμα 7: Αποτέλεσμα

Μέσα σε λίγα λεπτά έχετε δημιουργήσει ένα εύκολο σύστημα παρακολούθησης θερμοκρασίας DIY. Τώρα τοποθετήστε τους αισθητήρες σας όπου χρειάζεται και ξεκινήστε να παρακολουθείτε τις θερμοκρασίες από τη συσκευή σας σήμερα!

Καλό χακάρισμα:)

Συνιστάται: