Table des matières:

Système de notification automatique de café : 7 étapes (avec photos)
Système de notification automatique de café : 7 étapes (avec photos)

Vidéo: Système de notification automatique de café : 7 étapes (avec photos)

Vidéo: Système de notification automatique de café : 7 étapes (avec photos)
Vidéo: Impossible que tu connaisses cette astuce Samsung 2024, Novembre
Anonim
Image
Image
Système de notification automatique de café
Système de notification automatique de café

Dans ce projet, je rends une cafetière de bureau intelligente en créant un système d'alerte de café qui envoie des notifications Slack lorsque quelqu'un prépare un nouveau pot de café. Le code peut être modifié pour envoyer un e-mail ou un SMS. Ce projet est construit sur un Raspberry Pi Zero-W

Pour ce faire, je vais devoir surveiller en permanence la température de la machine à café. Je suis parti avec le capteur de température étanche DS18B20 et un Raspberry Pi Zero-W.

Si vous aimez ce projet, suivez-moi sur Instagram et YouTube.

Liens

Code et schéma de câblage:

Guide du capteur de température Raspberry Pi et DS18B20 d'Adafruit:

Pièces (quelques liens d'affiliation)

Mini planche à pain prototype sans soudure:

Cavaliers mâles à femelles:

Capteur de température numérique DS18B20 d'Adafruit:

Capteur de température numérique sur eBay (celui que j'ai utilisé):

Kit Raspberry Pi Zero W:

Raspberry Pi Zero W d'Adafruit (10 $ d'expédition):

J'avais la LED qui traînait.

La boîte et la tuyauterie à un seul gang provenaient de Lowes

Étape 1: Le circuit

Le circuit
Le circuit
Le circuit
Le circuit
Le circuit
Le circuit
Le circuit
Le circuit

Ce circuit est le souper simple. J'ai construit le mien sur une mini planche à pain donc je n'ai pas eu à souder (j'étais juste en train d'apprendre à l'époque). J'ai cependant soudé des fils de liaison sur les fils sortant du DS18B20, afin qu'il puisse être branché sur la planche à pain. Vous n'êtes pas obligé de procéder de cette façon, et tout peut être facilement soudé ensemble (voir ma vidéo Duel Internet of Things Thermometer).

Jetez un œil au diagramme.

Fondamentalement, il vous suffit de faire passer un cavalier de la broche 5 au fil jaune du DS18B20, de la masse au fil de masse (noir) et de 3,3 V au fil rouge. Ensuite, ajoutez une résistance de 4,7K entre 3,3V et le fil jaune (signal) sur le capteur

Pour plus d'informations, vous devriez consulter le guide des capteurs de température Raspberry Pi et DS18B20 d'Adafruit

Étape 2: Configuration du Pi et obtention d'une lecture de température

Après avoir installé Raspbian (j'ai un Gist et une vidéo pour cela) sur le Pi Zero W, vous devrez vous connecter en SSH au Pi et exécuter dtoverlay=w1-gpio pour activer l'interface des sondes de température. Redémarrez ensuite en exécutant sudo reboot. Après le retour SSH dans le Pi, vous pouvez exécuter ce qui suit pour obtenir une lecture de la température.

  • sudo modprobe w1-gpio
  • sudo modprobe w1-therm
  • cd /sys/bus/w1/devices ls cd 28-xxxx (modifiez-le pour qu'il corresponde au numéro de série qui s'affiche)
  • chat w1_esclave

Remarque: pour SSH sous Windows, vous devrez peut-être utiliser Putty.

Étape 3: connexion à la cafetière et étalonnage

Connexion à la cafetière et étalonnage
Connexion à la cafetière et étalonnage

Pour accrocher la sonde de température à la cafetière, j'ai utilisé du ruban adhésif chauffant en métal et je l'ai fixé juste derrière la chaudière. La cafetière que nous avons au bureau est un vieux Bun avec un joli dos en métal qui conduit bien la chaleur. Il va falloir trouver un bon endroit pour poser la sonde sur votre cafetière. Le capteur de température DS18B20 est étanche, vous avez donc des options.

Une fois la sonde fixée, vous devrez surveiller la température pendant l'infusion et voir à quelle température elle atteint lors de l'infusion, ainsi que quand elle est infusée. Vous devrez peut-être jouer avec le positionnement du capteur pour trouver un endroit qui vous donne une différence de température suffisamment grande entre la température normale et la température infusée.

Pour obtenir vos numéros de température, vous pouvez enregistrer la température sur la console en exécutant les commandes de l'étape "Configuration du Pi et obtention d'une lecture de température".

Remarque: vous n'avez besoin d'exécuter toutes les commandes qu'une seule fois, puis exécutez simplement la commande "cat w1_slave" pour afficher la dernière lecture de température.

Étape 4: le code

Le code
Le code

Voici un lien vers le code: https://github.com/calebbrewer/pi-coffee-ready/blo… Il est écrit en JavaScript (nodejs)

En haut, il y a quelques constantes que vous pouvez modifier pour que cela fonctionne pour votre configuration.

  • const brewingTemp = 88; (C'est la température la plus basse pendant l'infusion. Le voyant LED à l'avant clignote lorsque cette température est atteinte)
  • const brewedTemp = 93; (Lorsque cette température est atteinte, nous savons que le café est prêt)
  • const brewOffset = 45 * 60000; (C'est le temps d'attendre avant de vérifier à nouveau. Remplacez les 45 par le nombre de minutes que vous souhaitez attendre que la cafetière refroidisse)
  • const filePath = '/sys/bus/w1/devices/28-031702a501ff/w1_slave'; (Il s'agit du chemin d'accès au fichier avec la lecture temporaire. Le vôtre sera différent du mien. Utilisez le fichier que vous avez trouvé en exécutant les commandes de l'étape "Configuration du Pi et obtention d'une lecture de température".)
  • const slackMessage = { "username": "Coffee Bot", "text": "Il y a du café frais ! Obtenez-le pendant qu'il est bon."}
  • const slackHook = ""; (Votre crochet Slack)

Ce code est basé sur l'envoi d'une notification Slack, mais la ligne 75 est l'endroit où j'envoie réellement le message. Vous pouvez modifier cela pour envoyer une notification avec le service de votre choix.

Si vous voulez savoir comment configurer un hook Slack pour envoyer des messages, consultez ce document:

Pour ajouter votre code au Pi, utilisez simplement la commande scp pour copier les fichiers index.js et package.json sur le Pi. Par exemple: scp index.js pi@pi-ip-address:/var/pi-coffee-ready

Étape 5: Nœud et démarrage du code au démarrage avec PM2

Nœud et démarrage du code au démarrage avec PM2
Nœud et démarrage du code au démarrage avec PM2

Pour exécuter le code, vous devrez installer nodejs en procédant comme suit:

  • SSH dans
  • Exécutez: $ wget -O - https://raw.githubusercontent.com/sdesalas/node-p… | frapper
  • Utilisez la commande "cd" pour passer au répertoire où vous mettez votre code
  • Exécutez "npm install"
  • Exécutez "npm start"

Pour exécuter le code lorsque le Pi démarre, j'ai utilisé pm2. Tandis que sshed dans la course Pi:

  • npm installer pm2 -g
  • pm2 démarrer app.js

Après cela, le script démarrera lorsque le Pi démarrera.

Étape 6: le rendre cool

Le rendre cool
Le rendre cool
Le rendre cool
Le rendre cool
Le rendre cool
Le rendre cool

J'ai attrapé une boîte de sortie pour contenir les composants et un tuyau en métal de 1/2 pouce dans un magasin de rénovation domiciliaire. Je l'ai assemblé pour que le pépin soit un support pour la boîte. Je l'ai ensuite peint en rouge et blanc.

J'ai créé un graphique pour le devant de la boîte et j'ai utilisé un cutter pour le découper. J'ai percé un trou pour le voyant LED, puis j'ai attaché le vinyle au couvercle de la boîte.

J'ai recouvert l'arrière du Pi de ruban isolant pour que les contacts à l'arrière ne se court-circuitent pas dans la boîte en métal. J'ai ensuite attaché le Pi sur un côté de la boîte avec du ruban adhésif pour tapis. J'ai attaché la mini planche à pain de l'autre côté à l'aide du support adhésif inclus.

Les fils passent bien à travers le tuyau et sortent du raccord en T. Veuillez excuser la course de peinture. Je me suis un peu pressé.

Étape 7: Tout est fait

Terminé
Terminé
Terminé
Terminé
Terminé
Terminé

Et juste comme ça, vous avez un système d'alerte café qui a l'air génial !

Si vous aimez ce projet, suivez-moi sur Instagram et YouTube.

Conseillé: