Automatisch koffiemeldingssysteem - Ajarnpa
Automatisch koffiemeldingssysteem - Ajarnpa
Anonim
Image
Image
Automatisch koffiemeldingssysteem
Automatisch koffiemeldingssysteem

In dit project maak ik een koffiezetapparaat op kantoor slim, door een koffiewaarschuwingssysteem te bouwen dat Slack-meldingen stuurt wanneer iemand een verse pot koffie zet. De code kan worden gewijzigd om een e-mail of sms te verzenden. Dit project is gebouwd op een Raspberry Pi Zero-W

Om dit te doen, moet ik de temperatuur van de koffiemachine continu in de gaten houden. Ik ging met de DS18B20 waterdichte temperatuursensor en een Raspberry Pi Zero-W.

Als je dit project leuk vindt, volg me dan op Instagram en YouTube.

Links

Code & bedradingsschema:

Adafruit's Raspberry Pi & DS18B20 temperatuursensorgids:

Onderdelen (sommige gelieerde links)

Mini Solderless Prototype Breadboard:

Man-vrouw jumperdraden:

DS18B20 Digitale temperatuursensor van Adafruit:

Digitale temperatuursensor op eBay (degene die ik heb gebruikt):

Raspberry Pi Zero W-kit:

Raspberry Pi Zero W van Adafruit ($ 10 verzendkosten):

Ik had de LED liggen.

De enkele bendedoos en leidingen kwamen van Lowes

Stap 1: Het circuit

Het circuit
Het circuit
Het circuit
Het circuit
Het circuit
Het circuit
Het circuit
Het circuit

Deze schakeling is supereenvoudig. Ik heb de mijne op een mini-broodplank gebouwd, zodat ik niet hoefde te solderen (ik was toen net aan het leren). Ik heb echter wel wat jumperdraden gesoldeerd op de draden die van de DS18B20 komen, zodat deze op het breadboard kon worden aangesloten. Je hoeft het niet op deze manier te doen, en alles kan gemakkelijk aan elkaar worden gesoldeerd (zie mijn Duel Internet of Things Thermometer-video).

Kijk eens naar het schema.

Kortom, u voert gewoon een jumperdraad van pin 5 naar de gele draad op de DS18B20, aarde naar de aardedraad (zwart) en 3,3 V naar de rode draad. Voeg vervolgens een weerstand van 4,7 K toe tussen 3,3 V en de gele draad (signaal) op de sensor

Voor meer info moet je de Raspberry Pi & DS18B20 temperatuursensorgids van Adafruit bekijken

Stap 2: De Pi instellen en een temperatuurmeting krijgen

Na het installeren van Raspbian (daarvoor heb ik een Gist en een video) op de Pi Zero W, moet je SSH Into the Pi uitvoeren en dtoverlay=w1-gpio uitvoeren om de interface voor temperatuursondes in te schakelen. Start vervolgens opnieuw op door sudo reboot uit te voeren. Nadat je SSH weer in de Pi hebt gezet, kun je het volgende uitvoeren om een temperatuurmeting te krijgen.

  • sudo modprobe w1-gpio
  • sudo modprobe w1-therm
  • cd /sys/bus/w1/devices ls cd 28-xxxx (verander dit zodat het overeenkomt met het serienummer dat verschijnt)
  • kat w1_slave

Opmerking: voor SSH in Windows moet u mogelijk Putty gebruiken.

Stap 3: Aansluiten op het koffiezetapparaat en kalibreren

Aansluiten op het koffiezetapparaat en kalibreren
Aansluiten op het koffiezetapparaat en kalibreren

Om de temperatuursonde aan het koffiezetapparaat te haken, heb ik metalen verwarmingstape gebruikt en deze direct achter de boiler bevestigd. Het koffiezetapparaat dat we op kantoor hebben is een oude Bun met een mooie metalen achterkant die de warmte goed geleidt. Je zult een goede plek moeten vinden om de sonde op je koffiezetapparaat te plaatsen. De DS18B20 temperatuursensor is waterdicht, dus je hebt opties.

Zodra de sonde is aangesloten, moet u de temperatuur tijdens het brouwen controleren en zien welke temperatuur het bereikt tijdens het brouwen en wanneer het wordt gebrouwen. Mogelijk moet u spelen met de plaatsing van de sensor om een plaats te vinden waar u een voldoende groot temperatuurverschil krijgt tussen de normale temperatuur en de gebrouwen temperatuur.

Om uw temp-nummers te krijgen, kunt u de temperatuur in de console loggen door de opdrachten uit de stap "De Pi instellen en een temperatuurmeting verkrijgen" uit te voeren.

Opmerking: u hoeft alle opdrachten maar één keer uit te voeren en voert u vervolgens de opdracht "cat w1_slave" uit om de nieuwste tijdelijke meting te bekijken.

Stap 4: De code

De code
De code

Hier is een link naar de code: https://github.com/calebbrewer/pi-coffee-ready/blo… Het is geschreven in JavaScript (nodejs)

Bovenaan staan een paar constanten die u kunt wijzigen om het voor uw opstelling te laten werken.

  • const brewingTemp = 88; (Dit is de laagste temperatuur tijdens het brouwen. Het LED-lampje aan de voorkant knippert wanneer deze temperatuur wordt bereikt)
  • const brewedTemp = 93; (Als deze temperatuur is bereikt, weten we dat de koffie klaar is)
  • const brewOffset = 45 * 60000; (Dit is de tijd om te wachten voordat u opnieuw controleert. Verander de 45 in het aantal minuten dat u wilt wachten tot het koffiezetapparaat is afgekoeld)
  • const filePath = '/sys/bus/w1/devices/28-031702a501ff/w1_slave'; (Dit is het pad naar het bestand met tijdelijke uitlezing. Het jouwe zal anders zijn dan het mijne. Gebruik het bestand dat je hebt gevonden door de opdrachten uit te voeren in de stap "De Pi instellen en een temperatuurmeting verkrijgen".)
  • const slackMessage = { "username": "Coffee Bot", "text": "Er is verse koffie! Haal het terwijl het lekker is."}
  • const slackHook = ""; (Uw Slack-haak)

Deze code is gebaseerd op het verzenden van een Slack-melding, maar regel 75 is waar ik het bericht daadwerkelijk verzend. U kunt dit wijzigen om een melding te verzenden met welke service u maar wilt.

Als u wilt weten hoe u een Slack-hook instelt voor het verzenden van berichten, raadpleegt u dit document:

Om uw code aan de Pi toe te voegen, gebruikt u gewoon de opdracht scp om de index.js- en package.json-bestanden naar de Pi te kopiëren. Bijvoorbeeld: scp index.js pi@pi-ip-address:/var/pi-coffee-ready

Stap 5: Knooppunt & de code starten bij opstarten met PM2

Knooppunt & de code starten bij opstarten met PM2
Knooppunt & de code starten bij opstarten met PM2

Om de code uit te voeren, moet u nodejs als volgt installeren:

  • SSH in
  • Uitvoeren: $ wget -O - https://raw.githubusercontent.com/sdesalas/node-p… | bash
  • Gebruik de opdracht "cd" om naar de map te gaan waar u uw code plaatst
  • Voer "npm install" uit
  • Voer "npm start" uit

Om de code uit te voeren wanneer de Pi opstart, heb ik pm2 gebruikt. Terwijl sshed in de Pi-run:

  • npm installeer pm2 -g
  • pm2 start app.js

Hierna zal het script starten wanneer de Pi opstart.

Stap 6: het er cool uit laten zien

Het er cool uit laten zien
Het er cool uit laten zien
Het er cool uit laten zien
Het er cool uit laten zien
Het er cool uit laten zien
Het er cool uit laten zien

Ik pakte een stopcontactdoos om de componenten vast te houden, en een metalen pijp van 1/2 inch uit een bouwmarkt. Ik heb het in elkaar gezet zodat de pip een standaard voor de doos zou zijn. Ik heb het toen rood en wit geverfd.

Ik maakte een afbeelding voor de voorkant van de doos en gebruikte een vinylsnijder om het uit te snijden. Ik heb een gat geboord voor de indicatie-LED en vervolgens het vinyl op het deksel van de doos bevestigd.

Ik heb de achterkant van de Pi bedekt met isolatietape zodat de contacten aan de achterkant niet zouden kortsluiten in de metalen doos. Vervolgens heb ik de Pi aan een kant van de doos bevestigd met tapijttape. Ik heb de mini breadboard aan de andere kant bevestigd met behulp van de meegeleverde zelfklevende achterkant.

De draden lopen mooi door de buis en uit de T-fitting. Excuses voor de verfrun. Ik kreeg een beetje haast.

Stap 7: Alles klaar

Helemaal klaar
Helemaal klaar
Helemaal klaar
Helemaal klaar
Helemaal klaar
Helemaal klaar

En zo heb je een koffiewaarschuwingssysteem dat er geweldig uitziet!

Als je dit project leuk vindt, volg me dan op Instagram en YouTube.