• Nenhum resultado encontrado

3.10 Desenvolvimento Website para monitoramento

3.10.4 Programação Web

Diversos scripts de programação são desenvolvidos e armazenados no servidor, esses possibilitam a conexão e também o recebimento de dados, entre esses existem outros

scripts para completar o layout, a interação com a Web e o dinamismo das páginas.

Todo tipo de programação foi feita utilizando o editor de código - Sublime Text 3, que suporta diversas linguagens de programação, o que auxilia no desenvolvimento do Website, devido as várias linguagens que são aplicadas.

3.10.4.1 Comunicação com o DB

O código em destaque é o de conexão com o host, que permite o acesso ao banco de dados, pois a interação que possibilita apresentar o monitoramento da microgeração é rea- lizada devido a esse. A programação back-end é feita em PHP, pois esta linguagem facilita a conexão com o DB MySQL e possui diversas funções que simplificam a comunicação com o mesmo.

Esse script de conexão é apresentado na Figura 3.32 devido a sua importância para a realização de todas as requisições de troca de dados entre cliente/servidor, por seguinte algumas das funções as quais são utilizadas para implementar a comunicação com MySQL podem ser vistas na Tabela 3.14.

A ilustração e apresentação das funções mostram o modo como a conexão com o banco de dados MySQL é realizada através do uso das mesmas, onde os dados do

Figura 3.32 – Script de conexão <?php $usuario = "u751155649_mn"; $senha = "*******"; $host = "mysql.hostinger.com.br"; $bd = "u751155649_dados"; $conexao = mysqli_connect($host,$usuario,$senha); $selectbd = mysqli_select_db($conexao,$bd); if (mysqli_connect_errno()) {

echo "Failed to connect to MySQL: " . mysqli_connect_error(); }

?>

Fonte: Autor.

Tabela 3.13 – Funções para MySQL em PHP

msqli_connect Abre conexão com o servidor MySQL, alguns parâmetros como servidor, usuário e senha têm que ser informados mysqli_select_db Informa qual banco de dados será utilizado, em

conjunto com a função anterior

mysqli_connect_errno Retorna o código de erro da última chamada pelo connect mysqli_query Executa comandos SQL no DB

mysql_fetch_array Exibe os resultados do comando query

usuário, servidor e banco de dados são capturados para serem aplicados nestas funções. Empregando as informações necessárias nas funções db e connect, todos os parâmetros estão informados e a conexão é efetuada.

Com a conexão do DB estabelecida, os comandos em SQL podem ser executa- dos na base de dados, empregando a função query, assim os dados podem ser inseridos, selecionados, deletados ou alterados, diretamente nas tabelas.

3.10.4.2 Comandos SQL e Requisições HTTP GET

Os comandos em SQL que permitiram a manipulação das informações, foram de quatro tipos:

• CREATE TABLE - Cria uma nova tabela, com especificações de quais colunas e tipo de dados;

• INSERT - Comando de inclusão de dados nas colunas; • SELECT - Retorna registros do DB baseado em condições;

• DELETE - Exclui um registro da tabela.

O recebimento de dados e a execução dos comandos são realizados através de um código em PHP, back-end, que é chamado “dados.php”, onde os scripts SQL estão inseridos. A manipulação dos elementos e das tabelas do DB é efetuada com o auxilio da função do PHP mysql_query, a qual viabiliza a utilização dos comandos SQL diretamente no banco.

Este script PHP guarda as mensagens de requisição do tipo HTTP GET, do mo- dem GPRS. Quando esta mensagem é recebida, o mesmo salva os dados recebidos através da mensagem de requisição em uma tabela da base de dados MySQL, exemplo “tabela- kaplan”.

O método GET é utilizado para transferir dados do cliente para o servidor no protocolo HTTP, os dados são enviados em forma de lista.

A mensagem HTTP GET que está no código citado, encontra-se disponível no endereço: “http://supervisaoremota.esy.es/dados.php”, e a mensagem de requisição é do tipo apresentado na Figura 3.17. Onde as strings são os valores adquiridos pelo sistema de instrumentação. Os dados somente são salvos se na requisição de conexão com o DB todos os dados estiverem corretos.

Uma parte do script dados.php pode ser conferida na Figura 3.33, que mostra parte da mensagem de requisição HTTP GET e comandos SQL.

Figura 3.33 – Parte Script dados.php

. . . . $SUMREALPOWER = $_GET['SUMREALPOWER']; $VRMSDC = $_GET['VRMSDC']; $IRMSDC = $_GET['IRMSDC']; $POWERDC = $_GET['POWERDC']; $PRESSUREKPA = $_GET['PRESSUREKPA']; $NIVEL = $_GET['NIVEL']; $ROTATIONRPM = $_GET['ROTATIONRPM']; $sql_insert = "insert into tabelaarduino

(VRMS1,VRMS2,VRMS3,IRMS1,IRMS2,IRMS3,APPARENTPOWER1,APPARENTPOWER2,APPA RENTPOWER3,REALPOWER1,REALPOWER2,REALPOWER3,POWERFACTOR1,POWERFACTOR2,P OWERFACTOR3,FREQUENCY1,FREQUENCY2,FREQUENCY3,ACCUMULATED1,ACCUMULATED2, ACCUMULATED3,SUMREALPOWER,VRMSDC,IRMSDC,POWERDC,PRESSUREKPA,NIVEL,ROTAT IONRPM) values ('$VRMS1','$VRMS2','$VRMS3','$IRMS1','$IRMS2','$IRMS3','$APPARENTPOWER1 ','$APPARENTPOWER2','$APPARENTPOWER3','$REALPOWER1','$REALPOWER2','$REA LPOWER3','$POWERFACTOR1','$POWERFACTOR2','$POWERFACTOR3','$FREQUENCY1', '$FREQUENCY2','$FREQUENCY3','$ACCUMULATED1','$ACCUMULATED2','$ACCUMULAT ED3','$SUMREALPOWER','$VRMSDC','$IRMSDC','$POWERDC','$PRESSUREKPA','$NI VEL','$ROTATIONRPM')"; mysqli_query($conexao,$sql_insert); . . . . Fonte: Autor.

Em diversos outros momentos também foram utilizados comandos SQL, para a possibilidade de acesso aos valores registrados nas tabelas e apresentação ao usuário.

Estas programações na linguagem SQL serão mostradas no decorrer da estruturação do

Website elaborado.

3.10.4.3 Acesso e Cadastro de usuários com o método HTTP POST

Para realizar o cadastro de um novo usuário, registrar seus dados no DB, rea- lizar o acesso com os elementos cadastrados e desconectar, foram necessários 4 scripts desenvolvidos em PHP, os quais foram divididos em:

• db.class.php;

• registra_usuario.php; • validar_acesso.php; • sair.php.

Esses foram a base do sistema para o controle de acesso ao site. Seu desenvolvi- mento é feito executando comandos SQL através da requisição POST, que diferente do GET que carrega o parâmetro da solicitação na string do URL, esse carrega o parâmetro de solicitação no corpo da mensagem, dando mais segurança.

O primeiro script PHP cria uma função de conexão com o banco de dados, ajusta o meio de comunicação e indica os elementos. A conexão é feita de modo privado.

Já o segundo requisita a conexão para realizar o cadastro de um novo cliente. Os elementos são requisitados utilizando o método POST, que empregando a função seleciona os objetos na forma de lista, são carregados novos dados de usuário com um comando SQL de inserção na tabela “usuarios”.

Na sequência, o terceiro script somente permite que a sessão de acesso às páginas do

Website seja iniciada se os dados escritos em um fomulário pela pessoa que está acessando

sejam relacionados a algum dado cadastrado na tabela de usuários. A sessão é iniciada com a função session_start(), sessão é um recurso do PHP que permite que variáveis sejam salvas para serem usadas ao longo da visita do usuário. Variáveis salvas na sessão podem ser usadas em qualquer parte do script, mesmo em outras páginas do site. São variáveis que permanecem “setadas” até o visitante fechar o browser ou a sessão ser destruída.

Os resultados dos cadastros dos usuários para o Login são buscados, com a uti- lização da função mysql_fetch_array, que retorna os valores da tabela. São utilizadas novamente para a conexão, a requisição POST e a seleção dos elementos da tabela. Pos- sibilitando que o cliente utilize o e-mail ou o nome cadastrado para acesso, e a senha.

Para sair, ou seja, efetuar o Logout, somente é aplicada a função unset, que limpa os dados acessados e retorna a página inicial.

Os meios de aplicação do método HTTP POST, e de comandos PHP e SQL, pode ser analisados na parte do código registra_usuario.php da Figura 3.34.

Figura 3.34 – Script registra_usuario.php

<?php require_once('db.class.php'); $usuario = $_POST['usuario']; $email = $_POST['email']; $senha = $_POST['senha']; $objDb = new db(); $link = $objDb->conecta_mysql();

$sql = "insert into usuarios (usuario, email, senha) values ('$usuario','$email','$senha')";

//executar a query

if (mysqli_query($link, $sql)){

echo "Usuario registrado com sucesso!"; } else {

echo "Erro ao registrar o usuário!"; }

?>

Fonte: Autor.

A programação realizada é empregada nas páginas do sistema de monitoramento

(Website), permitindo que o usuário acesse ou não esse. E que um novo cliente se cadastre.