Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Trong dự án này, tôi làm cho một máy pha cà phê văn phòng trở nên thông minh, bằng cách xây dựng một hệ thống cảnh báo về cà phê sẽ gửi thông báo Slack khi ai đó pha một ấm cà phê mới. Mã có thể được thay đổi để gửi email hoặc tin nhắn văn bản. Dự án này được xây dựng trên Raspberry Pi Zero-W
Để làm được điều này, tôi cần phải liên tục theo dõi nhiệt độ của máy pha cà phê. Tôi đã sử dụng cảm biến nhiệt độ chống thấm nước DS18B20 và Raspberry Pi Zero-W.
Nếu bạn thích dự án này, hãy theo dõi tôi trên Instagram và YouTube.
Liên kết
Mã & Sơ đồ đấu dây:
Hướng dẫn sử dụng cảm biến nhiệt độ Raspberry Pi & DS18B20 của Adafruit:
Các bộ phận (Một số Liên kết Liên kết)
Mini hàn nguyên mẫu Breadboard:
Dây nhảy nam nữ:
Cảm biến nhiệt độ kỹ thuật số DS18B20 từ Adafruit:
Cảm biến nhiệt độ kỹ thuật số trên eBay (Cái tôi đã sử dụng):
Raspberry Pi Zero W Kit:
Raspberry Pi Zero W từ Adafruit (vận chuyển 10 đô la):
Tôi đã đặt đèn LED xung quanh.
Hộp băng đơn và đường ống đến từ Lowes
Bước 1: Mạch
Mạch này rất đơn giản. Tôi đã chế tạo của mình trên một breadboard mini để không phải hàn (lúc đó tôi mới học). Tuy nhiên, tôi đã hàn một số dây jumper vào các dây ra khỏi DS18B20, để nó có thể được cắm vào breadboard. Bạn không cần phải làm theo cách này và mọi thứ có thể dễ dàng hàn lại với nhau (Xem video Duel Internet of Things Thermometer của tôi).
Hãy nhìn vào sơ đồ.
Về cơ bản, bạn chỉ cần chạy dây jumper từ chân số 5 đến dây màu vàng trên DS18B20, nối đất với dây nối đất (màu đen), và 3,3V đến dây màu đỏ. Sau đó, thêm một điện trở 4,7K giữa 3,3V và dây màu vàng (tín hiệu) trên cảm biến
Để biết thêm thông tin, bạn nên xem Hướng dẫn về cảm biến nhiệt độ Raspberry Pi & DS18B20 của Adafruit
Bước 2: Thiết lập Pi & Đo nhiệt độ
Sau khi cài đặt Raspbian (tôi có Gist & video cho điều đó) trên Pi Zero W, bạn cần phải SSH Into the Pi và chạy dtoverlay = w1-gpio để kích hoạt giao diện đầu dò nhiệt độ. Sau đó khởi động lại bằng cách chạy sudo khởi động lại. Sau khi SSHing trở lại Pi, bạn có thể chạy như sau để đọc nhiệt độ.
- sudo modprobe w1-gpio
- sudo modprobe w1-therm
- cd / sys / bus / w1 / devices ls cd 28-xxxx (thay đổi cài đặt này để khớp với số sê-ri nào tăng lên)
- mèo w1_slave
Lưu ý: để SSH trong Windows, bạn có thể cần sử dụng Putty.
Bước 3: Kết nối với Máy pha cà phê & Hiệu chỉnh
Để móc đầu dò nhiệt độ vào máy pha cà phê, tôi đã sử dụng băng keo làm nóng bằng kim loại, và gắn nó ngay sau nồi hơi. Máy pha cà phê mà chúng tôi có ở văn phòng là một chiếc Bun cũ với mặt sau bằng kim loại đẹp, dẫn nhiệt tốt. Bạn sẽ phải tìm một nơi tốt để đặt đầu dò vào máy pha cà phê của mình. Cảm biến nhiệt độ DS18B20 có khả năng chống nước, vì vậy bạn có các tùy chọn.
Khi đầu dò được gắn vào, bạn sẽ cần theo dõi nhiệt độ trong khi pha và xem nhiệt độ đạt được khi pha, cũng như khi ủ. Bạn có thể phải chơi với vị trí của cảm biến để tìm một nơi cung cấp cho bạn sự chênh lệch nhiệt độ đủ lớn giữa nhiệt độ bình thường và nhiệt độ ủ.
Để có các con số tạm thời của bạn, bạn có thể ghi nhiệt độ vào bảng điều khiển bằng cách chạy các lệnh từ bước "Thiết lập Pi & Đọc nhiệt độ".
Lưu ý: bạn chỉ cần chạy tất cả các lệnh một lần, sau đó chỉ cần chạy lệnh "cat w1_slave" để xem kết quả đọc tạm thời mới nhất.
Bước 4: Mã
Đây là một liên kết đến mã: https://github.com/calebbrewer/pi-coffee-ready/blo… Nó được viết bằng JavaScript (nodejs)
Ở trên cùng có một số hằng số bạn có thể thay đổi để nó hoạt động cho quá trình thiết lập của bạn.
- const brewingTemp = 88; (Đây là nhiệt độ thấp nhất trong khi pha. Đèn LED ở mặt trước sẽ nhấp nháy khi đạt đến nhiệt độ này)
- const brewedTemp = 93; (Khi đạt đến nhiệt độ này, chúng tôi biết rằng cà phê đã sẵn sàng)
- const brewOffset = 45 * 60000; (Đây là thời gian chờ trước khi kiểm tra lại. Thay số 45 thành số phút bạn muốn đợi máy pha cà phê nguội)
- const filePath = '/ sys / bus / w1 / devices / 28-031702a501ff / w1_slave'; (Đây là đường dẫn đến tệp có chức năng đọc tạm thời. Của bạn sẽ khác với tệp của tôi. Sử dụng tệp bạn tìm thấy bằng cách chạy các lệnh trong bước "Thiết lập số Pi & Đọc nhiệt độ".)
- const slackMessage = {"username": "Coffee Bot", "text": "Có cà phê mới pha! Hãy lấy ngay khi còn ngon."}
- const slackHook = ""; (Móc Slack của bạn)
Mã này dựa trên việc gửi thông báo Slack, nhưng dòng 75 là nơi tôi thực sự gửi tin nhắn. Bạn có thể sửa đổi điều này để gửi thông báo với bất kỳ dịch vụ nào bạn thích.
Nếu bạn muốn biết cách thiết lập Slack hook để gửi tin nhắn, hãy xem tài liệu này:
Để thêm mã của bạn vào Pi, chỉ cần sử dụng lệnh scp để sao chép các tệp index.js và package.json vào Pi. Ví dụ: scp index.js pi @ pi-ip-address: / var / pi-coffee-ready
Bước 5: Node và bắt đầu mã khi khởi động với PM2
Để chạy mã, bạn sẽ cần cài đặt nodejs bằng cách thực hiện như sau:
- SSH trong
- Chạy: $ wget -O - https://raw.githubusercontent.com/sdesalas/node-p… | bấu víu
- Sử dụng lệnh "cd" để thay đổi thư mục nơi bạn đặt mã của mình
- Chạy "npm install"
- Chạy "npm start"
Để chạy mã khi Pi khởi động, tôi đã sử dụng pm2. Trong khi sshed vào Pi run:
- npm cài đặt pm2 -g
- pm2 start app.js
Sau đó, kịch bản sẽ bắt đầu khi Pi khởi động.
Bước 6: Làm cho nó trông bắt mắt
Tôi lấy một hộp ổ cắm để chứa các linh kiện và một số ống kim loại 1/2 inch từ một cửa hàng sửa chữa gia đình. Tôi đặt nó lại với nhau để pip sẽ là giá đỡ cho chiếc hộp. Sau đó tôi sơn nó màu đỏ và trắng.
Tôi đã tạo một hình đồ họa cho mặt trước của hộp và sử dụng máy cắt vinyl để cắt nó ra. Tôi khoan một lỗ cho đèn LED báo, sau đó gắn miếng nhựa vinyl vào nắp hộp.
Tôi đã che mặt sau của Pi bằng băng dính điện để các điểm tiếp xúc ở mặt sau không bị hụt trong hộp kim loại. Sau đó tôi gắn số Pi vào một bên của hộp bằng băng dính thảm. Tôi đã gắn breadboard mini vào mặt bên kia bằng cách sử dụng lớp keo dán đi kèm.
Các dây dẫn chạy xuyên qua ống và ra khỏi khớp nối T. Xin miễn chạy sơn. Tôi có một chút vội vàng.
Bước 7: Tất cả đã hoàn thành
Và chỉ như vậy, bạn đã có một hệ thống cảnh báo cà phê trông thật tuyệt vời!
Nếu bạn thích dự án này, hãy theo dõi tôi trên Instagram và YouTube.