自动咖啡通知系统





准备工作:
材料:
链接
代码和接线图:https://github.com/calebbrewer/pi-coffee-ready
Adafruit 的 Raspberry Pi 和 DS18B20 温度传感器指南:https://cdn-learn.adafruit.com/downloads/pdf/adafr...
零件(一些附属链接)
迷你无焊原型面包板:https://amzn.to/2Toevid
公对母跳线:https://amzn.to/2Ft0RaE
Adafruit 的 DS18B20 数字温度传感器:https://amzn.to/2RZv81W
eBay 上的数字温度传感器(我用过的):https://rover.ebay.com/rover/1/711-53200-19255-0/1...
Raspberry Pi Zero W 套件:https://amzn.to/2DxGuWV
Adafruit 的 Raspberry Pi Zero W(运费 10 美元):http://amzn.to/2fHrQzo
我把 LED 放在周围。
单联盒和管道来自 Lowes
电路






这个电路超级简单。我用一块迷你面包板搭建,所以不用焊接(当时我才刚开始学)。不过,我把一些跳线焊接到了 DS18B20 的引线上,这样就可以把它插到面包板上了。你不必这样做,所有部件都很容易焊接在一起(可以看看我的Duel 物联网温度计视频)。
看一下图表。
基本上,你只需用一根跳线从引脚 5 连接到 DS18B20 的黄线,再将地线连接到地线(黑色),并将 3.3V 连接到红线。然后在 3.3V 和传感器上的黄线(信号线)之间添加一个 4.7K 的电阻。
欲了解更多信息,请参阅Adafruit 的 Raspberry Pi 和 DS18B20 温度传感器指南
设置Pi并获取温度读数

连接咖啡机并校准

为了将温度探头挂到咖啡机上,我用了金属加热胶带,把它粘在了锅炉的正后方。我们办公室的咖啡机是老式的Bun牌咖啡机,金属背板导热性能很好。你需要在咖啡机上找到一个合适的位置安装探头。DS18B20温度传感器防水,所以你可以选择不同的安装位置。
探头连接后,您需要在冲泡时监测温度,并观察冲泡时以及冲泡完成时的温度。您可能需要调整传感器的位置,找到一个能让正常温度和冲泡温度之间有足够大温差的位置。
要获取温度数值,您可以通过运行“设置 Pi 和获取温度读数”步骤中的命令将温度记录到控制台。
注意:您只需运行所有命令一次,然后运行“cat w1_slave”命令即可查看最新的温度读数。
代码

这是代码的链接:https://github.com/calebbrewer/pi-coffee-ready/blo...它是用 JavaScript(nodejs)编写的
顶部有几个常量,您可以更改它们以使其适合您的设置。
- const brewingTemp = 88; (这是冲泡时的最低温度。达到此温度时,前面的 LED 灯将闪烁)
- 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 钩子来发送消息,请参阅此文档:https://api.slack.com/incoming-webhooks
要将代码添加到树莓派,只需使用 scp 命令将 index.js 和 package.json 文件复制到树莓派即可。例如:scp index.js pi@pi-ip-address:/var/pi-coffee-ready
节点和使用 PM2 在启动时启动代码要运行代码,您需要通过执

要运行代码,您需要通过执行以下操作来安装nodejs :
- SSH 登录
- 运行:$ wget -O - https://raw.githubusercontent.com/sdesalas/node-p... | bash
- 使用“cd”命令切换到放置代码的目录
- 运行“npm install”
- 运行“npm start”
为了在树莓派启动时运行代码,我使用了pm2。通过 ssh 进入树莓派后,运行以下命令:
- npm install pm2 -g
- pm2 start app.js
此后,脚本将在 Pi 启动时启动。
让它看起来很酷







我买了一个插座盒来装配件,还从家装店买了一些1/2英寸长的金属管。我把它们组装起来,这样金属管就可以作为插座盒的支架了。然后我把它漆成了红白两色。
我在盒子正面设计了一个图案,并用乙烯基切割机把它切割出来。我钻了一个孔,用于安装指示灯LED,然后把乙烯基贴在盒子盖上。
我用电工胶带盖住了树莓派的背面,这样背面的触点就不会在金属盒里短路。然后用地毯胶带把树莓派粘在盒子的一侧。我用盒子里附带的背胶把迷你面包板粘在另一侧。
电线顺利穿过管道,并从T型接头出来。请原谅我油漆流淌了。我有点着急。











