Automatyczny system powiadamiania o kawie: 7 kroków (ze zdjęciami)
Automatyczny system powiadamiania o kawie: 7 kroków (ze zdjęciami)
Anonim
Image
Image
Automatyczny system powiadamiania o kawie
Automatyczny system powiadamiania o kawie

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

Obwód
Obwód
Obwód
Obwód
Obwód
Obwód
Obwód
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

Podłączanie do ekspresu do kawy i kalibracja
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

Kod
Kod

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

Węzeł i uruchamianie kodu przy starcie z PM2
Węzeł i uruchamianie kodu przy starcie 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

Sprawia, że wygląda fajnie
Sprawia, że wygląda fajnie
Sprawia, że wygląda fajnie
Sprawia, że wygląda fajnie
Sprawia, że wygląda fajnie
Sprawia, że wygląda 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

Wszystko gotowe
Wszystko gotowe
Wszystko gotowe
Wszystko gotowe
Wszystko gotowe
Wszystko 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.