
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05



В этом проекте я делаю офисную кофеварку умной, создав систему оповещения о кофе, которая отправляет уведомления 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

Для запуска кода вам нужно будет установить 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.
Рекомендуемые:
Автоматическая система полива растений с использованием Micro: bit: 8 шагов (с изображениями)

Автоматическая система полива растений с использованием Micro: bit: В этой инструкции я собираюсь показать вам, как построить автоматическую систему полива растений с помощью Micro: bit и некоторых других небольших электронных компонентов. Micro: bit использует датчик влажности контролировать уровень влажности в почве растений и
UWaiPi - Автоматическая система полива растений по времени: 11 шагов (с изображениями)

UWaiPi - Автоматическая система полива растений, управляемая по времени: Привет! Вы забыли сегодня утром полить растения? Планируете отпуск, но думаете, кто будет поливать растения? Что ж, если ваш ответ утвердительный, то у меня есть решение вашей проблемы. Я очень рад представить вам uWaiPi
Система уведомлений о прачечной на основе Интернета вещей: 18 шагов

Система уведомлений о прачечной на основе Интернета вещей: HiThis инструктаж дает пошаговое руководство по созданию системы уведомления о прачечной на основе Интернета вещей. Устройство прикреплено к вашим ящикам и сумке для белья. Для демонстрации здесь мы взяли два ящика и один мешок для белья. Он чувствует
Автоматическая система полива растений Arduino: 8 шагов (с изображениями)

Автоматическая система полива растений Arduino: Meet Sprout - современная комнатная сеялка, которая автоматически поливает ваши растения, травы, овощи и т.д. сохраняет почву растения в
Простая система уведомлений ISS: 6 шагов (с изображениями)

Простая система уведомлений МКС: что такое Международная космическая станция и почему вы хотите предсказать, где она находится? Чтобы ответить на первый вопрос, мы можем найти ответ на веб-сайте НАСА. Вкратце: Международная космическая станция - это большой космический корабль. Он вращается вокруг