Essa arquitetura é viável e flexível?

9

Estou tendo problemas para garantir que meu projeto seja realmente viável.

O que eu quero arquivar: Controle minha máquina de café Senseo via internet. Tudo se resume a simplesmente controlar 2 botões.

Primeira solução fácil:

  1. Configure um servidor NodeJS no meu Raspberry Pi.
  2. Conecto meus GPIOs de framboesa a 2 transistores, para controlar os botões da máquina de café
  3. Eu posso controlar o Raspberry GPIO diretamente em Javascript. Por exemplo, ligar para http://myraspberrypi.com/makemeacoffee ativa o GPIO, ativa os botões e o café flui

Mas: não quero conectar minha framboesa à máquina de café (preciso do Pi para outros fins) e acho que desacoplar o servidor da Web e o próprio controlador é uma boa idéia. Se amanhã quiser monitorar a temperatura do meu banheiro ou controlar uma segunda máquina de café (usando outro ESP8266), quero poder fazê-lo sem repensar a coisa toda.

O que eu preciso para arquivar um ESP8266 com NodeMCU para usá-lo como um controlador sem fio Wi-Fi (consulte este link ). O GPIO de framboesa não é mais usado (esse é o ponto). Existe apenas um servidor da web NodeJS no Pi.

Aqui está um rápido esboço da arquitetura: essa arquitetura é viável?

Deixe-me esclarecer o papel dos principais componentes:

  • Raspberry Pi: hospeda o servidor da web NodeJS
  • Servidor da web NodeJS: serve as páginas da web para o usuário final. Basicamente, uma página com um botão "Faça-me um café". Nos bastidores, precisamos "apertar" o botão para aquecer a água, esperar 30 segundos e depois "apertar" o botão do café. O servidor da Web faz isso enviando solicitações HTTP para o ESP8266 (por Wi-Fi). O servidor NodeJS também faz registro e análise de dados (quantos cafés você tomou este ano?)
  • ESP8266: Usa NodeMCU. Seus GPIOs estão conectados a um transistor que controla os botões da máquina de café. Eu não ligo para como alimentar o ESP8266. Ele executa um servidor da Web para ouvir as solicitações do Raspberry Pi e executar ações nos GPIOs de acordo.

Essa arquitetura é viável? Essa arquitetura é flexível?


EDIT, para responder Sean Houlihane (spoiler para manter o post relativamente curto):

Não tenho 100% de certeza disso, mas um transistor parece ser suficiente. O interruptor da máquina de café está funcionando em baixa tensão (3,3V) e o ESP8266 não compartilha o chão com a máquina de café.

Sobre o sensor de temperatura e o controle do nível da água, a máquina de café Senseo possui esse recurso. Uso típico: Pressione o botão central para iniciar o processo de aquecimento, escolha o tamanho do café pressionando o botão "único" ou "duplo". Quando o processo de aquecimento termina, o café começa a fluir. Se não houver água suficiente, ele termina e um LED pisca.

O progresso que eu espero:

  • A versão 1.0 será "Basta executar a máquina de café, tenho certeza de que está pronta". Eu controlo o botão de copo único e o botão de aquecimento.
  • A versão 2.0 será "Opere a máquina e me dê feedback". Eu tinha outro ESP8266, conectado ao LED de feedback (para que eu possa saber quando está esquentando e quando está sem água) e outro em uma escala para garantir que o existe um copo antes de executar a máquina de café. Também posso adicionar um alerta quando a máquina de café estiver funcionando para dizer ao usuário para alterar o conjunto.

  • A versão 3.0 será encontrar uma maneira de saber se o pod foi alterado, acompanhando a abertura do mecanismo com algum tipo de opção. Mas isso está fora do escopo do meu projeto no momento.

Etsitpab Nioliv
fonte
Olá e bem-vindo à Internet das Coisas! Embora eu não esteja tentando convencê-lo a mudar esta questão (está tudo bem aqui), gostaria de convidá-lo para raspberrypi.stackexchange.com para quaisquer outras perguntas (ou respostas que você queira fornecer) com relação ao Raspberry Pi :)
Ghanima
@Ghanima Estou ciente da existência deste site, apenas "ingressei na comunidade" agora, obrigado
Etsitpab Nioliv
2
HTTP? Você deveria estar usando HTCPCP .
JAB

Respostas:

5

A arquitetura que você propõe parece bem. Você pode criar mais funcionalidades além disso, como autenticação e solicitação de limpeza (por exemplo, controles de hora do dia, limite de taxa etc.), portanto é um ótimo exemplo para investigar.

Provavelmente, existem alguns detalhes importantes na implementação que você ainda não examinou. Por exemplo, a chave do transistor - pode ser um mosfet, talvez um relé (ou relé de estado sólido) e pode ter problemas de tensão e isolamento.

Mais coisas a considerar, detecção de temperatura, nível da água (cuidado com a contaminação) e outros recursos. Rastreamento de pod de RGB (isso o torna uma máquina de uso único ou precisa de um alarme de pod não substituído?)

Sean Houlihane
fonte
11
Editado minha resposta para dar mais informações sobre o objetivo final e os passos para chegar lá
Etsitpab Nioliv