이 아키텍처는 실현 가능하고 유연합니까?


9

프로젝트가 실제로 실현 가능하도록 만드는 데 어려움을 겪고 있습니다.

보관하려는 대상 : 인터넷을 통해 Senseo 커피 머신을 제어합니다. 단순히 2 개의 버튼을 제어하는 ​​것으로 요약됩니다.

첫 번째 쉬운 솔루션 :

  1. 내 라즈베리 파이에 NodeJS 서버를 설정하십시오.
  2. 커피 머신 버튼을 제어하기 위해 Raspberry GPIO를 2 개의 트랜지스터에 꽂습니다.
  3. 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은 일종의 스위치로 메커니즘의 시작을 추적하여 포드가 변경되었는지 여부를 알 수있는 방법을 찾는 것입니다. 그러나 이것은 현재 내 프로젝트의 범위를 벗어납니다.


사물 인터넷에 오신 것을 환영합니다! 나는 동안이 질문을 이동할 수 설득하려고하고 있지 않다 동안 내가 당신을 초대합니다 (여기가 모두 잘) raspberrypi.stackexchange.com 에 대한 (또는 답변이 제공 할 수 있습니다) 다른 질문 Raspberry Pi :)
가니 마

@Ghanima 난, 난 그냥 지금 "지역 사회에 합류"덕분에이 사이트의 존재를 알고
Etsitpab Nioliv

2
HTTP? HTCPCP사용해야 합니다.
JAB

답변:


5

제안한 아키텍처는 괜찮은 것 같습니다. 인증 및 요청 소독 (예 : 시간 제어, 속도 제한 등)과 같은 추가 기능을 추가하여 조사 할 수있는 좋은 예입니다.

구현에 아직 살펴 보지 않은 중요한 세부 정보가있을 수 있습니다. 예를 들어 트랜지스터 스위치-이것은 MOSFET, 릴레이 (또는 솔리드 스테이트 릴레이) 일 필요가있을 수 있으며 전압 및 절연 문제가있을 수 있습니다.

고려해야 할 사항, 온도 감지, 수위 (오염에주의) 및 기타 기능. RGB 포드 추적 (이것은 일회용 기계입니까, 아니면 교체되지 않은 포드 알람이 필요합니까?)


1
최종 목표 및 도착 단계에 대한 자세한 정보를 제공하기 위해 내 답변을 수정
Etsitpab Nioliv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.