Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql

Documentos relacionados
Programação Web Prof. Wladimir

Administração de Usuários e Privilégios no Banco de Dados

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

LINGUAGEM DE PROGRAMAÇÃO WEB

Passos Preliminares: Acessando a máquina virtual via ssh.

Inserindo e Listando registros

Modelo Cliente/Servidor Por HIARLY ALVES

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

PHP e MySQL Autenticação de Usuários

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Enviado dados para o PHP através de formulário

TML 2.3 MANUAL DO PROGRAMA DE ENVIO DE TML RIP Tela 1 - Início Apenas apresentação do Programa

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

Guia de instalação para ambiente de Desenvolvimento LINUX

Desenvolvendo Websites com PHP

9 Comandos condicionais

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

LINX POSTOS AUTOSYSTEM

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Curso PHP Aula 08. Bruno Falcão

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

English Português. By erickalves 25 Julho, :08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios

Prof. Carlos Majer Aplicações Corporativas UNICID

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Especialização em web com interfaces ricas

Manual comandos Básicos para instalar e desinstalar Firebird em Sistema operacional Linux

PHP INTEGRAÇÃO COM MYSQL PARTE 2

Agendamento de tarefas

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

MSN-Proxy v0.7 no Debian 5 (Atualizado)

Linguagem de. Aula 06. Profa Cristiane Koehler

MOODLE NA PRÁTICA PEDAGÓGICA

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Autor: Hernandes Martins. Março de Zabbix 2.4 CentOS 7 Tutorial Instalação

Transações Seguras em Bancos de Dados (MySQL)

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Controle de acesso. .com.br

Conectar diferentes pesquisas na internet por um menu

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti

Criação Pagina PHP & MySQL

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

TUTORIAL DE CRIAÇÃO DE BANCO DE DADOS ESPACIAL

2 echo "PHP e outros.";

Usando o Conference Manager do Microsoft Outlook

Manual Rápido de Registro e Configuração do DJPDV

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

MANUAL DE INSCRIÇÃO NAS LINHAS DE AÇÃO PROGRAMA DE INVESTIMENTO SPCINE E BRASIL DE TODAS AS TELAS

Manual Banco de dados MySQL

Instalação do PHP no Linux

Manual de Utilização do PDV Klavix

Começando com Zend Framework

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

..:Sgi-Plus:.. Manual completo do sistema de vendas Sgi-plus. Site..:

TUTORIAL PASSO A PASSO INSTALAÇÃO SERVIDOR DE SMS PARA MKAUTH

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

Bancos de Dados: impossível viver sem eles...

RELATÓRIOS GERENCIAIS

Guia do Usuário do Aplicativo Desktop Client

Ajuda em php + xml + sql Posted by kabonga /07/15 23:56

MÓDULO DE MATRICULA UNASUS

Configurando o Controle dos Pais no Windows Vista

INSTALANDO E CONFIGURANDO O MY SQL

Módulo Locação de Roupas

Instalação Apache + MySQL + PHPMyAdmin CentOS

IMPRESSÃO DE DADOS VARIÁVEIS usando Adobe InDesign e OpenOffice.org

Manual Fácil 1 DOWNLOAD E INSTALAÇÃO. 1. Como faço o download do Jimbo Mobile?

COMANDO DA AERONÁUTICA ESCOLA DE ESPECIALISTAS DE AERONÁUTICA SUBDIVISÃO DE ADMISSÃO E DE SELEÇÃO

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Jaspe versão 1.2. Manual do usuário Versão em Português

Como instalar o Ocomon passo a passo.

Database and Applications. Criação, inserção de dados PHP+MySQL

LINX POSTOS AUTOSYSTEM

Usando o do-file editor Automatizando o Stata

Incorporando JavaScript em HTML

Manual de Instalação. Instalação via apt-get

MANUAL DA SECRETARIA

Carregando dados do Banco de Dados MySQL através de uma tag SELECT

Desenvolvido por: Rafael Botelho

PHP (PHP Hypertext Preprocessor)

Neste tópico, abordaremos a funcionalidade de segurança fornecida com o SAP Business One.

Como colocar uma notícia no site internet da UMMSP?

A criação de utilizadores no MySQL pode passar pela utilização de dois comandos: - Create user; - Grant;

Como fazer um jogo usando o editor de apresentação

Manual do Instar Mail v2.0

Auditando e criando relatório de análise de vulnerabilidades com Nessus

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

C# - Conexão com MySQL

Bem vindo Joe Ramone!

Introdução. O Windows Server 2003 está dividido em quatro versões:

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

Criação de Aplicativos de redes sociais para Autenticação

Transcrição:

Criar database: Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com Preparando o ambiente do Banco de dados Mysql CREATE DATABASE `tempuino` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ; USE `tempuino`; CREATE TABLE IF NOT EXISTS `temperatura` ( `id` int(11) NOT NULL AUTO_INCREMENT, `data` datetime NOT NULL, `hora` datetime NOT NULL, `temperatura` float NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Criar tabela temperatura: $sql = "CREATE TABLE `tempuino`.`temperatura` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `data` DATETIME NOT NULL, `hora` DATETIME NOT NULL, `temperatura` FLOAT NOT NULL) ENGINE = MyISAM;"; Ou no console: CREATE TABLE `tempuino`.`temperatura` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `data` DATETIME NOT NULL, `hora` DATETIME NOT NULL, `temperatura` FLOAT NOT NULL ) ENGINE = MYISAM ; Criando um usuário para administrar nosso database: CREATE USER 'operador'@'%' IDENTIFIED BY '***'; GRANT USAGE ON *. * TO 'operador'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; GRANT ALL PRIVILEGES ON `tempuino`. * TO 'operador'@'%';

Preparando o ambiente no servidor Linux Já suponho que você tenha o Apache ou qualquer outro servidor web, o php5 e o mysql instalados e configurados, e também será necessário o modulo php5-mysql. O ambiente de trabalho utilizado e para funcionar o projeto é: /var/www/tempuino/ Executar os seguintes comandos no terminal: cleiton@linuxvm:/var/www# sudo mkdir -p tempuino && chown root:www-data tempuino cleiton@linuxvm:/var/www# ls -l grep tempuino drwxr-xr-x 2 root www-data 4096 2013-12-10 20:57 tempuino Criando nosso arquivo principal, index.php: root@linuxvm:/var/www/tempuino# touch index.php && chown root:www-data index.php && chmod 755 index.php root@linuxvm:/var/www/tempuino# ls -l total 0 -rwxr-xr-x 1 root www-data 0 2013-12-10 21:01 index.php Eu estou usando root e www-data como dono e grupo, você pode utilizar no lugar de root o seu usuário para realizar todas as alterações, caso contrário é só abrir com o sudo. Você pode criar os arquivos abaixo ou utilizar o que será baixado no exemplo do post. root@linuxvm:/var/www/tempuino# mkdir -p includes root@linuxvm:/var/www/tempuino# touch includes/func_sql.php root@linuxvm:/var/www/tempuino# touch includes/cron.php root@linuxvm:/var/www/tempuino# touch includes/comunicacao_serial.php root@linuxvm:/var/www/tempuino# touch includes/php_serial.class.php root@linuxvm:/var/www/tempuino# chown root:www-data includes -R && chmod 755 includes/ Vale lembrar que php_serial.class.php é o mesmo utilizado nos posts anteriores, eu apenas copiei, o comunicacao_serial.php, o comunicacao_serial.php nos posts anteriores ele apenas fazia a conexão serial, dessa vez criei duas funções que realizam tarefas diferentes. function ConnectSerial( ) { } function CheckDadosCom( ) { } A primeira faz o que já estava sendo feito antes conecta a serial, e o segundo quando chamado chamará a ConnectSerial( ) após conectar a serial receberá o valor irá tratar este valor e gravar no banco de dados enviando o valor com a função GravarSQL( ) { }. O arquivo func_sql.php possui funções para lidar com o banco de dados e as funções são: function ConsultaTemp( ) { } function GravarSQL( ) { }

A primeira realizará uma consulta no nosso banco de dados e retornar a temperatura de uma data informada, no caso se informarmos '2013-12-16' retornará a temperatura de cada 5 minutos que foi registrada nesse dia. A segunda função fará uma inserção em nosso banco, passaremos como informações o valor da temperatura, data e a hora que foi coletado e ele inserirá em nossa tabela no banco de dados. A principal diferença entre essas duas funções é uma variável que tem em ambas chamadas $sql, onde temos nossa sintaxe de consulta/inserção. No ConsultaTemp(), realizamos uma seleção na tabela temperatura dos valores data, hora e temperatura desde que a data seja igual a variável $data, e tudo que encontrar ele retornará e você deve armazenar em uma outra variável, que será detalhado mais adiante. $sql = "SELECT data,hora,temperatura FROM temperatura where data='$data'"; No GravarSQL(), montamos uma sintaxe que ira inserir na tabela temperatura nos campos data, hora e temperatura os valores $data, $hora e $temp. $sql = "INSERT INTO temperatura (data, hora, temperatura) VALUES ( '$data', '$hora', $temp)"; Linguagem SQL abre muitas possibilidade de seleção(select), inserção(insert), deletar(delete) e atualizar(update), caso tenha curiosidade ou queria saber mais pesquise no google por SQL, sintaxes SQL, CRUD SQL que retornará muitas informações, aqui foi apenas o necessário para o projeto. Um parêntese nessa etapa principalmente para quem for iniciante com banco de dados no caso MySQL e que fiz de propósito foi repetir a mesma função de conexão do banco mais de uma vez, sendo que poderia automatizar e criar um arquivo para isso, mas foi proposital, a função cabeça para conectar em um banco de dados MySQL com PHP esta abaixo: $conecta = mysql_connect("127.0.0.1", "operador", "operador") or print (mysql_error()); A função em si é simples mysql_connect() onde você passará o IP do servidor/host onde se encontra o MySQL, seguido de um usuário e de uma senha, em nosso caso ambos operador, e a variável $conecta recebe o retorno essa conexão se bem-sucedida ou não e em caso de erro aquele print após o or vai entrar em ação. O último e não menos importante até porque possui uma tarefa necessária é o cron.php, com pouquíssimo código e da para analisarmos linha a linha. <?php require("/var/www/tempuino/includes/comunicacao_serial.php");?> CheckDadosCom(); Simples de tudo e até fácil de entender baseado nas funções explanadas acima. ChechDadosCom conectará na serial, capturar a temperatura e salvar no banco de dados, o arquivo chama cron.php (quem é usuário Linux entenderá) e é chamado de 5 em 5 minutos para executar, quem faz esta tarefa é essa simples linha no crontab do Linux. */5 * * * * php5 /var/www/tempuino/includes/cron.php

Agora o tão esperado index.php, nosso arquivo principal da função web pelo menos. Bom eu não sou programando front-end então a perfumaria do sistema (CSS, HTML, ) foi abstraído da internet e alguns exemplos que eu já possuía, não abordarei aqui pois não é o foco deste post e é apenas para dar uma aparência bonitinha. Vou pegar apenas os pedaços importantes a serem analisados e que fazem o trabalho. <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" > Essa linha é o nosso <form> da pesquisa, onde o usuário informando uma data no formato(2013-12-16) retornará a temperatura registrada de todo esse dia, a saca ae é o <?php echo $_SERVER['PHP_SELF'];?> que quando o operador clicar em Buscar ele irá na página atual e cairá na seguinte condição. if(isset($_post['pesquisar'])) { } else { } Ou seja, se você apenas abrir a página o método post com pesquisar não foi setado então ele vai para o eles { } onde fará uma consulta de tudo no banco e carregar na página, já quando você clicar em Buscar, o POST entra em ação com pesquisar setado e ele entrara no if( ){ } onde baseado na data informada carregará na tela uma tabela com os valores daquele dia. E entrando em qualquer uma das condições será realizada uma conexão ao banco de dados e dessa vez pegar o que o banco retorno e carregar na tela, abaixo a primeira condição onde nós informamos uma data. $data = $_POST['calendario']; include("/var/www/tempuino/includes/func_sql.php"); $retorno = ConsultaTemp($data); echo "<table border=\"0\">"; echo "<thead><tr><thwidth=\"120\"><b>data</b></th><th width=\"120\"><b>hora</b></th><th width=\"120\"><b>temperatura</b></th></tr></thead>"; echo "<tbody>"; while($consulta = mysql_fetch_row($retorno)) { echo "<tr><td>".$consulta[0]."</td><td>".$consulta[1]."</td><td>". $consulta[2]."</td></tr>"; } echo "</tbody>"; echo "</table>";

Vamos compreender o código, variável $data recebe a data informada para pesquisar, então temos um POST que é do botão que você clicou e outro que traz a data para pesquisa, em seguida incluímos o arquivo func_sql.php que tem a função que precisamos e é chamado logo abaixo ConsultaTemp( ), onde passando uma data para pesquisa ele irá nos devolver um array de informações. Dentro de cada echo são sintaxes e formatação HTML no caso criamos uma tabela e o segredo nesta etapa está em while($consulta = mysql_fetch_row($retorno)), a função mysql_fetch_row() irá nos abstrair todos os dados retornados e que estão em $retorno, e colocar na variável array $consulta e vai ficar nessa repetição enquanto tiver dados no $retorno e quem verifica isso é a mysql_fetch_row(). E baseado na consulta que montamos, a cada repetição teremos 3 valores no $consulta que são data, hora e temperatura carregados na seguinte ordem: $consulta[0] => Data $consulta[1] => Hora $consulta[2] => Valor temperatura E com esses dados eu insiro eles em uma tabela até o ultimo valor, e teremos algo como a Figura1, os demais detalhes de aparência foi utilizando CSS que segue junto com o projeto.

Figura1 Pagina web visualização de valores O trabalho Sensor de temperatura - Parte 5 de Cleiton Bueno está licenciado com uma Licença Creative Commons Atribuição-Não Comercial-CompartilhaIgual 4.0 Internacional.