Αυτόματο σύστημα ειδοποίησης καφέ: 7 βήματα (με εικόνες)
Αυτόματο σύστημα ειδοποίησης καφέ: 7 βήματα (με εικόνες)
Anonim
Image
Image
Αυτόματο σύστημα ειδοποίησης καφέ
Αυτόματο σύστημα ειδοποίησης καφέ

Σε αυτό το έργο κάνω μια καφετιέρα γραφείου έξυπνη, χτίζοντας ένα σύστημα ειδοποίησης καφέ που στέλνει ειδοποιήσεις Slack όταν κάποιος παρασκευάζει ένα φλιτζάνι καφέ. Ο κωδικός θα μπορούσε να αλλάξει για να στείλει ένα email ή ένα μήνυμα κειμένου. Αυτό το έργο βασίζεται σε ένα Raspberry Pi Zero-W

Για να γίνει αυτό, θα πρέπει να παρακολουθώ συνεχώς τη θερμοκρασία της μηχανής καφέ. Πήγα με τον αδιάβροχο αισθητήρα θερμοκρασίας DS18B20 και ένα Raspberry Pi Zero-W.

Αν σας αρέσει αυτό το έργο, ακολουθήστε με στο Instagram και στο YouTube.

Συνδέσεις

Διάγραμμα κώδικα & καλωδίωσης:

Οδηγός αισθητήρα θερμοκρασίας Adafruit's Raspberry Pi & DS18B20:

Μέρη (ορισμένοι σύνδεσμοι θυγατρικών)

Μίνι Solderless Prototype Breadboard:

Καλώδια από αρσενικό σε θηλυκό άλτη:

DS18B20 Digital Temp Sensor from Adafruit:

Digitalηφιακός αισθητήρας θερμοκρασίας στο eBay (Αυτός που χρησιμοποίησα):

Raspberry Pi Zero W Kit:

Raspberry Pi Zero W από Adafruit (10 $ αποστολή):

Είχα το LED τοποθετημένο τριγύρω.

Το ενιαίο κουτί και οι σωληνώσεις προέρχονταν από τον Lowes

Βήμα 1: Το κύκλωμα

Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα

Αυτό το κύκλωμα είναι απλό. Έφτιαξα το δικό μου σε ένα μίνι σανίδι για να μην χρειαστεί να κολλήσω (τότε μόλις έμαθα). Ωστόσο, κόλλησα μερικά καλώδια με βραχυκυκλώματα στα καλώδια που βγαίνουν από το DS18B20, έτσι ώστε να μπορεί να συνδεθεί στο ψωμί. Δεν χρειάζεται να το κάνετε με αυτόν τον τρόπο και όλα θα μπορούσαν εύκολα να κολληθούν μαζί (Δείτε το βίντεο με το θερμόμετρο Duel Internet of Things).

Ρίξτε μια ματιά στο διάγραμμα.

Βασικά, απλώς περνάτε ένα καλώδιο βραχυκυκλωτήρα από τον πείρο 5 στο κίτρινο σύρμα στο DS18B20, γειώστε το σύρμα γείωσης (μαύρο) και 3,3V στο κόκκινο σύρμα. Στη συνέχεια, προσθέστε μια αντίσταση 4,7K μεταξύ 3,3V και το κίτρινο καλώδιο (σήμα) στον αισθητήρα

Για περισσότερες πληροφορίες, θα πρέπει να ελέγξετε τον οδηγό αισθητήρα θερμοκρασίας Adafruit's Raspberry Pi & DS18B20

Βήμα 2: Ρύθμιση του Pi και λήψη ένδειξης θερμοκρασίας

Αφού εγκαταστήσετε το Raspbian (έχω ένα Gist & ένα βίντεο για αυτό) στο Pi Zero W, θα πρέπει να κάνετε SSH Into the Pi και να εκτελέσετε το dtoverlay = w1-gpio για να ενεργοποιήσετε τη διεπαφή ανιχνευτών θερμοκρασίας. Στη συνέχεια, επανεκκινήστε εκτελώντας sudo reboot. Μετά την επαναφορά SSH στο Pi, μπορείτε να εκτελέσετε τα ακόλουθα για να λάβετε μια ένδειξη θερμοκρασίας.

  • sudo modprobe w1-gpio
  • sudo modprobe w1-θερμ
  • cd/sys/bus/w1/συσκευές ls cd 28-xxxx (αλλάξτε αυτό για να ταιριάζει με τον σειριακό αριθμό που εμφανίζονται)
  • γάτα w1_slave

Σημείωση: για SSH στα Windows ίσως χρειαστεί να χρησιμοποιήσετε Putty.

Βήμα 3: Σύνδεση με την καφετιέρα και βαθμονόμηση

Σύνδεση με την καφετιέρα & βαθμονόμηση
Σύνδεση με την καφετιέρα & βαθμονόμηση

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

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

Για να λάβετε τους αριθμούς θερμοκρασίας, μπορείτε να καταγράψετε τη θερμοκρασία στην κονσόλα εκτελώντας τις εντολές από το βήμα "Setting Up the Pi & Getting a Temperature Reading".

Σημείωση: χρειάζεται μόνο να εκτελέσετε όλες τις εντολές μία φορά και, στη συνέχεια, απλά εκτελέστε την εντολή "cat w1_slave" για να δείτε την πιο πρόσφατη ανάγνωση θερμοκρασίας.

Βήμα 4: Ο κώδικας

Ο κώδικας
Ο κώδικας

Εδώ είναι ένας σύνδεσμος για τον κώδικα: https://github.com/calebbrewer/pi-coffee-ready/blo… Είναι γραμμένο σε JavaScript (nodejs)

Στο επάνω μέρος υπάρχουν μερικές σταθερές που μπορείτε να αλλάξετε για να λειτουργήσει για τη ρύθμισή σας.

  • const brewingTemp = 88; (Αυτή είναι η χαμηλότερη θερμοκρασία κατά την παρασκευή. Η λυχνία LED στο μπροστινό μέρος θα αναβοσβήνει όταν χτυπήσει αυτή η θερμοκρασία)
  • const brewedTemp = 93; (Όταν φτάσει αυτή η θερμοκρασία γνωρίζουμε ότι ο καφές είναι έτοιμος)
  • const brewOffset = 45 * 60000; (Αυτή είναι η ώρα να περιμένετε πριν ελέγξετε ξανά. Αλλάξτε το 45 στον αριθμό των λεπτών που θέλετε να περιμένετε για να κρυώσει η καφετιέρα)
  • const filePath = '/sys/bus/w1/devices/28-031702a501ff/w1_slave'; (Αυτή είναι η διαδρομή για το αρχείο με ανάγνωση θερμοκρασίας. Το δικό σας θα είναι διαφορετικό από το δικό μου. Χρησιμοποιήστε το αρχείο που βρήκατε εκτελώντας τις εντολές στο βήμα "Ρύθμιση του Pi & Λήψη θερμοκρασιακής ανάγνωσης".)
  • const slackMessage = {"username": "Coffee Bot", "text": "Υπάρχει φρέσκος καφές! Πάρτε τον όσο είναι καλό."}
  • const slackHook = ""; (Το Slack hook σας)

Αυτός ο κωδικός βασίζεται στην αποστολή μιας ειδοποίησης Slack, αλλά η γραμμή 75 είναι εκεί που στέλνω πραγματικά το μήνυμα. Θα μπορούσατε να το τροποποιήσετε για να στείλετε μια ειδοποίηση με όποια υπηρεσία σας αρέσει.

Αν θέλετε να μάθετε πώς να ρυθμίσετε ένα Slack hook για την αποστολή μηνυμάτων, δείτε αυτό το έγγραφο:

Για να προσθέσετε τον κωδικό σας στο Pi, χρησιμοποιήστε την εντολή scp για να αντιγράψετε τα αρχεία index.js και package.json στο Pi. Για παράδειγμα: scp index.js pi@pi-ip-address:/var/pi-coffee-ready

Βήμα 5: Κόμβος & Εκκίνηση του κώδικα κατά την εκκίνηση με PM2

Κόμβος & Εκκίνηση του κώδικα κατά την εκκίνηση με PM2
Κόμβος & Εκκίνηση του κώδικα κατά την εκκίνηση με PM2

Για να εκτελέσετε τον κώδικα θα χρειαστεί να εγκαταστήσετε nodejs κάνοντας τα εξής:

  • SSH μέσα
  • Εκτέλεση: $ wget -O -https://raw.githubusercontent.com/sdesalas/node-p… | κτυπώ δυνατά
  • Χρησιμοποιήστε την εντολή "cd" για να μεταβείτε στον κατάλογο όπου βάζετε τον κωδικό σας
  • Εκτελέστε "εγκατάσταση npm"
  • Εκτέλεση "έναρξη npm"

Για την εκτέλεση του κώδικα κατά την εκκίνηση του Pi, χρησιμοποίησα το pm2. Ενώ μπήκατε στο Pi Pi:

  • npm εγκατάσταση pm2 -g
  • pm2 εκκίνηση app.js

Μετά από αυτό, το σενάριο θα ξεκινήσει όταν ξεκινήσει το Pi.

Βήμα 6: Κάντε το να φαίνεται δροσερό

Κάνοντας το να φαίνεται δροσερό
Κάνοντας το να φαίνεται δροσερό
Κάνοντας το να φαίνεται δροσερό
Κάνοντας το να φαίνεται δροσερό
Κάνοντας το να φαίνεται δροσερό
Κάνοντας το να φαίνεται δροσερό

Πήρα ένα κουτί πρίζας για να κρατήσω τα εξαρτήματα και κάποιο μεταλλικό σωλήνα 1/2 ιντσών από ένα κατάστημα βελτίωσης σπιτιού. Το έβαλα μαζί, έτσι ώστε το pip να είναι μια βάση για το κουτί. Στη συνέχεια το έβαψα κόκκινο και άσπρο.

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

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

Τα καλώδια περνούν όμορφα μέσα από τον σωλήνα και έξω από το εξάρτημα Τ. Παρακαλώ συγχωρήστε τη λειτουργία βαφής. Βιάστηκα λίγο.

Βήμα 7: Όλα Έγιναν

Ολα τελείωσαν
Ολα τελείωσαν
Ολα τελείωσαν
Ολα τελείωσαν
Ολα τελείωσαν
Ολα τελείωσαν

Και ακριβώς έτσι, έχετε ένα σύστημα ειδοποίησης καφέ που φαίνεται φοβερό!

Αν σας αρέσει αυτό το έργο, ακολουθήστε με στο Instagram και στο YouTube.