Sistem automat de notificare a cafelei: 7 pași (cu imagini)
Sistem automat de notificare a cafelei: 7 pași (cu imagini)
Anonim
Image
Image
Sistem automat de notificare a cafelei
Sistem automat de notificare a cafelei

În acest proiect, fac o mașină de cafea de birou inteligentă, construind un sistem de alertă de cafea care trimite notificări Slack atunci când cineva prepară o oală proaspătă de cafea. Codul ar putea fi modificat pentru a trimite un e-mail sau un mesaj text. Acest proiect este construit pe un Raspberry Pi Zero-W

Pentru a face acest lucru, va trebui să monitorizez continuu temperatura aparatului de cafea. Am mers cu senzorul de temperatură impermeabil DS18B20 și un Raspberry Pi Zero-W.

Dacă îți place acest proiect, te rog să mă urmărești pe Instagram și YouTube.

Link-uri

Cod și diagramă de cablare:

Ghidul senzorului de temperatură Adafruit Raspberry Pi și DS18B20:

Piese (unele link-uri afiliate)

Mini prototip fără sudură Breadboard:

Firele jumperului de la bărbat la feminin:

Senzor digital DS18B20 de la Adafruit:

Senzor digital de temperatură pe eBay (cel pe care l-am folosit):

Kit Raspberry Pi Zero W:

Raspberry Pi Zero W de la Adafruit (transport de 10 USD):

Aveam LED-ul așezat în jur.

Cutia cu un singur gang și conductele au venit de la Lowes

Pasul 1: Circuitul

Circuitul
Circuitul
Circuitul
Circuitul
Circuitul
Circuitul
Circuitul
Circuitul

Acest circuit este cină simplu. Mi-am construit-o pe o mini-panou, așa că nu a trebuit să lipesc (în acel moment doar învățam). Cu toate acestea, am lipit niște fire jumper pe firele care ieșeau de pe DS18B20, astfel încât să poată fi conectat la panou. Nu trebuie să faceți acest lucru și totul ar putea fi ușor lipit împreună (a se vedea videoclipul meu Termometru Duel Internet of Things).

Uitați-vă la diagramă.

Practic, pur și simplu rulați un fir jumper de la pinul 5 la firul galben de pe DS18B20, împământat la firul de masă (negru) și 3,3V la firul roșu. Apoi, adăugați un rezistor de 4,7K între 3,3V și firul galben (semnal) de pe senzor

Pentru mai multe informații, trebuie să verificați Ghidul senzorului de temperatură Adafruit Raspberry Pi și DS18B20

Pasul 2: Configurarea Pi și obținerea unei citiri a temperaturii

După instalarea Raspbian (am un Gist și un videoclip pentru asta) pe Pi Zero W, va trebui să SSH în Pi și să rulați dtoverlay = w1-gpio pentru a activa interfața sondelor de temperatură. Apoi reporniți executând sudo reboot. După SSHing înapoi în Pi, puteți rula următoarele pentru a obține o citire a temperaturii.

  • sudo modprobe w1-gpio
  • sudo modprobe w1-therm
  • cd / sys / bus / w1 / devices ls cd 28-xxxx (schimbați acest lucru pentru a se potrivi cu ce număr de serie apare)
  • pisică w1_slave

Notă: la SSH în Windows poate fi necesar să utilizați Putty.

Pasul 3: Conectarea la aparatul de cafea și calibrarea

Conectarea la aparatul de cafea și calibrarea
Conectarea la aparatul de cafea și calibrarea

Pentru a conecta sonda de temperatură la aparatul de cafea, am folosit bandă adezivă de încălzire din metal și am atașat-o chiar în spatele cazanului. Mașina de cafea pe care o avem la birou este un Bun vechi cu un spate frumos din metal care conduce bine căldura. Va trebui să găsiți un loc bun pentru a pune sonda pe aparatul de cafea. Senzorul de temperatură DS18B20 este rezistent la apă, deci aveți opțiuni.

Odată ce sonda este atașată, va trebui să monitorizați temperatura în timp ce preparați și să vedeți ce temperatură atinge la preparare, precum și când este preparată. Poate că va trebui să vă jucați cu poziționarea senzorului pentru a găsi un loc care să vă ofere o diferență de temperatură suficient de mare între temperatura normală și temperatura preparată.

Pentru a obține numerele de temperatură, puteți conecta temperatura la consolă executând comenzile din pasul „Configurarea Pi și obținerea unei citiri a temperaturii”.

Notă: trebuie să rulați toate comenzile o singură dată, apoi să rulați comanda „cat w1_slave” pentru a vedea cea mai nouă lectură temporară.

Pasul 4: Codul

Codul
Codul

Iată un link către cod: https://github.com/calebbrewer/pi-coffee-ready/blo… Este scris în JavaScript (nodejs)

În partea de sus există câteva constante pe care le puteți schimba pentru a funcționa pentru configurarea dvs.

  • const brewingTemp = 88; (Aceasta este cea mai mică temperatură în timpul preparării. Lumina LED din partea din față va clipi atunci când această temperatură este lovită)
  • const brewedTemp = 93; (Când se atinge această temperatură, știm că cafeaua este gata)
  • const brewOffset = 45 * 60000; (Acesta este timpul să așteptați înainte de a verifica din nou. Schimbați 45 cu numărul de minute pe care doriți să îl așteptați pentru ca cafetiera să se răcească)
  • const filePath = '/ sys / bus / w1 / devices / 28-031702a501ff / w1_slave'; (Aceasta este calea către fișierul cu citire temporară. A ta va fi diferită de a mea. Folosește fișierul pe care l-ai găsit executând comenzile în pasul „Configurarea Pi și obținerea unei citiri de temperatură”.)
  • const slackMessage = {"username": "Coffee Bot", "text": "Există cafea proaspătă! Primiți-o cât timp este bună."}
  • const slackHook = ""; (Cârligul tău Slack)

Acest cod se bazează pe trimiterea unei notificări Slack, dar linia 75 este locul unde trimit mesajul. Puteți modifica acest lucru pentru a trimite o notificare cu orice serviciu doriți.

Dacă doriți să știți cum să configurați un cârlig Slack pentru trimiterea mesajelor, consultați acest document:

Pentru a adăuga codul la Pi, pur și simplu utilizați comanda scp pentru a copia fișierele index.js și package.json în Pi. De exemplu: scp index.js pi @ pi-ip-address: / var / pi-coffee-ready

Pasul 5: nod și pornirea codului la pornire cu PM2

Nod și pornirea codului la pornire cu PM2
Nod și pornirea codului la pornire cu PM2

Pentru a rula codul, va trebui să instalați nodejs procedând în felul următor:

  • SSH în
  • Rulați: $ wget -O - https://raw.githubusercontent.com/sdesalas/node-p… | bash
  • Utilizați comanda „cd” pentru a trece la directorul în care ați plasat codul
  • Rulați „instalare npm”
  • Rulați „npm start”

Pentru a rula codul când Pi porneste, am folosit pm2. În timp ce vă aflați în cursa Pi:

  • npm instalați pm2 -g
  • pm2 pornește app.js

După aceasta, scriptul va începe atunci când se pornește Pi.

Pasul 6: Faceți-l să pară cool

Făcând-o să arate cool
Făcând-o să arate cool
Făcând-o să arate cool
Făcând-o să arate cool
Făcând-o să arate cool
Făcând-o să arate cool

Am luat o cutie de ieșire pentru a ține componentele și niște țevi metalice de 1/2 inch dintr-un magazin de îmbunătățiri pentru locuințe. Am pus-o împreună, astfel încât pip să fie un suport pentru cutie. Apoi l-am vopsit în roșu și alb.

Am creat un grafic pentru partea din față a cutiei și am folosit un tăietor de vinil pentru a-l tăia. Am forat o gaură pentru LED-ul indicator, apoi am atașat vinilul la capacul cutiei.

Am acoperit partea din spate a Pi în bandă electrică, astfel încât contactele din spate să nu se scurteze în cutia metalică. Am atașat apoi Pi la o parte a cutiei cu bandă de covor. Am atașat mini panoul de prindere pe cealaltă parte folosind suportul adeziv inclus.

Sârmele trec frumos prin conductă și ies din racordul T. Vă rog să mă scuzați. M-am grăbit un pic.

Pasul 7: Toate sunt terminate

Totul este gata
Totul este gata
Totul este gata
Totul este gata
Totul este gata
Totul este gata

Și exact așa, aveți un sistem de alertă pentru cafea care arată minunat!

Dacă îți place acest proiect, te rog să mă urmărești pe Instagram și YouTube.