Оглавление:

Автоматическая система уведомлений о кофе: 7 шагов (с изображениями)
Автоматическая система уведомлений о кофе: 7 шагов (с изображениями)

Видео: Автоматическая система уведомлений о кофе: 7 шагов (с изображениями)

Видео: Автоматическая система уведомлений о кофе: 7 шагов (с изображениями)
Видео: БОКОВУШЕЧКА У ТУАЛЕТА в плацкарте 2024, Ноябрь
Anonim
Image
Image
Автоматическая система уведомлений о кофе
Автоматическая система уведомлений о кофе

В этом проекте я делаю офисную кофеварку умной, создав систему оповещения о кофе, которая отправляет уведомления Slack, когда кто-то заваривает свежий кофе. Код можно изменить, чтобы отправить электронное письмо или текстовое сообщение. Этот проект построен на Raspberry Pi Zero-W.

Для этого мне нужно постоянно контролировать температуру кофемашины. Я выбрал водонепроницаемый датчик температуры DS18B20 и Raspberry Pi Zero-W.

Если вам нравится этот проект, подпишитесь на меня в Instagram и YouTube.

Ссылки

Код и схема подключения:

Руководство по датчикам температуры Raspberry Pi и DS18B20 от Adafruit:

Запчасти (некоторые партнерские ссылки)

Миниатюрный беспаечный прототип макета:

Перемычки между мужчинами и женщинами:

Цифровой датчик температуры DS18B20 от Adafruit:

Цифровой датчик температуры на eBay (тот, который я использовал):

Комплект Raspberry Pi Zero W:

Raspberry Pi Zero W от Adafruit (доставка 10 долларов):

У меня был светодиод.

Единая коробка и трубопроводы были произведены компанией Lowes.

Шаг 1: Схема

Схема
Схема
Схема
Схема
Схема
Схема
Схема
Схема

Эта схема ужина проста. Я построил свой на мини-макете, поэтому мне не пришлось паять (в то время я только учился). Однако я припаял перемычки к проводам, идущим от DS18B20, чтобы их можно было подключить к макетной плате. Вам не обязательно делать это таким образом, и все можно легко спаять вместе (см. Мое видео о Duel Internet of Things Thermometer).

Взгляните на схему.

По сути, вы просто подключаете перемычку от контакта 5 к желтому проводу на DS18B20, заземляете к заземляющему проводу (черный) и 3,3 В к красному проводу. Затем добавьте резистор 4,7 кОм между 3,3 В и желтым проводом (сигналом) на датчике.

Для получения дополнительной информации ознакомьтесь с Руководством по датчикам температуры Raspberry Pi и DS18B20 от Adafruit.

Шаг 2: Настройка Pi и получение показаний температуры

После установки Raspbian (у меня есть Gist и видео для этого) на Pi Zero W вам нужно будет подключиться к Pi по SSH и запустить dtoverlay = w1-gpio, чтобы включить интерфейс датчиков температуры. Затем перезагрузитесь, запустив sudo reboot. После SSH-соединения обратно в Pi вы можете запустить следующее, чтобы получить показания температуры.

  • sudo modprobe w1-gpio
  • sudo modprobe w1-therm
  • cd / sys / bus / w1 / devices ls cd 28-xxxx (измените это, чтобы оно соответствовало появившемуся серийному номеру)
  • кошка w1_slave

Примечание: для SSH в Windows вам может понадобиться Putty.

Шаг 3: Подключение к кофеварке и калибровка

Подключение к кофеварке и калибровка
Подключение к кофеварке и калибровка

Чтобы прикрепить термощуп к кофеварке, я использовал металлическую нагревательную ленту и прикрепил ее прямо за бойлером. Кофеварка у нас в офисе - это старая булочка с красивой металлической спинкой, которая хорошо проводит тепло. Вам нужно будет найти хорошее место, чтобы поместить зонд на кофеварку. Датчик температуры DS18B20 водонепроницаем, поэтому у вас есть возможности.

После того, как зонд прикреплен, вам нужно будет контролировать температуру во время заваривания и видеть, какую температуру он достигает при заваривании, а также при заваривании. Возможно, вам придется поиграть с расположением датчика, чтобы найти место, которое даст вам достаточно большую разницу между нормальной температурой и температурой заваривания.

Чтобы получить значения температуры, вы можете записать температуру на консоль, выполнив команды из шага «Настройка Pi и получение показаний температуры».

Примечание: вам нужно запустить все команды только один раз, а затем просто запустить команду «cat w1_slave», чтобы просмотреть последние показания температуры.

Шаг 4: Код

Код
Код

Вот ссылка на код: https://github.com/calebbrewer/pi-coffee-ready/blo … Он написан на JavaScript (nodejs)

Вверху есть несколько констант, которые вы можете изменить, чтобы заставить его работать в вашей настройке.

  • const brewingTemp = 88; (Это самая низкая температура во время заваривания. Светодиодный индикатор на передней панели будет мигать при достижении этой температуры)
  • const brewedTemp = 93; (Когда эта температура достигнута, мы знаем, что кофе готов)
  • const brewOffset = 45 * 60000; (Это время подождать перед повторной проверкой. Измените 45 на количество минут, в течение которых кофеварка остынет)
  • const filePath = '/ sys / bus / w1 / devices / 28-031702a501ff / w1_slave'; (Это путь к файлу с временным чтением. Ваш будет отличаться от моего. Используйте файл, который вы нашли, выполнив команды на этапе «Настройка Pi и получение показания температуры».)
  • const slackMessage = {"username": "Coffee Bot", "text": "Есть свежий кофе! Приготовь его, пока он хорош."}
  • const slackHook = ""; (Ваш Slack-крючок)

Этот код основан на отправке уведомления Slack, но на самом деле я отправляю сообщение в строке 75. Вы можете изменить это, чтобы отправлять уведомление с любой услугой, которая вам нравится.

Если вы хотите узнать, как настроить ловушку Slack для отправки сообщений, см. Этот документ:

Чтобы добавить свой код в Pi, просто используйте команду scp, чтобы скопировать файлы index.js и package.json в Pi. Например: scp index.js pi @ pi-ip-адрес: / var / pi-coffee-ready

Шаг 5: Узел и запуск кода при загрузке с PM2

Узел и запуск кода при загрузке с PM2
Узел и запуск кода при загрузке с PM2

Для запуска кода вам нужно будет установить nodejs, выполнив следующие действия:

  • SSH в
  • Выполните: $ wget -O - https://raw.githubusercontent.com/sdesalas/node-p… | трепать
  • Используйте команду "cd", чтобы перейти в каталог, в который вы поместили свой код.
  • Запустите "npm install"
  • Запустите "npm start"

Для запуска кода при загрузке Pi я использовал pm2. В то время как sshed в Pi запустить:

  • npm установить pm2 -g
  • pm2 запустить app.js

После этого скрипт запустится при загрузке Pi.

Шаг 6: Сделайте это круто

Делаем это круто
Делаем это круто
Делаем это круто
Делаем это круто
Делаем это круто
Делаем это круто

Я схватил распределительную коробку, чтобы удерживать компоненты, и какую-то металлическую трубку 1/2 дюйма из магазина товаров для дома. Сложил так, чтобы пип служил подставкой для коробки. Затем я покрасил его в красный и белый цвета.

Я нарисовал рисунок на передней части коробки и вырезал его резаком для винила. Просверлил отверстие для светодиода индикатора, затем прикрепил винил к крышке коробки.

Я покрыл заднюю часть Pi изолентой, чтобы контакты на задней панели не закорачивались в металлической коробке. Затем я прикрепил Pi к одной стороне коробки с помощью ковровой ленты. Я прикрепил мини-макет к другой стороне с помощью прилагаемой липкой подложки.

Провода аккуратно проходят через трубу и выходят из тройника. Прошу прощения за покраску. Я немного торопился.

Шаг 7: все готово

Все сделано
Все сделано
Все сделано
Все сделано
Все сделано
Все сделано

И вот так у вас есть система оповещения о кофе, которая выглядит потрясающе!

Если вам нравится этот проект, подпишитесь на меня в Instagram и YouTube.

Рекомендуемые: