프로젝트가 실제로 실현 가능하도록 만드는 데 어려움을 겪고 있습니다.
보관하려는 대상 : 인터넷을 통해 Senseo 커피 머신을 제어합니다. 단순히 2 개의 버튼을 제어하는 것으로 요약됩니다.
첫 번째 쉬운 솔루션 :
- 내 라즈베리 파이에 NodeJS 서버를 설정하십시오.
- 커피 머신 버튼을 제어하기 위해 Raspberry GPIO를 2 개의 트랜지스터에 꽂습니다.
- Javascript에서 직접 Raspberry GPIO를 제어 할 수 있습니다. 예를 들어 http://myraspberrypi.com/makemeacoffee 를 호출 하면 GPIO가 활성화되고 버튼이 활성화되며 커피가 흐릅니다.
그러나 : 내 라즈베리를 커피 머신에 연결하고 싶지 않습니다 (다른 목적으로 Pi가 필요합니다). 웹 서버와 컨트롤러 자체를 분리하는 것이 좋습니다. 내일 내 욕실 온도를 모니터링하거나 두 번째 커피 머신 (다른 ESP8266 사용)을 제어하려면 전체를 다시 생각하지 않고 할 수 있기를 원합니다.
Wi-Fi 헤드리스 컨트롤러로 사용하려면 NodeMCU와 함께 ESP8266을 보관해야합니다 ( 이 링크 참조 ). 라즈베리 GPIO는 더 이상 사용되지 않습니다. Pi에는 NodeJS 웹 서버 만 있습니다.
주요 구성 요소의 역할을 명확히하겠습니다.
- 라즈베리 파이 : NodeJS 웹 서버 호스팅
- NodeJS 웹 서버 : 웹 페이지를 최종 사용자에게 제공합니다. 기본적으로 "커피 만들기"버튼이있는 페이지입니다. 무대 뒤에서 물 버튼을 가열하고 30 초 정도 기다린 다음 커피 버튼을 "밀어야"합니다. 웹 서버는 Wi-Fi를 통해 HTTP 요청을 ESP8266에 전송하여이를 수행합니다. NodeJS 서버는 로깅 및 데이터 분석도 수행합니다 (올해 몇 잔의 커피를 마셨습니까?)
- ESP8266 : NodeMCU를 사용합니다. GPIO는 커피 머신 버튼을 제어하는 트랜지스터에 연결되어 있습니다. ESP8266에 전원을 공급하는 방법에 대해서는 신경 쓰지 않습니다. 웹 서버를 실행하여 Raspberry Pi 요청을 듣고 GPIO에 대한 조치를 수행합니다.
이 아키텍처가 실현 가능합니까? 이 아키텍처는 유연합니까?
편집, Sean Houlihane (포스트를 비교적 짧게 유지하는 스포일러) :
나는 이것에 대해 100 % 확신하지 못하지만, 트랜지스터로 충분합니다. 커피 머신 스위치는 저전압 (3,3V)에서 작동하며 ESP8266은 커피 머신과 접지를 공유하지 않습니다.
Senseo 커피 머신에는 온도 감지 및 수위 제어 기능이 내장되어 있습니다. 일반적인 용도 : 가운데 버튼을 눌러 가열 과정을 시작하고 "단일"또는 "이중"버튼을 눌러 커피 크기를 선택하십시오. 가열 과정이 끝나면 커피가 흐르기 시작합니다. 물이 충분하지 않으면 물이 끝나고 LED가 깜박입니다.
내가 기대하는 진보 :
- 버전 1.0은 "커피 머신을 작동시키기 만하면 준비가 된 것"입니다. 단일 컵 버튼과 가열 버튼을 제어합니다.
버전 2.0은 "머신을 실행하고 피드백을 제공합니다."피드백 LED (플러그가 가열 될 때와 물이 빠졌을 때를 알 수 있도록)에 또 다른 ESP8266이 있고 커피 머신을 가동하기 전에 컵이 있습니다. 커피 머신이 작동하면 사용자에게 포드를 변경하라는 경고를 표시 할 수도 있습니다.
버전 3.0은 일종의 스위치로 메커니즘의 시작을 추적하여 포드가 변경되었는지 여부를 알 수있는 방법을 찾는 것입니다. 그러나 이것은 현재 내 프로젝트의 범위를 벗어납니다.