Repositório do Hub de Atualizações OTA para dispositivos IoT remotos.
- Back-end: PHP;
- Front-end: HTML, JS, CSS e Framework Bootstrap;
- Banco de de Dados: MySQL;
- Firmware Dispositivos IoT de Exemplo: C, C++ e Framework Arduino;
- Biblioteca para uso em Dispositivos IoT: C, C++ e Framework Arduino.
- Biblioteca php-jwt da firebase, Google: https://github.com/firebase/php-jwt
- Biblioteca php-encryption da defuse: https://github.com/defuse/php-encryption
- Biblioteca Chart.js da chartjs: https://github.com/chartjs/Chart.js
Ao fazer download via .zip ou via git clone, deve-se instalar os packages composer. Para isso , siga o seguinte passo a passo:
- Com o projeto baixado em seu computador, abra o terminal cmd dentro da pasta do projeto;
- Navegue até a pasta Server-Files/private:
cd .\Server-Files\private\
- Atualize os packages via Composer (caso não tenha o Composer em seu computador, faça o download no link oficial: https://getcomposer.org/download/):
composer update
Com os passos anteriores realizados, seu projeto conterá todos os arquivos necessários para o funcionamento do projeto.
Antes de iniciar o projeto no servidor, é necessário alterar as credenciais gerais do sistema. Para isso, siga o passo a passo à seguir:
- Navegue até a pasta Server-Files/private:
cd .\Server-Files\private\
- Abra o arquivo
credentials.php
; - Dentro do arquivo, altere o valor das variáveis que armazenam as credenciais:
// OBRIGATÓRIO - ALTERE OS VALORES DAS SEGUINTES VARIÁVEIS
$host = "localhost"; // o host do banco de dados
$username = "micsg-tests"; // o username do banco de dados
$password = "micsg-tests"; // a senha do banco de dados
$pepperHash = "micsg-tests"; // o pepper para geração de hash das senhas dos users (altere para qualquer termo, mas que seja SEGURO)
$chaveJwt = "micsg-tests"; // a chave secreta utilizada para assinar os tokens JWT (altere para qualquer termo, mas que seja SEGURO)
$chaveCrypto = "SUBSTITUA_ESTE_VALOR_AQUI"; // a chave secreta utilizada para criptografar os hash das senhas dos users (para gerar um valor válido siga os passos da documentação)
// OPCIONAL - ALTERE OS VALORES DAS SEGUINTES VARIÁVEIS
$versaoSistema = "1.0"; // a versão do sistema (possibilita o ADMIN do servidor apagar as tabelas do banco de dados, ou quando fazer alguma alteração significativa, e, quando incrementar a versão do sistema, os usuários que estejam logados anteriormente estarão 'deslogados')
$emailDemoAccount = "[email protected]"; // o e-mail da conta inicial para o gerente poder criar a conta dele
$senhaDemoAccount = "senha-demo-hub"; // a senha da conta inicial para o gerente poder criar a conta dele (mínimo de 12 caracteres, máximo de 4096 caracteres)
Antes de iniciar o projeto no servidor, é necessário gerar e salvar em uma variável a key de Criptografia. Para isso, siga o passo á seguir:
- Navegue até a pasta Server-Files/private (caso ainda não esteja nela):
cd .\Server-Files\private\
- Execute o comando à seguir para gerar uma chave de criptografia aleatória e à imprime na saída do prompt de comando:
vendor/bin/generate-defuse-key
- Com a chave de criptografia gerada, copie ela e cole o seu valor na variável
$chaveCrypto
que está dentro do arquivocredentials.php
(na pasta Server-Files/private):
$chaveCrypto = "SUBSTITUA_ESTE_VALOR_AQUI"; // a chave secreta utilizada para criptografar os hash das senhas dos users (para gerar um valor válido siga os passos da documentação)
Com os passos anteriores realizados, seu projeto está pronto para funcionar.