O intuito deste problema foi a criação de uma comunicação utilizando MQTT (além de uma API REST utilizando socket puro), onde sensores como oxímetro, termômetro, esfigmomanômetro e frequencímetro (hardwares) podessem enviar dados via MQTT para o servidor, e o servidor enviasse via API REST (socket TCP) os dados para o cliente, que nesse caso seria um médico (a), e o mesmo visse os dados de forma ordenada e prioritária as informações e fosse alertado em casos de emergências. SiMCov2 é uma versão melhorada do SiMCov (https://github.com/KevinCerqueira/SiMCov)
- Python 3.8 (Necessário ser essa versão)
- PHP 7.4.16
- Javascript
- HTML5 & CSS3
- Python:
- paho.mqtt.client (comunicação MQTT)
- pymongo (comunicação com banco de dados MongoDB)
- socket (servidor com socket puro)
- TCP e UDP
- threading (threads)
- base64 (codificação)
- re (regex)
- sys (comandos do sistema)
- os (pastas e rotas do sistema)
- PHP
- MqttClient (comunicação MQTT)
- ConnectionSettings (configuração da comunicação MQTT)
- funções:
- socket_create (criar cliente com socket puro)
- socket_connect (conectar com o servidor)
- socket_write (enviar dados ao servidor)
- socket_recv (receber dados do servidor)
- socket_close (fechar conexão com o servidor)
- Javascript
- JQuery 3.6.0
- Ajax
- SweetAlert2
- Select2
- JQuery 3.6.0
- HTML5 & CSS3
- Boostrap 5.1
- FontAwesome
- Antes de tudo é necessário ter instalado o Python (versão 3.8) e o XAMPP (versão 3.3.0) + PHP (v7.4)
- Python (v3.8.0): https://www.python.org/downloads/
- XAMPP (v3.3.0) + PHP 7.4: https://www.apachefriends.org/pt_br/download.html
- ATENÇÃO: Baixar o que consta a versão 7.4 do PHP. Não é necessário instalar o php à parte, pois o o mesmo já vem pré configurado no xampp
- Caso utilize windows, é necessário verificar se o PHP do XAMPP está setado nas variáveis ambiente do seu computador.
- Para utilizar o socket do PHP é necessário habilita-lo no php.ini (C:\xampp\php\php.ini):
- Feito tudo isso, confirme que está tudo funcionando, basta abrir o terminar e digitar 'python --version' para verificar se o Python foi instalado corretamente, e para verificar o PHP basta digitar no mesmo terminal 'php -v'. Feito isso confirme se as versões aparecem devidamente.
- Após configurado, está na hora de mover o repositório para dentro da pasta C:\xampp\htdocs, como mostrado na imagem:
- Agora abra o XAMPP e dê start na opção Apache (o mesmo deve ficar verde):
- É necessário instalar as dependencias do PHP com o 'composer' (instale ele via https://getcomposer.org/), certificado de que esteja instalado, rode o seguinte comando na pasta 'SiMCov/client/Controllers':
composer install
- Agora instale as importações necessárias para o python:
pip install pymongo
pip install "pymongo[srv]"
pip install paho-mqtt
-
Após isso, certifique-se que você tem a variável de ambiente CLUSTER no arquivo 'SiMCov/server/.env', como no exemplo do .env.example:
CLUSTER=mongodb+srv://<username>:<password>@kcluster.meacr.mongodb.net/test
- caso não tenha acesso ao banco de dados, será necessário nos solicitar, ou criar um no site do MongoDB.
-
Pronto, agora o front-end da aplicação está rodando, agora é a hora de rodar os servidores. Vá no terminal e execute o arquivo 'servertcp.py' e deixe-o rodando, abra um novo terminal para executar 'servermqtt.py' da mesma
python servertcp.py
python servermqtt.py
- E caso queira que os sensores fiquem mudando os valores automaticamente, execute o 'simulator.py'
python simulator.py
- Pronto! agora é só acessar a tela inicial do sistema, basta acessar o link 'http://localhost/SiMCov2/client' em um navegador
- Entrar: http://localhost/SiMCov2/client/pages/auth/login.php
- Cadastro: http://localhost/SiMCov2/client/pages/auth/register.php
- Dashboard: http://localhost/SiMCov2/client/index.php
- Monitorar Paciente: Selecione o paciente via modal no dashboard
- Lista de prioridade: http://localhost/SiMCov2/client/pages/list_priority.php
- Medir paciente: http://localhost/SiMCov2/client/pages/change_patients.php
- Cadstrar/Deletar paciente: são modais do dashboard