PiMetis é um projeto acadêmico, desenvolvido para o projeto final da matéria Sistemas Operacionais Embarcados da Universidade de Brasília, ministrado pelo professor Diogo Caetano Garcia.
PiMetis é um sistema visão computacional aplicado em sistema embarcado, mais especificamente na Raspberry Pi 3, cujo o objetivo é monitorar um cômodo da casa onde deseja monitorar situações inesperadas. Sendo detectado alguma dessas situações abaixo, o sistema notificará o usuário pelo Telegram.
- Quantidade de pessoas não esperadas em um cômodo da casa;
- Presença de objetos perigosos em um cômodo da casa;
O objetivo deste projeto é construir um sistema embarcado com alto processamento de dados e recursos computacionais para ser utilizado em um ambiente limitado, utilizando de recursos do sistema operacional para o seu desenvolvimento.
O PiMetis foi construído utilizando essas ferramentas e tecnologias:
Para conseguir utilizar este sistema, siga os exemplos de instruções abaixo. Deixando claro que este é um projeto desenvolvido e surportado para o sistema Linux.
Para rodar este projeto é necessário instalar os seguintes pré-requisitos:
-
g++
-
cmake
-
libcurl4-openssl-dev
-
libopencv-dev
-
ngrok
-
curl
-
git
sudo apt install g++ cmake libcurl4-openssl-dev libopencv-dev ngrok curl git
Siga as instruções abaixo para compilar e gerar o executável do sistema.
- Clone o repositório
git clone https://github.com/yabamiah/PiMetis
- Instale as bibliotecas pelo script do pimetis_setup
sudo chmod +x pimetis_setup.sh ./pimetis_setup.sh
- Compile o sistema
cd source mkdir build && cd build cmake . make
Para utilizar o sistema, é necessário apenas executar o binário e utilizá-lo através de sua interface gráfica.
Para visualizar o roteiro do desenvolvimento do sistema, publicamos os relatórios do ponto de controle onde contém informações mais detalhadas da construção do PiMetis, desde o seu conceito incial, até a entrega da sua versão final. Os relatório podem ser visualizados aqui.
Contribuições são o que tornam a comunidade de código aberto um lugar tão incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.
Se você tiver uma sugestão que tornaria isso melhor, faça um fork do repositório e crie um pull request. Você também pode simplesmente abrir um issue com a tag "enhancement". Não se esqueça de dar uma estrela ao projeto! Obrigado novamente!
- Faça um fork do Projeto
- Crie seu Branch de Recurso (
git checkout -b feature/AmazingFeature
) - Commit suas Mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para o Branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Distribuído sob a Licença MIT. Veja Licença MIT para mais informações.