Este projeto faz parte da atividade final da disciplina PGCC008 do Programa de Pós-graduação Stricto Sensu em Ciência da Computação (mestrado) da Universidade Estadual de Feira de Santana.
Alunos: Noberto Maciel e Gustavo Coelho
Professores: Ângelo Duarte e Thiago de Jesus
- Para desenvolver e carregar o código fonte no nodeMCU ESP8266 foi usado o Visual Studio Code com a extensão PlatformIO.
- Para usar o código na IDE do Arduino, utilize o arquivo main.cpp mudando a extensão para .ino e retirando a biblioteca Arduino.h.
- Você pode precisar instalar o driver ch340: download aqui (linux - testado em debian) ou aqui (windows).
- Tutorial para usar o ESP8266 na PlatformIO Vs Code aqui
- Tutorial para usar o ESP8266 na IDE Arduino aqui
- Sensores, pinos e funcionalidades: issue #2
- Protocolo de comunicação do projeto: issue #4
- Protocolo de comunicação da rede Mesh: PainlessMesh Lib
O Raspberry cadastrado no site da AWS possui um canal de comunicação MQTT denominado shadow, e foi a partir desse canal que foi realizada a troca de mensagem entre o broker AWS e o raspberry.
Um cliente MQTT é responsável por verificar se o canal 'update' do shadow sofreu alterações, em caso positivo é acionado o método que deve realizar o processamento a partir da mensagem recebida. Se a mensagem for para alterar a frequência de um nó, os valores serão obtidos do json e uma mensagem será montada e enviada, seguindo o protocolo vigente, para que o node em questão tenha sua frequência alterada.
Caso o objetivo seja obter o valor do sensor de um determinado node, então são realizados alguns processos a mais. Primeiro uma mensagem é enviada para que a frequência da mensagem seja igual a 1, dessa forma o node envia seus dados imediatamente. Feito isso, os dados são lidos e enviados de volta para o broker AWS. Logo em seguida, é enviada outra mensagem para o nó que retornou o valor para que ele volta a sua frequêncai de operação original.
- https://www.instructables.com/Add-Custom-Alexa-Control-to-Raspberry-Pi-Project/
- https://www.raspberrypi.com/software/operating-systems/
- https://docs.aws.amazon.com/pt_br/lambda/latest/dg/welcome.html
- https://github.com/alexa
- https://developer.amazon.com/en-US/alexa/alexa-skills-kit#
- https://gitlab.com/painlessMesh/painlessMesh
- https://www.waveshare.com/wiki/Flame_Sensor