Projeto CachaçaPix

Participantes:

Wallace Júnio Silva de Brito

Resumo do projeto:

Projeto cachaçaPix: Automatizar através do uso da tecnologia Pix o processo de compra de doses de cachaça.

Descrição do projeto:

Em novembro de 2020 o Banco Central implantou o novo meio de pagamento, em que os recursos são transferidos entre contas em poucos segundos, a qualquer hora ou dia, sendo prático, rápido e seguro. Atualmente vemos o crescimento do Pix, depois de um ano desde sua criação, vemos que as quantidade de transações tem crescido ao longo do tempo, conforme mostra imagem abaixo:

Fonte https://www.bcb.gov.br/estabilidadefinanceira/estatisticaspix

 

Mesmo com o crescimento do Pix, vemos que o mundo de internet das coisas tem aproveitado pouco esse recurso. Para fomentar o uso do Pix nos objetos inteligentes, esse projeto denominado cachaçaPix, projeto de IoT voltada ao comércio, onde irá utilizar a tecnologia Pix para facilitar a venda de doses de cachaça e recebimento de dinheiro. A ideia é que o usuário faça o pagamento via Pix para obter a dose de cachaça, sem intervenção humana, sendo 100% automático.

O vídeo abaixo mostra na prática o cachaçaPix:

Histórico do desenvolvimento:

Na tabela abaixo mostra o histórico de desenvolvimento do projeto:

Data Atividade
Outubro/2021 Aquisição de sensores e componentes
Outubro/2021 Estudo da placa Franzininho Wi-Fi
Outubro/2021 Estudo CircuitPython
Outubro/2021 Testes iniciais com a Franzininho
Novembro/2021 Testes e calibração de sensores
Novembro/2021 Testes com a notificação de Pix Gerencianet
Novembro/2021 Testes com a mensageria RabbitMQ
Novembro/2021 Implementação da infraestrutura na AWS
Dezembro/2021 Implementação do código Franzininho
Dezembro/2021 Testes finais para finalização do projeto
Dezembro/2021 Documentação do projeto no contest embarcados e publicação do vídeo

 

Hardware:

Nessa sessão serão apresentados os hardwares envolvidos no projeto, o circuito geral e protótipo final.

Materiais utilizados

Abaixo é listado os materiais necessários para realização do projeto:

  • Franzininho Wi-Fi

Franzininho Wi-Fi

  • Led RGB

Led RGB

  • Sensor de Distância Ultrassônico HC-SR04

Sensor Ultrassonico Hc-sr04

  • 1 Válvula Solenóide 12V

Válvula Solenóide 1/2 12v

  • Relé 5V

Módulo relé 5V - 1 Canal - Arduino - XM - Relé - Magazine Luiza

Circuito

Abaixo é ilustrado o circuito do projeto evidenciando as conexões da placa e demais componentes:

Circuito

Protótipo

   

Software/Firmware:

Descrição da Arquitetura

A solução desenvolvida utiliza tecnologias da AWS para integração com a API Pix da Gerencianet para receber notificação de recebimento de Pix. Ao receber Pix pela conta da Gerencianet, a API Gateway é notificada pela Gerencianet que um novo Pix foi recebido, e com isso a API Gateway cria um publish utilizando a SNS passando os dados do Pix. A lambda assina a SNS para receber as notificações, onde será invocada recebendo os dados do Pix, nesse ponto teremos validações dos dados e em caso de sucesso é realizado o publish de confirmação usando protocolo MQTT para a placa. O RabbitMQ que é uma mensageria recebe o publish da lambda e faz a notificação de confirmação para a Franzininho, pois a Franzininho faz o subscribe para receber notificação de quando pode ser liberado a cachaça. Abaixo tem-se a ilustração da visão geral do projeto:

 

Arquitetura

 

Ilustração do RabbitMQ mostrando as estatísticas de mensagens na fila:

rabbitmq

Na imagem abaixo podemos ver o uso da API Gateway integrando com a SNS, com isso tornamos o fluxo de processamento assíncrono. E na lambda temos o gatilho de disparo partindo da SNS.

api-gateway

 

 

Código da Franzininho Wi-Fi

A linguagem utilizada na Franzininho foi o Python, fazendo o uso do CircuitPython, o código está disponível no github:

GitHub – wallacejsb/cachaca-pix: Código da placa Franzininho Wi-Fi do projeto cachaça Pix

Referências:

  • Sensor ultrassônico – https://docs.franzininho.com.br/docs/franzininho-wifi/exemplos-circuitpython/sensor-hcsr04
  • Documentação do CircuitPython – https://circuitpython.readthedocs.io/en/latest/README.html
  • Vídeos do canal Franzininho Wi-Fi – https://www.youtube.com/c/Franzininho
  • Instalação do CircuitPython – https://circuitpython.org/board/franzininho_wifi_wroom/
  • Grupo do Discord – https://discord.gg/92dmhCN8C8