Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tym projekcie robię inteligentny ekspres do kawy w biurze, budując system ostrzegania o kawie, który wysyła powiadomienia Slack, gdy ktoś zaparzy świeży dzbanek kawy. Kod można zmienić, aby wysłać e-mail lub sms. Ten projekt jest zbudowany na Raspberry Pi Zero-W
W tym celu będę musiał stale monitorować temperaturę ekspresu do kawy. Poszedłem z wodoodpornym czujnikiem temperatury DS18B20 i Raspberry Pi Zero-W.
Jeśli podoba Ci się ten projekt, śledź mnie na Instagramie i YouTube.
Spinki do mankietów
Schemat kodu i okablowania:
Przewodnik po czujnikach temperatury Raspberry Pi i DS18B20 firmy Adafruit:
Części (niektóre linki afiliacyjne)
Prototypowa płytka do krojenia chleba bez lutowania:
Przewody połączeniowe męskie i żeńskie:
Cyfrowy czujnik temperatury DS18B20 firmy Adafruit:
Cyfrowy czujnik temperatury na eBayu (ten, którego użyłem):
Zestaw Raspberry Pi Zero W:
Raspberry Pi Zero W firmy Adafruit (wysyłka 10 USD):
Miałem diodę LED leżącą dookoła.
Pojedyncze pudło i orurowanie pochodziły z Lowes
Krok 1: Obwód
Ten obwód jest prosty w kolacji. Zbudowałem swoją na mini płytce stykowej, więc nie musiałem lutować (w tym czasie dopiero się uczyłem). Zrobiłem jednak przylutowanie niektórych przewodów połączeniowych do przewodów wychodzących z DS18B20, aby można je było podłączyć do płytki stykowej. Nie musisz tego robić w ten sposób, a wszystko można łatwo ze sobą zlutować (zobacz mój film z Termometrem Internet of Things w Pojedynku).
Spójrz na diagram.
Zasadniczo wystarczy poprowadzić przewód połączeniowy od styku 5 do żółtego przewodu w DS18B20, uziemić do przewodu uziemiającego (czarny) i 3,3 V do czerwonego przewodu. Następnie dodaj rezystor 4,7 K między 3,3 V a żółtym przewodem (sygnałem) na czujniku
Aby uzyskać więcej informacji, zapoznaj się z Przewodnikiem po czujnikach temperatury Raspberry Pi i DS18B20 firmy Adafruit
Krok 2: Konfiguracja Pi i odczyt temperatury
Po zainstalowaniu Raspbian (mam Gist i wideo do tego) na Pi Zero W, musisz połączyć się z Pi i uruchomić dtoverlay=w1-gpio, aby włączyć interfejs sond temperatury. Następnie uruchom ponownie, uruchamiając sudo reboot. Po SSH z powrotem do Pi możesz wykonać następujące czynności, aby uzyskać odczyt temperatury.
- sudo modprobe w1-gpio
- sudo modprobe w1-therm
- cd /sys/bus/w1/devices ls cd 28-xxxx (zmień to, aby pasowało do numeru seryjnego)
- kot w1_niewolnik
Uwaga: do SSH w Windows może być konieczne użycie Putty.
Krok 3: Podłączanie do ekspresu do kawy i kalibracja
Do podpięcia sondy temperatury do ekspresu użyłem metalowej taśmy grzewczej i przymocowałem ją tuż za bojlerem. Ekspres do kawy, który mamy w biurze, to stara bułka z ładnym metalowym tyłem, który dobrze przewodzi ciepło. Musisz znaleźć dobre miejsce na umieszczenie sondy w ekspresie do kawy. Czujnik temperatury DS18B20 jest wodoodporny, więc masz opcje.
Po podłączeniu sondy będziesz musiał monitorować temperaturę podczas parzenia i zobaczyć, jaką temperaturę osiąga podczas parzenia, a także kiedy jest zaparzana. Być może będziesz musiał pobawić się ustawieniem czujnika, aby znaleźć miejsce, które zapewni wystarczająco dużą różnicę temperatur między normalną temperaturą a temperaturą zaparzania.
Aby uzyskać numery temp, możesz zarejestrować temperaturę w konsoli, uruchamiając polecenia z kroku „Konfiguracja Pi i odczyt temperatury”.
Uwaga: wystarczy uruchomić wszystkie polecenia tylko raz, a następnie uruchomić polecenie „cat w1_slave”, aby wyświetlić najnowszy odczyt tymczasowy.
Krok 4: Kodeks
Oto link do kodu: https://github.com/calebbrewer/pi-coffee-ready/blo… Jest napisany w JavaScript (nodejs)
Na górze znajduje się kilka stałych, które możesz zmienić, aby działały w Twojej konfiguracji.
- stała temp. zaparzania = 88; (Jest to najniższa temperatura podczas parzenia. Dioda LED z przodu będzie migać, gdy ta temperatura zostanie osiągnięta)
- const parzone Temp = 93; (Kiedy ta temperatura zostanie osiągnięta, wiemy, że kawa jest gotowa)
- const brewOffset = 45 * 60000; (Jest to czas oczekiwania przed ponownym sprawdzeniem. Zmień 45 na liczbę minut, przez którą chcesz odczekać, aż ekspres do kawy ostygnie)
- const filePath = '/sys/bus/w1/devices/28-031702a501ff/w1_slave'; (To jest ścieżka do pliku z odczytem temperatury. Twój będzie inny niż mój. Użyj znalezionego pliku, uruchamiając polecenia w kroku „Konfiguracja Pi i odczyt temperatury”).
- const slackMessage = { "username": "Coffee Bot", "text": "Jest świeża kawa! Zdobądź ją, póki jest dobra."}
- const slackHook = ""; (Twój hak na Slack)
Ten kod opiera się na wysłaniu powiadomienia Slack, ale wiersz 75 to miejsce, w którym faktycznie wysyłam wiadomość. Możesz to zmodyfikować, aby wysłać powiadomienie z dowolną usługą.
Jeśli chcesz wiedzieć, jak skonfigurować hak Slack do wysyłania wiadomości, zobacz ten dokument:
Aby dodać swój kod do Pi, po prostu użyj polecenia scp, aby skopiować pliki index.js i package.json do Pi. Na przykład: scp index.js pi@pi-ip-address:/var/pi-coffee-ready
Krok 5: Węzeł i uruchamianie kodu podczas rozruchu z PM2
Aby uruchomić kod, musisz zainstalować nodejs, wykonując następujące czynności:
- SSH w
- Uruchom: $ wget -O - https://raw.githubusercontent.com/sdesalas/node-p… | grzmotnąć
- Użyj polecenia „cd”, aby przejść do katalogu, w którym umieściłeś swój kod
- Uruchom "instalację npm"
- Uruchom "npm start"
Aby uruchomić kod podczas uruchamiania Pi, użyłem pm2. Podczas wrzucania do biegu Pi:
- npm zainstaluj pm2 -g
- pm2 uruchom app.js
Po tym skrypt uruchomi się po uruchomieniu Pi.
Krok 6: Sprawienie, by wyglądało fajnie
Chwyciłem skrzynkę wyjściową do przechowywania komponentów i trochę metalowej rury 1/2 cala ze sklepu dla majsterkowiczów. Poskładałem to tak, aby pestka była stojakiem na pudełko. Następnie pomalowałem go na czerwono i biało.
Stworzyłem grafikę na przód pudełka i wycinałem ją za pomocą noża do winylu. Wywierciłem otwór na wskaźnik LED, a następnie przymocowałem winyl do pokrywy pudełka.
Tył Pi zakryłem taśmą elektryczną, aby styki z tyłu nie zwierały się w metalowym pudełku. Następnie przymocowałem Pi do jednej strony pudełka taśmą do dywanów. Przymocowałem mini płytkę stykową z drugiej strony za pomocą dołączonego podkładu samoprzylepnego.
Przewody ładnie przechodzą przez rurę i wychodzą z trójnika. Proszę wybaczyć bieg farby. Trochę się spieszyłem.
Krok 7: Gotowe
I tak po prostu masz system ostrzegania o kawie, który wygląda niesamowicie!
Jeśli podoba Ci się ten projekt, śledź mnie na Instagramie i YouTube.