确保我的项目确实可行时,我遇到了麻烦。

我要存档的内容:
通过互联网控制Senseo咖啡机。归结为只需要控制2个按钮。

第一个简单的解决方案:


在Raspberry Pi上设置NodeJS服务器。
我插入Raspberry。 GPIO至2个晶体管,用于控制咖啡机按钮
我可以直接用Javascript控制Raspberry GPIO。例如,调用http://myraspberrypi.com/makemeacoffee激活GPIO,激活按钮,咖啡流

但是:我不想将树莓插入咖啡机(我需要Pi用于其他目的),我认为将Web服务器与控制器本身分离是一个好主意。如果明天我想监控自己浴室的温度,或者控制第二台咖啡机(使用另一台ESP8266),则无需重新思考整个过程就可以做到。

我需要存档的内容是带有NodeMCU的ESP8266,可将其用作Wi-Fi无头控制器(请参阅此链接)。 Raspberry GPIO不再使用(这就是重点)。 Pi上只有一个NodeJS Web服务器。

以下是该体系结构的简要示意图: :


Raspberry Pi:托管NodeJS Web服务器
NodeJS Web服务器:将网页提供给最终用户。基本上是一个带有“煮一杯咖啡”按钮的页面。在幕后,我们需要“推动”加热水按钮,等待30秒,然后“推动”咖啡按钮。 Web服务器通过将HTTP请求发送到ESP8266(通过Wi-Fi)来实现。 NodeJS服务器还进行日志记录和数据分析(您今年喝了几杯咖啡?)
ESP8266:使用NodeMCU。其GPIO插入控制咖啡机按钮的晶体管。我不在乎如何为ESP8266供电。它运行一个Web服务器来侦听Raspberry Pi的请求并相应地对GPIO进行操作。

该体系结构可行吗?
该体系结构灵活吗? br />编辑,回答Sean Houlihane(使职位相对简短的破坏者):

我不确定100%是否如此,但是晶体管似乎就足够了。咖啡机开关工作在低电压(3,3V)上,ESP8266不会与咖啡机共用接地。

关于温度感应,水位控制,Senseo咖啡机器具有此内置功能。
典型用法:按中心按钮启动加热过程,按“单”或“双”按钮选择您的咖啡尺寸。一旦加热过程结束,咖啡就开始流动。如果没有足够的水,则结束并且LED闪烁。

我期望的进度:


1.0版将是“只要运行咖啡机,我确定已经准备好了。”我控制单个杯子按钮和加热按钮。
2.0版将“运行机器并给我反馈”。我还有另一个ESP8266,插入反馈LED上(这样我就可以知道何时加热和(当水没水时),再将另一只秤缩放到一定比例,以确保在运行咖啡机之前先将杯子放在里面。当咖啡机运行时,我可能还会添加一条警报,告诉用户更换咖啡盒。
3.0版将通过跟踪机械装置的打开情况,找到一种方法来判断咖啡盒是否已更换。某种开关。但这目前不在我的项目范围内。


评论

您好,欢迎来到物联网!尽管我并不想说服您将这个问题移至此处(都很好),但我想邀请您访问raspberrypi.stackexchange.com,以解决与该问题有关的任何其他问题(或您可能想提供的答案)。 Raspberry Pi :)

@Ghanima我知道这个网站的存在,我现在只是“加入了社区”,谢谢

HTTP?您应该使用HTCPCP。

#1 楼

您建议的体系结构似乎还可以。您可以在此基础上构建更多功能,例如身份验证和请求清除(例如一天中的时间控制,速率限制等),因此这是一个很好的研究示例。

可能有一些重要的您尚未研究的实施细节。例如,晶体管开关-可能需要一个MOSFET,可能是一个继电器(或固态继电器),并且可能存在电压和隔离问题。水平(注意污染)和其他功能。 RGB吊舱跟踪(这是否使其成为一次性机器,还是需要未更换吊舱的警报?)

评论


编辑了我的答案,以提供有关最终目标和达到目标的步骤的更多信息

– Etsitpab Nioliv
17年2月15日在14:57