Вы находитесь на странице: 1из 135

UNIVERSIDADE GAMA FILHO

INSTITUTO SUPERIOR DE EDUCAÇÃO TECNOLÓGICA


CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

PISCINA CONTROLADA VIA INTERNET

ALEXANDRE AUGUSTO GILII


BRUNO TOLOMELLI

Rio de Janeiro
2010
UNIVERSIDADE GAMA FILHO
INSTITUTO SUPERIOR DE EDUCAÇÃO TECNOLÓGICA
CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

“PISCINA CONTROLADA VIA INTERNET”

Monografia apresentada ao Curso de Engenharia de


Controle e Automação da Universidade Gama Filho, como
requisito parcial para obtenção do título de Engenheiro de
Controle e Automação.

Por:

ALEXANDRE AUGUSTO GILII


BRUNO TOLOMELLI

Orientador:

PROF. ANDRE EPPINGHAUS

Rio de Janeiro
2010
UNIVERSIDADE GAMA FILHO
Rua Manoel Vitorino, 553 - Piedade
Rio de Janeiro - RJ

Este exemplar é de propriedade da Universidade Gama Filho, que poderá incluí-lo em


base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de
arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas


deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a
ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade
comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es) e


do(s) orientador(es).

FICHA CATALOGRAFICA

Rio de Janeiro
2010
ASSINATURAS

Dos Autores:

_________________________________
Alexandre Augusto Gilii

_________________________________
Bruno Tolomelli

Do Professor Orientador:

_________________________________
Andre Eppinghaus

II
AVALIAÇÂO

Disciplina: TEC XXX - XXXX


Professor: Andre Eppinghaus
Turma: xxx Data XX/XX/XXXX
Título: “PISCINA CONTROLADA VIA INTERNET”

Considerações Avaliativas:

........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................

Nota:...................................Rubrica do Professor Orientador:.......................................

III
DEDICATÓRIA

Os autores dedicam este trabalho aos seus


familiares, professores e amigos que com muita
paciência e dedicação contribuíram de forma
decisiva para a conclusão do mesmo.

IV
AGRADECIMENTOS

Agradecemos a todas as pessoas


que nos incentivaram ou
colaboraram de alguma forma para
a conclusão deste trabalho.
Agradecimento particular a aqueles
que, provavelmente por educação e
paciência, tiveram o tato, ao longo
do curso, suportando as críticas,
comentários e comportamentos, a
respeito dos obstáculos e
dificuldades que tivemos de
ultrapassar.

V
RESUMO

A necessidade de melhorias, padronização e redução de custos nas etapas produtivas


tem-se convergido cada vez com maior intensidade ao processo de automação aplicado nas
industrias. Como etapa de evolução natural do processo de automação, a interligação, ou até
mesmo interação de processo em diferentes regiões, separadas geograficamente é hoje uma
realidade na maioria das grandes empresas, buscando otimizar recursos, disponibilizar
informações, possibilitando uma gestão integrada das etapas produtivas com os objetivos
corporativos. Importantes aspectos devem ser avaliados neste novo modelo proposto, a
tecnologia disponível aliado aos aspectos de segurança pessoal e equipamentos. A tecnologia
disponível para disposição e manipulação das variáveis do processo produtivo, seja esta com
fio ou sem fio, sinal de freqüência por onda magnética, sonora ou luminosa, acessos por via
públicas ou privadas, parâmetros de projetos como sistema de segurança pessoal, trafego de
informações e intertravamentos de processo devem ser previamente considerados na etapa de
projeto. O projeto aqui elaborado se aplica a uma nova forma de automatizar sistemas com
baixo custo usando recursos da internet que hoje e realidade em todo mundo.

VI
ABSTRACT

The need of improvements, standardization and reduction of costs in the productive stages,
they have been converging every time with larger intensity to the applied industrial
automation process devices. As stage of natural evolution of the automation process, the
communication, or even process interaction in different areas, separated geographically is
today a reality in most of the great companies, looking for to optimize resources, to make
available information, making possible an integrated administration of the productive stages
with the corporate objectives. Important aspects should be appraised in this new proposed
model, the technology available a to personal and equipments safety's aspects . The available
technology for disposition and manipulation of the variables of the productive process, be this
with thread or without thread, frequency sign for wave magnetic, resonant or luminous,
accesses for road public or private, parameters of projects as system of personal safety, datas
disposal and process protection should be considered previously in the project step.

VII
LISTA DE ILUSTRAÇÕES

VIII
SUMÁRIO

CAPA..........................................................................................................................................i

FOLHA DE ROSTO.................................................................................................................ii

ASSINATURAS.......................................................................................................................iii

AVALIAÇÃO...........................................................................................................................iv

DEDICATÓRIA........................................................................................................................v

AGRADECIMENTOS............................................................................................................vi

RESUMO..................................................................................................................................vi

ABSTRACT............................................................................................................................viii

LISTA DE ILUSTRAÇÕES..............................................................................................ix e x

1. INTRODUÇÃO ............................................................................................................1

1.1 Considerações iniciais .......................................................................................1

1.2. Justificativa.......................................................................................................2

1.3. Relevância.........................................................................................................3

1.4. Problemas de pesquisa......................................................................................3

1.5. Objetivo de Estudo............................................................................................3

2. PRINCÍPIOS BÁSICOS DO PROJETO............................................................................4

2.1. Rede...................................................................................................................4

2.1.1. O que é uma rede?................................................................................4

2.2. Tipos de Ligação (Meio Físico).........................................................................5

2.2.1. Ligação ponto – ponto...........................................................................5

2.2.2. Ligação multiponto...............................................................................5

2.2.3. Estruturas mistas..................................................................................6

2.2.3.1. Topologia estrela.......................................................................6

IX
2.2.3.2. Topologia em barras.................................................................7

2.2.3.3. Topologia hierárquica ou árvore.............................................7

2.2.3.4. Topologia em anel.....................................................................8

2.2.3.5. Topologia distribuída................................................................9

2.2.3.6. Topologia totalmente conectada...............................................9

2.2.3.7. Topologia parcialmente conectada ou em garfo....................10

2.3. Meio de transmissão........................................................................................11

2.4. Comunicação wireless (sem fio).....................................................................12

2.5. Padrão de comunicação..................................................................................12

2.5.1. Padrão de comunicação serial RS-232..............................................12

2.5.1.1. Características gerais do RS-232 são:...................................13

2.5.2. Padrão comunicação serial RS-422...................................................14

2.5.2.1 As características gerais do RS-422.........................................14

2.5.3. Padrão comunicação serial RS-485...................................................15

2.5.3.1. Características gerais do RS-485 são:....................................15

2.5.4. Padrão ethernet...................................................................................15

2.5.4.1. Endereço de IP........................................................................16

2.6 Porta Paralela ........................................................................................................16

2.6.1 O que e interface Paralela .........................................................................17

2.6.2 Aplicação da Porta Paralela ......................................................................19

2.6.3 Tipos de Transmissão da Porta Paralela ................................................19

2.6.4 O Conector DB-25 ......................................................................................20

2.6.4.1 Pinagem Conector DB-25 ..............................................................21

2.6.5 Endereços da Porta Paralela.....................................................................24

2.6.6 Registradores da Porta Paralela................................................................24

X
2.6.6.1 Circuitos para enviar sinal para a Porta Paralela.......................25

2.6.6.2 Circuitos para receber sinal para a Porta Paralela...................26

2.7 Introduções ao Tratamento da Piscina................................................................27

2.7.1 Tratamento Manual ...................................................................................27


2.7.2 Limpeza Física ................................................................................28
2.7.3 Sistema de Circulação ....................................................................28

2.7.4 Funções do Filtro e Manuseio dos Registros.................................29

2.7.5 Filtrar...............................................................................................30

2.7.6 Retrolavar (Lavar)..........................................................................31

2.7.7 Pré-Filtrar (Enxaguar)....................................................................32

2.7.8 Recircular.........................................................................................33

2.7.9 Drenar...............................................................................................34

2.7.10 Fechar.............................................................................................35

2.7.11 Como Utilizar o Aspirador...........................................................36

2.7.12 Freqüentes sobre o Filtro..............................................................37

2.7.13 Tratamento Químico.....................................................................38

2.7.14 Como calcular o volume de água da piscina ..............................39

2.7.15 Como calcular a dosagem necessária de produtos químicos.................40

2.7.16 Como medir a Alcalinidade Total. ..............................................41

2.7.17 Como ajustar a Alcalinidade Total..............................................41

2.7.18 Como Ajustar o pH ......................................................................42

2.7.19 Cloro Livre Disponível..................................................................43

2.7.20 Como ajustar o Cloro Livre.........................................................44

XI
2.7.21 Como utilizar o Estabilizador de Cloro.......................................46

2.7.22 Cuidados........................................................................................47

2.7.23 Clarificação e Floculação (Decantação)......................................49

2.7.24 Dicas e Recomendações.................................................................51

2.8 Linux.........................................................................................................................61

2.8.1 História.........................................................................................................61

2.8.2 Nucleo...........................................................................................................63
2.8.3 Arquitetura..................................................................................................63
2.8.4 UNIX.............................................................................................................63
2.8.5 Termos de Licenciamento...........................................................................64
2.8.6 Sistemas de arquivos suportados...............................................................65
2.8.7 Distribuições................................................................................................66
2.8.8 Código Aberto e Programas Livres...........................................................68
2.8.9 Controvérsias quanto ao nome..................................................................68
2.8.10 Sobre o símbolo.........................................................................................69

2.9 Apache+PHP............................................................................................................70

2.9.1 Conhecendo o Servidor Apache (HTTP Server Project).........................70

2.9.1.1 Introdução.......................................................................................70

2.9.1.2 Características do servidor Apache..............................................71

2.9.2 PHP...............................................................................................................73

2.9.2.1 Historico....................................................................................................73

2.9.2.2 Principais Caracteristicas .......................................................................74

2.9.2.3 PHP 5 ........................................................................................................75

2.9.2.4 Indução de tipo ........................................................................................75

2.9.2.5 Visibilidade...............................................................................................75

XII
2.9.2.6 Polimorfismo ............................................................................................76

2.9.2.7 Polimorfismo Paramétrico......................................................................76

2.9.2.8 Poliformismo por Inclusão......................................................................76

2.9.2.9 Poliformismo por Sobrecarga........................................................76

2.9.2.10 Poliformismo por Coerção...........................................................77


2.10 PostgreSQL............................................................................................................77
2.10.1 Características...........................................................................................77
2.10.2 Histórico.........................................................................................78
2.10.3 Desenvolvimento do Projeto.........................................................79
2.10.4 Estruturas de Decisão..................................................................80
2.10.5 Estado Atual...................................................................................80
2.11 HTML.....................................................................................................................81
2.11.1 História.......................................................................................................81
2.11.2 Etiquetas.....................................................................................................82
2.11.3 Edição de documentos HTML.................................................................83
2.11.4 Estrutura básica de um documento.........................................................83
2.11.5 Cabeçalho...................................................................................................84
2.11.6 Corpo..........................................................................................................85
2.11.7 Hiperligações.............................................................................................86
2.11.8 Caracteres especiais e símbolos................................................................86
2.12 Linguagem C..........................................................................................................86
2.12.1 História.......................................................................................................87
2.12.2 K&R C........................................................................................................87
2.12.3 ANSI C e ISO C.........................................................................................88
2.12.4 C99..............................................................................................................89
2.12.5 C1X.............................................................................................................90
2.12.6 Visão geral..................................................................................................90
2.12.7 Relações com C++.....................................................................................93
3. PROJETO FINAL......................................................................................................94
3.1. Objetivo do projeto.........................................................................................94

XIII
3.2. Descrição do projeto.......................................................................................94

3.3. Material do projeto.........................................................................................95

3.3.1 Hardware e Software...........................................................................95

3.3.2 Piscina...................................................................................................95

3.3.3 Placa de Controle.................................................................................96

3.4. Topologia de rede...........................................................................................96

3.5. Protocolos de Rede..........................................................................................97

3.6 Sistema Operacional.......................................................................................97

3.7 Servidor Web..................................................................................................97

3.8 Banco de Dados ..............................................................................................97

3.9 Softwares..........................................................................................................97

3.10 Hardware........................................................................................................98

3.11 Processos da piscina.......................................................................................99

3.11.1 Layout e Instalação Hidráulica.........................................................99

3.11.2 Processo de Enchimento....................................................................99

3.11.3 Processo de Filtragem......................................................................100

3.11.4 Processo de Aspiração......................................................................100

3.11.5 Processo de Retro lavagem..............................................................101

3.12 Telas de Interação........................................................................................102

3.12.1 Pagina Login e Senha.......................................................................102

3.12.2 Pagina de Comando da Piscina........................................................103

4. CONCLUSÃO...........................................................................................................103

5. ANEXOS...................................................................................................................104

Anexo 1 – Programa PiscinaAut.exe...................................................................105

Anexo 2 – Programa do Banco de Dados............................................................107

Anexo 3 – Programa de Controle da Porta Paralela..........................................112

XIV
Anexo 4 – Esquema Elétrico da Placa Controle.................................................114

6. REFERÊNCIAS BIBLIOGRÁFICAS............................................................................115

XV
1 INTRODUÇÃO

1.1 Considerações iniciais

A comunicação hoje é, sem dúvida, uma das grandes necessidades do ser humano
desde o inicio de sua existência. As civilizações ao redor do mundo ocuparam áreas
geograficamente cada vez mais distantes, desta forma a necessidade de uma comunicação
que cobrisse longas distâncias era um desafio efetivo. No passado, formas rudimentares de
comunicação foram utilizadas por nossos antepassados com a finalidade de encurtar as
distancias geográficas. Em 1838, Samuel F. B. Morse estabeleceu uma nova etapa nas
comunicações através de seu invento, o telegrafo 1*. A comunicação evoluiu desde então,
surgiram o telefone, o radio, a televisão, e mais recentemente, as redes de computadores
(Ethernet, Intranet e Internet). A utilização de satélites permitiu atingir cada ponto do
planeta.

Com o avanço das comunicações foram desenvolvidos diversos equipamentos


para armazenamento e processamento de informação, culminando com a chegada dos
computadores em 1950.

Em 1960, terminais interligados a uma unidade central de processamento (time-


sharing), estabeleceram a união das tecnologias de armazenamento, processamento e
comunicação. Na década de 70 surgiram os mini e micro computadores, facilitando o uso
e acesso dos usuários aos sistemas de computação. A necessidade de troca de informação e
compartilhamento de programas, dados e periféricos (unidades de armazenamento,
impressoras, etc.) levou a interligação dos computadores em rede.

Uma rede de computadores baseia-se na interligação de módulos processadores


com capacidade de compartilhamento de recursos e troca de dados, realizados por um
sistema de comunicação, o qual e estabelecido por uma topologia (interligação dos
módulos processadores através de enlaces físicos – meios de transmissão) e um conjunto
de regras (protocolos) com o intuito de criar a organização da comunicação.

* Código Morse – um gerador de pulsos elétricos manipulados por um operador transmitia as mensagens utilizando com meios de

transmissão fios elétricos sustentados por postes.

1
As redes de computadores onde os módulos de processamento encontram-se
distantes entre si de alguns poucos metros são chamadas de confinadas, as redes cujas
distâncias encontram-se entre alguns metros e poucos quilômetros são ditas redes locais
(Local Área Networks – LANs), compreendendo hoje, distância entre 100m e 25Km. As

Redes Locais operam hoje com velocidade de 10 ou 100Mbps. Redes que cobrem
áreas que ultrapassam os limites de cidades são ditas Redes Metropolitanas ( Metropolitan
Area Networks – MANs) e, finalmente, as redes que cobrem distâncias maiores do que as
interurbanas são chamadas de Redes Geograficamente Distribuídas (Wide Area Networks
– WANs), utilizando em seus enlaces microondas e satélites.

A ligação dos computadores em rede permitiu assim uma maior eficiência dos
sistemas computacionais. As redes de computadores, hoje largamente utilizadas por
empresa e universidades (Ethernet e Intranet), alem de usuários pessoais, estabeleceram
uma forma de comunicação e compartilhamento de informação que integraram o
mundo (Internet), permitindo aos usuários fazer consultas e pesquisas, reuniões e
negócios, acesso a serviços corporativos bancários, compra e venda de produtos e
serviços, automação industrial e residencial, etc.

1.2. Justificativa

A automação hoje e completamente dependente da comunicação. Sem


comunicação não existe automação. Por isso, o valor agregado sobre o estudo da
comunicação e visto como de extrema necessidade para o Engenheiro de Controle e
Automação. Segue abaixo algumas justificativas para a escolha do tema:

- Redução de custo de fios, painéis, manutenção, etc;

- Redução da Poluição visual (Redes Wireless);

- Mercado pouco explorado no Brasil;

- Mercado promissor para o profissional de automação;

- Falta de profissionais especializados na área;

- Controle e monitoramento de equipamentos a qualquer distância;

- Agilidade, segurança e confiabilidade na troca de dados;

2
- Repassar experiência prática adquirida para futuros formando da área de
automação; dentre outras.

1.3. Relevância

Este projeto tem o objetivo de integrar processos de pequeno porte com baixo
custo, demonstrando uma nova opção de automação para os dias de hoje.

1.4. Problemas de pesquisa

É possível estabelecer diversas formas de disponibilizar informações em um


processo, porém em uma indústria com vários processos diferentes, com uma gama de
informações isoladas em cada processo, por que não reuni-las, e manipuladas via
internet, onde todas as informações de cada processo estejam disponíveis ou se
integrando. Tal integração e possível através da implantação de uma rede ou varias,
onde todas as informações necessárias para a compreensão de cada processo ou para
agregar os outros processos, serão disponibilizadas nesta rede como segurança,
velocidade, tipos de processo e equipamentos utilizados, são fundamentais para o
sucesso desta integração.

A abordagem de regras e critérios apresentados neste projeto e relevante a vários


tipos de processo e aplicações, porém com a evolução tecnológica vão se aperfeiçoando e
ampliando ainda mais a sua aplicação.

1.5.Objeto de estudo

A utilização de redes de comunicação via internet é atualmente um recurso


largamente aproveitado para a otimização de diversos processos com garantia e qualidade.
Isto viabiliza a rapidez, eficácia e o controle supervisionado à distância com grande
confiabilidade.

Visando aplicar os conceitos de interação Web foi desenvolvido um interface


entre o sistema computacional (computador pessoal, sistema operacional Linux, banco de
dados PostgreSQL como um servidor de integração e programas desenvolvidos em C, PHP
e HTML), e o sistema de controle via porta paralela (placa integradora e sistema
hidráulico).

3
2. PRINCÍPIOS BÁSICOS DO PROJETO

2.1. Rede

2.1.1. O que é uma rede?

Simplificando ao extremo, uma rede nada mais é do que um conjunto de


máquinas que se comunicam. Estas máquinas podem ser computadores, impressoras,
telefones, aparelhos de fax, etc. Se interligarmos dois computadores de modo que eles
possam se comunicar e trocar dados temos uma rede de dois computadores, uma espécie
de nano internet.

Para fazer com que máquinas se comuniquem é necessário:

 Interligar fisicamente as máquinas,

 "Regular" as máquinas

 Fazer com que "falem" a mesma linguagem usando a mesma "gramática".

Se você tem um computador e uma impressora e as duas máquinas podem se


comunicar, então você pode dizer que tem uma rede - simples, mas é uma rede. Se seu
computador está conectado à Internet, então você faz parte da grande rede porque sua
máquina pode se comunicar com uma infinidade de outras máquinas.

Os meios físicos utilizados para interligar máquinas podem ser simples fios de
cobre, fibras óticas ou sofisticados meios de comunicação através de ondas
eletromagnéticas em diversas faixas de frequência (rádio, microondas, bluetooth, wi-fi,
etc.) que dispensam fios ou cabos. Independentemente do meio utilizado, o que realmente
importa é que as máquinas possuam um canal de comunicação.

Máquinas conectadas precisam de "regulagens" para que trabalhem da forma


desejada. Seus componentes - como botões, conectores, placas de circuito integrado, etc. -
precisam ser conhecidos e configuráveis. Por exemplo, um botão liga/desliga não pode
fazer outra coisa a não ser ligar e desligar alguma coisa - e nós precisamos saber onde o
botão se encontra, como funciona e para que serve. Uma saída serial pode fornecer uma
porta de comunicação e o que precisamos saber é onde a placa se encontra, como funciona
e para que serve. Conhecendo os componentes, podemos "regulá-los" ou configurá-los
para que funcionem de acordo com a necessidade.

4
A "linguagem de comunicação" das máquinas é constituída por sinais,
comparáveis ao Código Morse utilizado na telegrafia. Para que máquinas interligadas
numa rede se entendam, um determinado sinal precisa ter sempre o mesmo significado.
Por exemplo, o sinal "liga" precisa ser inequívoco, o sinal "desliga" só pode significar
desligar, ou seja, o mesmo sinal não pode ter dois ou mais significados. Este conjunto de
sinais conhecidos e padronizados é o chamado código de comunicação, uma espécie de
alfabeto. A forma de transmitir os códigos deste "alfabeto", também padronizada, é o
protocolo de comunicação. Mantendo a analogia com o alfabeto, o protocolo é que
determina se a informação será transmitida letra por letra ou em grupos de letras. Nas
comunicações digitais, onde as "letras" são os bits, é o protocolo que determina se a
transmissão é feita bit a bit ou em blocos de bits.

2.2. Tipos de Ligação (Meio Físico)

2.2.1. Ligação ponto - ponto

Nesta rede, o computador central é conectado a um equipamento de comunicação


de entrada e saída por uma única linha. Sempre que algum deles tiver algo a transmitir a
linha estará livre, já que não há compartilhamento com outro ECD.

Nesta modalidade de ligação, o hardware conectado ao computador é o mais


simples possível e o software de atendimento não precisa ser muito sofisticado.

Fig. 2.2.1 – Ligação Ponto-a-Ponto

2.2.2. Ligação multiponto

Nesta modalidade de ligação existe sempre uma estação mestre que coordena o
tráfico de dados das demais estações chamadas escravas. Este controle é feito através de
uma rotina de atendimento denominada "POLL-SELECT". Estas redes podem permitir
que estações escravas se comuniquem entre si diretamente ou apenas através da estação
mestre. A diferença entre estes dois modos de envio de mensagens é a complexidade do
controle. São muito utilizadas em LANs com barramento sem Hub.

5
Fig. 2.2.2 – Ligação Multiponto

2.2.3. Estruturas mistas

As Estruturas Mistas são tipos de redes que utilizam características dos dois tipos
básicos de redes, a ligação ponto-a-ponto e multiponto, para obter redes mais complexas e
com maiores recursos. As estruturas mistas podem ser do tipo Estrela, Barra, Hierárquica,
Anel e Distribuídas.

2.2.3.1. Topologia estrela

As redes em estrela, que são as mais comuns hoje em dia, utilizam cabos de par
trançado e um hub como ponto central da rede. O hub se encarrega de retransmitir todos
os dados para todas as estações, mas com a vantagem de tornar mais fácil a localização
dos problemas, já que se um dos cabos, uma das portas do hub ou uma das placas de rede
estiver com problemas, apenas o PC ligado ao componente defeituoso ficará fora da rede,
ao contrário do que ocorre nas redes 10Base2, onde um mal contato em qualquer um dos
conectores derruba a rede inteira.

Claro que esta topologia se aplica apenas a pequenas redes, já que os hubs
costumam ter apenas 8 ou 16 portas. Em redes maiores é utilizada a topologia de árvore,
onde temos vários hubs interligados entre si por switches ou roteadores. Em inglês é usado
também o termo Star Bus, ou estrela em barramento, já que a topologia mistura
características das topologias de estrela e barramento.

Fig. 2.2.3.1 – Topologia Estrela

6
2.2.3.2. Topologia em barras

Na topologia em barra (barramento) pode ser empregada a comunicação com


caminhos bidirecionais. Todos os nós são conectados diretamente na barra de transporte,
sendo que o sinal gerado por uma estação propaga-se ao longo da barra em todas as
direções. Cada no do computador atende por um endereço na barra de transporte
(normalmente cabos coaxiais), portanto, quando uma estação conectada no barramento
reconhece o endereço de uma mensagem, esta a aceita imediatamente, caso contrário, a
despreza. Tem como característica típica, a possibilidade de todas as estações escutarem o
meio de transmissão simultaneamente. O princípio de funcionamento é bem simples: - se
uma estação deseja transmitir, ela verifica se o meio está ocupado. - se estiver
desocupado, a estação inicia sua transmissão. - se apenas aquela estação desejava
transmitir, a transmissão ocorre sem problemas. O problema esta no fato de que se há um
ponto danificado no barramento, toda a rede e prejudicada.

Fig. 2.2.3.2 – Topologia em Barra

2.2.3.3. Topologia hierárquica ou árvore

A topologia em árvore é essencialmente uma série de barras interconectadas.


Geralmente existe uma barra central onde outros ramos menores se conectam. Esta ligação
é realizada através de derivadores e as conexões das estações realizadas do mesmo modo
que no sistema de barra padrão. Cuidados adicionais devem ser tomados nas redes em
árvores, pois cada ramificação significa que o sinal deverá se propagar por dois caminhos
diferentes. A menos que estes caminhos estejam perfeitamente casados, os sinais terão
velocidades de propagação diferentes e refletirão os sinais de diferente maneiras. Em
geral, redes em árvore, vão trabalhar com taxa de transmissão menores do que as redes em
barra comum.

7
Fig. 2.2.3.3 – Topologia Hierárquica ou Arvore

2.2.3.4. Topologia em anel

Na topologia em anel os dispositivos são conectados em série, formando um


circuito fechado (anel). Os dados são transmitidos unidirecionalmente de nó em nó até
atingir o seu destino. Uma mensagem enviada por uma estação passa por outras estações,
através das retransmissões, até ser retirada pela estação destino ou pela estação fonte.
Características: - Dados circulam de forma unidirecional. - Os sinais sofrem menos
distorção e atenuação no enlace entre as estações, pois há um repetidor em cada estação. -
Há um atraso de um ou mais bits em cada estação para processamento de dados. - Há uma
queda na confiabilidade para um grande número de estações. - A cada estação inserida, há
um aumento de retardo na rede. - É possível usar anéis múltiplos para aumentar a
confiabilidade e o desempenho.

Fig. 2.2.3.4 – Topologia em Anel

8
2.2.3.5. Topologia distribuída

Nesta topologia temos vários pontos de concentração, cada um com seu próprio
conjunto de terminais. As ligações só são estabelecidas entre estes pontos de
concentração, o que diminui consideravelmente o custo das linhas. Só estas linhas
precisarão ter uma capacidade muito maior de transmissão para poder atender às
requisições de comunicação exigidas pelos seus terminais.

Em caso de falha de linhas entre pontos centralizadores, as transmissões não


serão interrompidas, é comum a conexão destes centros a mais de outro centro. Nesta
rede, denominada completamente conectada, é muito baixa a probabilidade de
estrangulamento nos horários de pico de tráfego e sua confiabilidade é muito maior. O
problema é o altíssimo custo das linhas.

Figura 2.2.3.5– Topologia Distribuída

2.2.3.6. Topologia totalmente conectada

Fig. 2.2.3.6 - Topologia Totalmente Conectada

9
Neste tipo de topologia todas as estações são interligadas duas a duas através de
um meio físico dedicado. Apesar do alto grau de paralelismo deste tipo de topologia, esta
se torna inviável economicamente principalmente em redes com grande numero de
estações fisicamente dispersas entre si, estatisticamente o custo referente a instalação
cresce com o quadrado do numero de estações a serem instaladas.

Nesta rede, denominada completamente conectada, a probabilidade de


estrangulamento nos horários de pico de tráfego é muito baixa e sua confiabilidade é
muito maior. O problema é o altíssimo custo das linhas. Todos os enlaces (conexões entre
as estações) são full-duplex.

2.2.3.7. Topologia parcialmente conectada ou em garfo

Fig. 2.2.3.7 - Topologia Parcialmente Conectada ou em Garfo

Neste tipo de topologia nem todas as estações estão fisicamente ligadas por
caminhos dedicados como na ligação totalmente conectada, porém neste tipo de ligação
existem caminhos alternativos que podem vir a serem utilizados em caso de
congestionamento ou falhas em determinadas rotas.

As mensagens trocadas entre estações que não tem ligação física dedicada podem
passar por vários nós da rede ate chegar ao seu destino.

A comunicação entre dois nos pode ser feita através de chaveamento de circuito
ou de pacotes.

10
Chaveamento de Pacotes - Neste tipo de gerenciamento, pacotes são enviados do
nodo fonte para o nodo central que o retransmite para o nodo destino no momento
apropriado.

Chaveamento de circuitos - Neste tipo de gerenciamento, o nodo central, baseado


em informações recebidas, estabelece uma conexão elétrica, ou realizada por software,
entre o nó fonte e o nó destino, conexão esta que existirá durante toda a conversação. Se a
conexão entre duas estações já existir, não será possível estabelecer outra.

2.3. Meio de transmissão

Tab. 2.3 – Tabela de Indicação do tipo de Transmissão para cada tipo de Estrutura
Mista

Certas topologias estão relacionadas a unidirecionalidade ou bidirecionalidade do


meio de transmissão, fora esse fator, podemos em teoria empregar determinado meio de
transmissão a qualquer topologia.

A topologia em Barras pode empregar o par trançado, o cabo de 75 Ohm e de 50


Ohms como meio de transmissão porém ainda não é vantajoso a aplicação com fibra ótica
em multiponto, embora tenhamos várias linhas de pesquisa estudando esta possibilidade.

A topologia em Arvore exige unidirecionalidade o que nos leva a usar cabos


coaxiais de 75 Ohms ou fibras óticas, porem esta ultima é descartada pela necessidade de
ligação em multiponto.

A topologia em estrela só é viável hoje em dia para taxas de transmissão baixas o


que nos leva a utilizar o par trançado como meio de transmissão.

A topologia em anel pode utilizar o par trançado o cabo coaxial de 50 Ohm ou ate
a fibra ótica sendo descartado cabo de 75 Ohms em função das perdas causadas pela
impedância mais alta do cabo e a utilização de mais repetidores o que encareceria os
custos.

11
2.4. Comunicação wireless (sem fio)

Comunicação Wireless se refere a comunicação sem cabos ou fios e usa ondas


eletromagnéticas como meio de propagação para estabelecer a comunicação entre dois
pontos ou dispositivos. O termo é empregado normalmente na indústria de
telecomunicações para definir sistemas de comunicação a distância (por exemplo,
transmissores e receptores de rádio, controles remotos, redes de computadores etc) que
utilizam alguma forma de, laser, ondas sonoras etc) para transmitir energia
eletromagnética (ondas de rádio, luz infravermelha informação sem o uso de fios.

Fig. 2.5 – Exemplo de uma rede Wireless.

2.5. Padrão de comunicação

Um protocolo de comunicação é um conjunto de regras e convenções necessárias


para a comunicação entre computadores.

Funciona como um contrato que cada um dos computadores comunicantes tem


que cumprir.

2.5.1. Padrão de comunicação serial RS-232

O RS-232 é um padrão desenvolvido pela Associação das indústrias Eletrônicas


(Electronic Industries Association - EIA) e ITU V.24/V28, partes interessadas em
especificar a interface serial entre equipamentos de terminal de dados (Data Terminal
Equipment - DTE) e equipamentos de comunicação de dados (Data Communications
Equipment - DCE). O padrão RS-232 inclui características do sinal elétrico (níveis de

12
tensão), características de interface mecânica (conectores), descrição funcional de
circuitos interligados (a função de cada sinal elétrico) e alguns tipos comuns de conexões
terminal para modem. A revisão mais freqüentemente encontrada nesse padrão é chamada
RS-232C. Partes desse padrão têm sido adotadas (com vários graus de fidelidade) para
usar em comunicações seriais entre computadores e impressoras, modems e outros
equipamentos. As portas seriais do padrão IBM- PC seguem a RS-232C.

Fig. 2.5.1. – Comunicação Serial RS-232.

2.5.1.1. Características gerais do RS-232 são:

- Sinais: A RS232 possui sinais de comunicação sendo o TX aquele que envia e o


RX o que recebe. O nível do diferencial binário é comparado com a tensão do terceiro
sinal GND. Há outros sinais que podem ser utilizados para controle do fluxo e dos pontos
da comunicação.

- Número máximo de equipamentos: são 2 em uma conexão ponto a ponto.

- Distância Máxima: Ate 50 metros para pontos energizados

Dispositivos que usam cabos serial para sua comunicação são divididos em duas
categorias: Equipamentos de comunicação de dados (Data Communications Equipment -
DCE) e Equipamentos de dados terminal (Data Terminal Equipment - DTE). DCE são
dispositivos como modems, plotter, etc., enquanto DTE são computadores ou terminais. A
porta serial RS-232 vem em geral com conectores tipo Delta com 25 pinos (DB-25) e tipo
Delta 9 pinos (DB-9). Ambos os conectores são machos no computador, assim, é preciso
um conector fêmea no dispositivo.

O protocolo de comunicação RS-232 vem sendo, gradualmente, suprimido pelo


USB para comunicação local. O protocolo USB é mais rápido, possui conectores mais
simples de usar e tem um melhor suporte por software. Por isso muitas placas-mãe,

13
destinadas ao uso em escritórios ditas "livre de legados" (legacy-free) são produzidas sem
circuitos RS-232. Mesmo assim, esse protocolo continua sendo utilizado em periféricos
para pontos de venda (caixas registradoras, leitores de códigos de barra ou fita magnética)
e para a área industrial (dispositivos de controle remoto). Por essa razões, computadores
para estes fins continuam sendo produzidos com portas RS-232, tanto on-board ou em
placas para barramentos PCI ou barramento ISA. Como alternativa, existem adaptadores
para portas USB, que podem ser utilizados para conectar teclados ou mouses PS/2, uma ou
mais portas seriais e uma ou mais portas paralelas.

2.5.2. Padrão comunicação serial RS-422

Define uma interface balanceada, mas não define um conector físico. Fabricantes
que aderiram a este padrão usam muitos conectores diferentes, incluindo os terminais de
parafusos, DB9, DB25 com pinagem não padronizada, DB25 com padrão RS-530 e DB37
com padrão RS-449. O RS-422 é comumente usado em comunicações ponto a ponto
realizadas por um driver dual-state. As transmissões podem ir a grandes distâncias e altas
velocidades.

Fig. 2.5.2 – Comunicação Serial RS-422

2.5.2.1 As características gerais do RS-422 são:

- Sinais: A RS422 possui sinais de comunicação TX+, RX+, TX- e RX-, sendo o
TX aquele que envia e RX o que recebe. O modo de transmissão é por diferencial
elétrico. Pode utilizar outros sinais para controle.

- Número máximo de equipamentos: 10 em uma conexão de barramento único.

- Distância Máxima: Até 1200 metros para o último ponto.

14
2.5.3. Padrão comunicação serial RS-485

RS-485 é semelhante ao RS-422, exceto pelo fato dos drivers associados serem
tri-state e não dual-state. Pode ser utilizado em aplicações multiponto em que um
computador controla muitos dispositivos diferentes. Até 64 dispositivos podem ser
conectados com o RS-485.

Fig. 2.5.3. Comunicação Serial RS-485

2.5.3.1. Características gerais do RS-485 são:

- Sinais: A RS485 possui sinais de comunicação TX+/RX-, TX-/ RX+, sendo o


TX aquele que envia e o RX o que recebe. O modo de transmissão é por diferencial
elétrico. Pode utilizar outros sinais para controle.

- Número máximo de equipamentos: 32 em uma conexão de barramento único.

- Distância Máxima.: Até 1200 metros para o último ponto.

2.5.4. Padrão ethernet

Ethernet é um protocolo padrão que permite que qualquer número de


computadores comunique-se entre si. Uma maneira muito simples de conectar
computadores é através de cabos de Ethernet, ou cabos de "Categoria 5". O protocolo
Ethernet é também usado quando computadores se comunicam sem fios. Similar à linha de
telefone, cabos Ethernet podem ter de quatro a oito fios, o dobro dos utilizados em uma
linha telefônica.

Um cabo Ethernet é usualmente um pouco mais grosso que um fio telefônico, e a


tomada parece com uma tomada telefônica aumentada. Mesmo uma rede caseira de baixo
custo alcança velocidades bastante altas, normalmente 10 ou 100 Mbps. É 200-2.000

15
vezes mais rápido que uma conexão discada a 56K! Você pode até mesmo configurar sua
rede para o dobro da velocidade ("full duplex") se você precisa transmitir áudio ou vídeo
através de sua rede. Provedores de Serviço de Internet (ISPs) podem configurar suas redes
em até 1000 Mbps (Um gigabit de tráfego por segundo).

O padrão Ethernet é o que permite estas máquinas conversarem umas com as


outras. Cada computador (ou impressora ou outro dispositivo) na rede tem um endereço IP
único.

2.5.4.1. Endereço de IP

IP (Protocolo de Internet), é uma forma padrão para que computadores


comuniquem-se. Geralmente, cada computador tem seu próprio número único na rede.
Quando dois computadores se comunicam, estes usam endereços IP para localizar um ao
outro. Um endereço IP é composto de 4 números entre 0 e 255, cada um separado por um
ponto. Por exemplo: 192.168.123.254. Mesmo se um computador tem um "nome" na rede
(para facilitar que você lembre-se dele), ainda assim utiliza um endereço IP para se
comunicar com outras máquinas.

Em pequenas redes ou sub-redes, mensagens de um computador a outro são emitidas,


e todas as máquinas na rede podem "ouvir" a mensagem. A máquina a qual é o receptor
desejado da mensagem responde, e as duas máquinas transmitem dados uma para a outra.

2.6 Porta Paralela

A porta paralela é uma interface de comunicação entre um computador e um


periférico. Quando a IBM criou seu primeiro PC ("Personal Computer" ou "Computador
Pessoal"), a idéia era conectar a essa porta a uma impressora, mas atualmente, são vários os
periféricos que se podem utilizar desta conexão para enviar e receber dados para o
computador (exemplos: scanners, câmeras de vídeo, unidade de disco removível entre outros).

16
A partir do sistema operacional Windows 95 tornou-se possivel efetuar comunicação
entre dois computadores através da porta paralela, usando um programa nativo chamado
"comunicação direta via cabo". Esta rede é muito simples de ser implementada, bastando
apenas a utilização de um cabo DB25, conectado entre os dois computadores. É, no entanto,
necessária uma configuração específica nos cabos para que a rede possa funcionar
corretamente.

2.6.1 O que e interface Paralela

Quando iniciamos o estudo da informática aprendemos que o computador possui


saídas e entradas. A Porta Paralela nada mais é do que um dispositivo de entrada e saída
paralelo.
Oras, mas o que é paralelo?

Há duas formas de se transmitir dados. Uma delas é a forma serial. Serial, como o
cognato indica, é transmitir em série, ou seja, um bit após o outro. Transmitir de forma
paralela é transmitir vários bits ao mesmo tempo. Em uma primeira impressão, a transmissão
paralela pode parecer a mais apropriada. Porém, devemos lembrar do conceito de
multiplexação.

Tal conceito, que no momento não precisa ser estudado a fundo, se baseia no fato de
comutar vários bits de forma tão rápida que eles são transmitidos por um único fio, ou seja, de
forma serial. Para quem tem raciocínio rápido, fica fácil compreender: pela forma serial a
limitação de bits é dada pela velocidade com que transmissor e receptor se chaveiam,
enquanto que na paralela, a limitação é física e dada pelo número de fios.

A transmissão em paralelo, ao contrário da transmissão em série, precisa de vários


fios para transportar a informação. Esta informação pode ser enviada em palavras de 4, 8, 16,
32 ou 64 bits simultaneamente ao receptor por várias vias, entre as quais pinos, fios ou outros
meios físicos.

Neste tipo de transmissão, a grande vantagem é a sua velocidade de transmissão. Em


vez de enviar bit a bit os dados, transmite-se uma quantidade de bits ao mesmo tempo. No
entanto, esta é apenas melhor quanto mais perto estiver do receptor, visto que o grande
inimigo da transmissão em paralelo é o ruído. Dito por outras palavras, quanto menor a

17
distância maior a taxa de transferência de bits, o que não acontece na comunicação em série
que é ideal para longas distâncias.

Desta forma, a utilização da transmissão em paralelo é melhor aplicável na


transmissão interna de dados de um computador através do respectivo barramento, entre CPU
e memória RAM ou então na transmissão entre computador e periféricos (a uma distância de
até, aproximadamente, 6m). É o que de facto, acontece na comunicação de todos os circuitos
internos de um computador.

Como já referido, a velocidade da transmissão é a melhor característica da


transmissão em paralelo. Depende da frequência do clock, que corresponde à quantidade de
ciclos por segundo. Como em cada ciclo do clock é possível transmitir um dado, aumentando
a sua frequência do clock aumenta-se a velocidade de transmissão de dados. Para além do
clock, a velocidade de transmissão depende também da quantidade de bits que são
transmitidos por vez. Uma transmissão onde são transferidos 64 bits por vez será sempre mais
rápido do que 32 bits por vez, caso seja a mesma frequência de clock. Para comparar a
velocidade de transmissão em diferentes sistemas que usam diferentes quantidades de bits, a
velocidade de transmissão em paralelo foi padronizado em bytes por segundo (B/s). A porta
paralela padrão é capaz de enviar de 50 a 100 KB/s.

A figura mostra a diferença que existe entre a transmissão em série com a


transmissão em paralelo.

18
2.6.2 Aplicação da Porta Paralela

A porta paralela, por não possuir uma alta velocidade de transmissão, tem,
atualmente, sua aplicação limitada a impressoras e scanners. Atualmente, em caso de
transmissões rápidas, se utiliza a interface USB (Universal Serial Bus), que atinge taxas de
transmissão bem maiores. Na Eletrônica, a porta paralela pode servir para controlar qualquer
tipo de processo. Pode, por exemplo, fazer a interface entre o PC e um sensor. O sensor, ao ser
acionado, mandaria tal informação para a porta paralela e o PC procederia ao disparo de
sirenes, conectadas as saídas da porta paralela. Devemos lembrar que a corrente de saída da
porta paralela não é alta, sendo suficiente para, no máximo, acender LEDs. Para circuitos que
necessitem de maior potência, devemos utilizar buffers ou amplificadores de correntes
transistorizados.

2.6.3 Tipos de Transmissão da Porta Paralela

Transmissão unidirecional : A porta paralela SPP (Standard Parallel Port) pode


chegar a uma taxa de transmissão de dados a 150KB/s. Comunica-se com a CPU utilizando
um BUS de dados de 8 bits. Para a transmissão de dados entre periféricos são usado 4 bits por
vez.

Transmissão bidirecional : A porta avançada EPP ( Enhanced Parallel Port ) chega a


atingir uma taxa de transferência de 2 MB/s. Para atingir essa velocidade, será necessário um
cabo especial.Comunica-se com a CPU utilizando um BUS de dados de 32 bits.
Para a transmissão de dados entre periféricos são usado 8 bits por vez.

A porta avançada ECP (Enhanced Capabilities Port) tem as mesmas características


que a EPP, porém, utiliza DMA (acesso direto à memória), sem a necessidade do uso do
processador, para a transferência de dados. Utiliza também um buffer FIFO de 16 bytes.

2.6.4 O Conector DB-25

A IBM foi uma das primeiras empresas a desenvolver a porta paralela como uma
maneira de ligar a impressora ao computador. Na altura da criação do seu computador, a
empresa queria que as impressoras produzidas pela Centronics, uma fabricante de primeira
linha de impressoras na época, fossem as impressoras padrão usadas nos seus computadores.

19
No entanto, a IBM resolveu não usar no computador a mesma interface de portas que a
Centronics usava nas suas impressoras.

Daí, os engenheiros da IBM uniram um conector de 25 pinos, chamado DB-25, a um


conector Centronics de 36 pinos para criar um cabo especial para ligar essa respectiva
impressora ao computador. Outros fabricantes de impressoras acabaram por adotar a interface
da Centronics, tornando este cabo num cabo universal.

É através deste conector que se estabelece a comunicação da porta paralela com interfaces
conectadas a esta. A ligação externa é efetuada através de um
conector fêmea DB25 no computador e um conector macho
no cabo DB25. Na figura estão apresentados os ditos
conectores (em cima o macho e em baixo o lado fêmea).

Conector DB25 macho do cabo Paralelo


O DB25 é um conector que fica na parte de trás do gabinete do computador, e é
através deste, que o cabo paralelo se conecta ao computador para poder enviar e receber
dados.
A figura abaixo mostra o conector padrão DB25, com 25 pinos, onde cada pino
tem um nome que o identifica:

DB25 que fica atrás do Micro

20
Conector Macho do Cabo Paralelo

Esquema de funcionamento do DB25 no modo SPP

2.6.4.1 Pinagem Conector DB-25

A porta paralela é formada por 17 linhas de comunicação e 8 linhas que se ligam ao


terra.

21
No Conector DB25, cada pino recebe um nome, que está relacionado ao Registrador
que o controla.

1- Os pinos 2 a 9, denominados, da esquerda para a direita, de D0, D1, D2, D3, D4,
D5, D6 e D7 são controlados pelo Registrador de Dados (saída de dados), e a letra D indica
isso. O número que vem após a letra corresponde à posição do pino dentro do Byte.

2- Os pinos 10, 11, 12, 13 e 15, denominados S6 – Ack, S7 – Busy, S5 – Paper End,
S4 – Select Out, S3 – Error, são controlados pelo Registrador de Status (entrada de dados), e a
letra S indica isso. O número que vem após a letra corresponde à posição do pino dentro do
Byte.

3- Os pinos 1, 14, 16 e 17, denominados C0 – Strob, C1 – Auto Feed, C2 – Init e C3


– Select In, são controlados pelo Registrador de Controle da Porta Paralela (controla a
impressora, pode ser usado como outras 4 saídas), e a letra C indica isso. O número que vem
após a letra corresponde à posição do pino dentro do Byte.

4- Os pinos 18 (a 25) são terra (Ground).

Atenção: Existem pinos na Porta Paralela que trabalham com lógica invertida, isso quer dizer
que quando queremos ativar esses pinos temos que enviar um sinal lógico “0” e quando
desejamos desativar, devemos mandar um sinal lógico “1”.

A tabela abaixo apresenta os pinos que trabalham com lógica invertida

Nome I/O Registo-bit Invertido


Pin Nº (DB25)

1 nStrobe Out Controlo-0 Sim

2 Data0 In/Out Data-0 Não

3 Data1 In/Out Data-1 Não

4 Data2 In/Out Data-2 Não

5 Data3 In/Out Data-3 Não

6 Data4 In/Out Data-4 Não

7 Data5 In/Out Data-5 Não

8 Data6 In/Out Data-6 Não

22
9 Data7 In/Out Data-7 Não

10 nAck In Status-6 Não

11 Busy In Status-7 Sim

12 Paper-Out In Status-5 Não

13 Select In Status-4 Não

14 Linefeed Out Controlo-1 Sim

15 nError In Status-3 Não

16 nInitialize Out Controlo-2 Não

17 nSelect-Printer Out Controlo-3 Sim

18-25 Ground - - -

A tabela abaixo apresenta a função de cada

Os pinos de cor azul e verde servem para saída de sinal que é(5v), os de cor laranja
servem para entrada que também é(5v), e os vermelhos servem para fechar o circuito que
recebe um sinal de voltagem negativa.

ATENÇÃO: as cores usadas só serviram para explicação.

23
2.6.5 Endereços da Porta Paralela

O computador nomeia as Portas Paralelas, chamando-as de LPT1, LPT2,


LPT3 etc, mas, a Porta física padrão do computador é a LPT1, e seus endereços
são: 378h ( para enviar um byte de dados pela Porta), 378+1h (para receber um
valor através da Porta) e, 378+2h (para enviar dados). Às vezes pode está
disponível a LPT2, e seus endereços são: 278h, 278+1h e 278+2h, com as mesmas
funções dos endereços da porta LPT1 respectivamente.

Nome da Endereço de
Endereço da Porta Descrição
Porta memória
378
LPT1 0000:0408 888 decimal Endereço base
hexadecimal
278
LPT2 0000:040A 632 decimal Endereço base
hexadecimal

2.6.6 Registradores da Porta Paralela


A Porta Paralela possui três Registradores:
1- Registrador de Dados (Data Lines) – usado para enviar dados através da Porta
Paralela.
2- Registrador de Entrada (Status Lines) – através desse registrador podemos receber
dados do mundo externo.
3- Registrador de Controle (Control Lines) – a princípio tem a função de controlar a
impressora, mas pode ser usado para enviar dados para o mundo externo.
Endereços Endereços
Nome Descrição
LPT1 LPT2
Registro de
378h 278h Envia um byte para a impressora
Dados
Registro de
379h 279h Ler o Status da impressora
Status
Registro de Envia dados de controle para a
37Ah 27Ah
Controle impressora

Cada Registrador tem um endereço único, que não interfere nos demais. São eles:

Registrador de Dados: 888 ou 378h (em Hexadecimal)


Registrador de Status: 889 ou 379h (em Hexadecimal)
Registrador de Controle: 890 ou 37Ah (em Hexadecimal)

24
A porta paralela do computador trabalha com a tecnologia TTL isso significa que
teremos que enviar/receber 0.5v ou 5v (0.5 nível baixo - 5 nível Alto) que será lido por três
tipo de registradores de controle:

378h - Registro de Dados, envia sinal


379h - Registro de Status, lê sinal
37Ah - Registro de Controle, envia sinal

Se construirmos um programa que mande para a porta paralela um numero em


binário, esse numero se relacionará com os pinos S0, S1, S2, S3, S4, S5, S6, S7 (que formarão
um byte(8 posições)), obtendo então, ausência ou presença de energia nos mesmos, por
exemplo: se mandar-mos o numero binário 00101010 para a porta paralela, os pinos S0 à S7
se relacionarão dessa forma:

isso significa que o pino S7 está em nível baixo ou seja com 0.5v, S6 nível baixo
0.5v, S5 nível alto 5v e assim por diante.

2.6.6.1 Circuitos para enviar sinal para a Porta Paralela

Sabemos que os pinos do DB25 S0 à S7 quando em nível alto emitem 5v, então
vamos montar um aparelho eletrônico que receba o sinal emitido pêlos pinos e ligue um
circuito. Antes de começar-mos, temos que criar um software que envie para a paralela os
números em binários. (o software está disponível em http://www.dghp.bem-
vindo.net/tutorial/paralela/paralela.html na área de Download "testaDB25")
O aparelho é formado por fios um Led e um Resistor. Uma das extremidade é conectada em
um dos pinos(S0,S1,S2,S3,S4,S5,S6,S7) a outra nos pinos terra (18,19,20,21,22,23,24,25).
Quando o pino de saída é ativado o Led do aparelho se acende indicando presença de energia.
Através desde principio você pode ampliar o circuito criando mais 7 conjunto de led's e
resistores que iram todos conectados nos pinos (S0 à S7) formando então um verdadeiro jogo
de led's ou até mesmo montar qualquer circuito eletrônico que será startado pelo computador.
Abaixo o esquema do aparelho.

25
2.6.6.2 Circuitos para receber sinal para a Porta Paralela

Como foi mencionado, a porta paralela recebe/envia 0v ou 5v, então o que temos que
fazer é saber quais são os pinos que recebem sinal e qual o registrador que faz a leitura. Se
você voltar algumas paginas será visto que os pinos responsáveis para o recebimento de sinal
são os pinos 10,11,12,13,15 e o registrador que faz a leitura é o 379h. Tendo tudo isso
definido é só criar um circuito e um programa que faça a leitura. Vamos começar pelo
programa(o software está disponível em http://www.dghp.bem-
vindo.net/tutorial/paralela/paralela.html na área de Download "LE-DB25”). Agora vamos
fazer um circuito extremamente simples que envia sinal para dentro do computador. Você irá
precisar de uma pilha pequena e dois fios (que iremos chamar de A e B). Conecte os dois fios
(A e B) no polo negativo da pilha, uma extremidade você coloca no terra do DB25 e a outra
em qualquer pino responsável pelo recebimento de sinal e então execute o programa. Você ira
notar que o programa ira retornar um numero diferente, cada vez que você mudar o fio B de
pino. Com esse principio você pode indicar para o computador pôr exemplo que um alarme
esta ligado.

26
2.7 Introdução ao Tratamento da Piscina

Possuir e cuidar de uma piscina pode custar pouco e consumir menos tempo do que
você imagina.

Para manter uma água limpa, saudável e cristalina, existem fatores essenciais que
precisam ser atendidos, os quais chamados de tratamento físico e tratamento químico.

Ao abordar o tratamento físico, discutiremos assuntos relacionados à limpeza física


com acessórios(aspiração, remoção de sujeiras com peneiras, limpeza das bordas, entre
outros) e à filtração da água.

A correta filtração garante que os produtos químicos adicionados à piscina


funcionem de maneira eficaz.

Ao considerar o fator tratamento químico, falaremos sobre o equilíbrio químico e a


ação dos produtos químicos na água, como a aplicação do cloro (cloração) e a manutenção da
piscina. O equilíbrio químico da água consiste no ajuste da Alcalinidade Total e do pH - é
essencial para a ação eficaz de todos os produtos necessários ao seu tratamento. A cloração
assegura que a piscina fique livre das bactérias, vírus e fungos, entre outros, enquanto que os
demais produtos, como os algicidase os floculantes, servem para eliminar as algas e manter a
água da piscina cristalina, respectivamente.

A prevenção é a melhor solução. É muito importante não abandonar o tratamento,


principalmente no inverno. Tratando a piscina regularmente, você economizará tempo e
dinheiro. A piscina mal tratada é um grande transmissor de doenças como: otite, conjuntivite,
hepatite,herpes, micose, etc.

Vale a pena lembrar que tratar corretamente da piscina é mais do que simplesmente
acrescentar cloro.Com este manual, você verá que é muito fácil manter a água da piscina
saudável e cristalina.

2.7.2 Tratamento Manual

Uma parte importante do tratamento da piscina refere-se ao tratamento físico. Nele


abordaremosassuntos relativos à limpeza da área em volta da piscina, suas bordas, superfície,
bem como a filtraçãoe o sistema da circulação da água.

27
2.7.2 Limpeza Física

O primeiro passo é limpar a área ao redor da piscina. É preciso varrer sempre no


sentido oposto da piscina. Isso evitará que a sujeira caia dentro da água e, conseqüentemente
prejudique seu tratamento.Caso ela esteja coberta com capa, elimine o máximo de água que
ficou acumulada em cima da proteção, bem como toda sujeira que se depositou. Nunca jogue
a sujeira acumulada dentro da piscina.

A seguir, limpe as bordas da piscina usando o Limpa Bordas. Basta coloca-lo em


uma esponja maciae não abrasiva e esfregar as áreas a serem limpas até a remoção da sujeira.
Depois é só enxaguar essas áreas com a própria água da piscina. Não se preocupe com a
sujeira que caiu na água devido a esse procedimento, pois ela será eliminada na filtração.

O Limpa Bordas é biodegradável e possui pH neutro. É importante lembrar que


somente produtos destinados a esse fim devem ser utilizados na limpeza das bordas da
piscina. Quando limpar e quanto de produto usar, vai variar de acordo com a quantidade de
sujeira presente na borda. O ideal é aplicar o Limpa Bordas na esponja, até a mesma ficar
completamente umedecida.

Quando necessário, escove as paredes da piscina com acessórios destinados a esse


fim. Nunca utilizar palha de aço, escovas metálicas e esponjas abrasivas.

2.7.3 Sistema de Circulação

Para podermos entender melhor como funciona uma piscina, demonstraremos


abaixo o sistema da circulação da água.

28
 Pré-filtro: Tem a função de reter a sujeira mais grossa no cesto plástico que está
dentro da peça que o envolve. Devemos evitar a colocação de produtos no cesto do pré-filtro
(com exceção do Auxiliar de Filtração).

 Bocal de Sucção [aspiração]: Local onde a mangueira do aspirador deverá ser


encaixada.

 Motobomba: Tem a função de puxar a água da piscina pelo ralo de fundo ou


pelos bocais de aspiração para o filtro.

 Registros: Peças colocadas nos tubos de PVC que permitem ou não a passagem
de água.

 Visor: Esta é uma peça importante para operação do filtro, pois através do visor
transparenteé possível observar se a função “retrolavar” já está finalizada, já que a água
deverá passar pelo mesmo.

 Coadeira / Skimmer: Este dispositivo tem por função retirar as impurezas


flutuantes da camada superficial da água da piscina, como folhas, insetos, óleos bronzeadores,
etc.

- Não esquecer de limpar o Skimmer (ou coadeira), se houver, e o pré-filtro. Para


piscinas residenciais,o indicado é uma vez por semana.

2.7.4 Funções do Filtro e Manuseio dos Registros

Vamos agora falar a respeito de um processo fundamental para sua piscina, a


filtração da água.

O sistema de filtração limpa a água através da areia que está dentro do filtro, retendo
partículas de sujeira como cabelos, folhas, restos de protetor solar, algas e outras impurezas
que reduzem aação dos produtos químicos. A filtração de 6 a 12 horas pode representar até
50% do tratamento ideal da piscina.

Mantenha o filtro em perfeita ordem e assegure-se que ele fique ligado o tempo
suficiente para filtrartoda água da piscina. Consulte o fabricante do filtro para saber o tempo
exato que ele deve ser mantidoligado. Esse período pode variar de 6 a 12 horas, que é o tempo
necessário para passar todo ovolume da água da piscina pelo sistema de filtração. Vale a pena

29
lembrar que o consumo de energiaelétrica do sistema equivale a cerca de cinco por cento do
consumo mensal de um domicílio. Para suatranqüilidade, recomendamos o uso de um timer.
Assim, você não precisará se preocupar em ligar e desligar o motor do filtro. O timer é um
temporizador automático, em que a programação do motor do filtro é feita de acordo com a
sua conveniência.

Não esqueça de desligar o filtro toda vez que mudar a posição da válvula e de
utilizar somente areia adequada para filtros da piscina.

Para que o manuseio dos registros do sistema de circulação da piscina fique mais
fácil,aconselhamos identificação através da colocação de um adesivo ou placa que identifique
os respectivos registros.

O filtro possui geralmente, 6 funções: filtrar, retrolavar (ou lavar), pré-filtrar (ou
enxaguar),recircular, drenar e fechar (ou livre).

2.7.5 Filtrar

A filtração é tão importante quanto o tratamento químico. Deve ser feita


diariamentejá que representa até 50% do tratamento ideal da piscina. A água passa pela areia
do filtro,é filtrada e devolvida limpa à piscina pelo cano de retorno de água filtrada ou
recirculada.

Colocar a válvula seletora do Filtro na posição: FILTRAR


Abrir Registro  Ralo de fundo

 Aspiração

30
 Skimmer (coadeira) se
houver

 Retorno de água filtrada ou


Recirculada

Fechar Registro  Esgoto

OBS.: A utilização do Auxiliar de Filtração aumenta a performance da areia, retendo


até mesmo as menores partículas de sujeira.

2.7.6 Retrolavar (Lavar).

Esse procedimento visa à retirada de impurezas de areia do filtro e deve ser feito
pelo menos uma vez por mês. A água percorre o caminho contrário à filtração, promovendo a
limpeza da areia. Essa água é descartada no esgoto. Observe o visor transparente no cano do
esgoto, para verificar se água está passando limpa (esta operação deve durar
aproximadamente 3 minutos).Após a retrolavagem, coloque a válvula do filtro na posição Pré-
filtrar (ou Enxaguar) por aproximadamente 1 minuto.

Colocar a válvula seletora do Filtro na posição: RETROLAVAR


(OU LAVAR)

Abrir  Ralo de fundo


Registro
 Aspiração

 Esgoto

31
Fechar  Skimmer (Coadeira) – se houver
Registro
 Retorno de Água filtrada ou Recirculada

OBS.: Se o filtro possuir manômetro, este indicará quando deverá ser feita a
retrolavagem.Após cada retrolavagem, aplique o Auxiliar de Filtração já que o produto é
descartado no esgoto juntamente com a sujeira.

2.7.7 Pré-Filtrar (Enxaguar)

Esta operação é obrigatória após a lavagem da areia do filtro, pois uma pequena
parte da sujeira fica presa nele. Observe o visor transparente para verificar se a água esta
passando limpa (esta operação deve durar aproximadamente 1 minuto).

Colocar a válvula seletora do Filtro na posição: PRÉ-FILTRAR


(ENXAGUAR)

Abrir Registro  Ralo de fundo

 Aspiração

 Esgoto

Fechar Registro  Skimmer (Coadeira) – se


houver

 Retorno de Água Filtrada

32
ou Recirculada

OBS.: Caso seu filtro não possua essa função, coloque a válvula na posição Filtrar
com o retorno fechado e o Registro de Esgoto aberto.

2.7.8. Recircular

Essa função somente deve ser usada no caso da utilização de Sulfato de Alumínio
e/ou tratamento que exija uma redução de pH em filtros feito de ferro, pois isso poderá
provocar corrosão dos mesmos.

33
Colocar a válvula seletora do Filtro na posição: RECIRCULAR

Abrir Registro  Aspiração

 Ralo de fundo

 Skimmer (Coadeira) – se
houver

 Retorno de Água Filtrada


ou Recirculada

Fechar Registro  Esgoto

OBS.: Nesta posição, a água não passa pela areia do filtro.

2.7.9 Drenar

Utilizar essa função somente em casos extremos, tais como: águas


superestabilizadas, reformas na piscina, etc. Esta posição esvaziará parcial ou totalmente a
piscina e a água irá direto para o esgoto, sem passar pela areia do filtro.

Colocar a válvula seletora do Filtro na posição: DRENAR


ABRIR REGISTRO  Ralo de fundo

34
 Esgoto

FECHAR REGISTRO  Aspiração

 Skimmer (Coadeira) – se
houver

 Retorno de Água Filtrada


ou Recirculada

2.7.10 Fechar

Posição utilizada somente para detectar vazamento ou quando a piscina não for
utilizada por um período de tempo muito longo. É necessário também fechar todos os
registros.

Colocar a válvula seletora do Filtro na posição: FECHAR

 Fechar todos os registros

35
2.7.11 Como Utilizar o Aspirador

A aspiração é necessária para a remoção da sujeira depositada no fundo da piscina.


Existem 2 maneiras de aspirar a piscina:

 Aspirar o fundo da piscina na posição Filtrar (aspirar filtrando

Essa operação deve ser realizada quando não existir muita sujeira depositada
no fundo da piscina, pois a sujeira é aspirada e fica retida na areia do filtro. Neste caso,
a água volta limpa pelo bocal de retorno.

Colocar a válvula seletora do Filtro na posição: FILTRAR

Abrir registro  Aspiração

 Retorno de Água Filtrada


ou Recirculada

Fechar registro  Ralo de fundo

 Skimmer (Coadeira) – se
houver

 Esgoto

OBS.: Pode-se também usar um aspirador automático com timer. Nesse caso, regule
os registros (ralo de fundo e coadeira – se houver).

 Aspirar o fundo da piscina na posição Drenar (aspirar drenando)

Esse tipo de aspiração deve ser realizado quando houver grande quantidade de
sujeira no fundo da piscina. A sujeira aspirada não passa pela areia do filtro; é enviada direto
para o esgoto.

36
Colocar a válvula seletora do Filtro na posição: DRENAR

Abrir Registro  Aspiração

 Esgoto

Fechar Registro  Ralo de fundo

 Skimmer (Coadeira) – se
houver

 Retorno de Água Filtrada


ou Recirculada

OBS.: Se o aspirador “grudar” no fundo, abra um pouco o registro do ralo de


fundo.Reponha a água perdida depois desse processo.Perguntas mais

2.7.12 Freqüentes sobre o Filtro

 Como posso melhorar a performance da areia do filtro?

Utilizando Auxiliar de Filtração que aumenta a performance do filtro, retendo até


mesmo as menores partículas na areia. Após a operação retrolavar (lavar) e enxaguar (pré-
filtro), coloque a válvula do filtro na posição filtrar; somente deixe aberto o registro de
aspiração e retorno. Adicione o produto próximo ao bocal de aspiração; deixe filtrando
durante 5 minutos para que o auxiliar de filtração chegue mais rápido na areia. Logo após este
processo, o registro de ralo de fundo deverá ser aberto. Depois, é só deixar filtrando por 6 a
12 horas, ou de acordo com as instruções do fabricante do filtro.

OBS.: A cada operação de retrolavagem o produto deverá ser reposto, pois o mesmo
é descartado juntamente com a sujeira.

 Quando devo trocar a areia do filtro?

O nível e a qualidade da areia do filtro devem ser verificados a cada 12 meses. A


qualidade da areia influidiretamente sobre a qualidade da água. Os fabricantes em geral
recomendam a troca a cada 24 meses.

 Estou percebendo, freqüentemente, areia no fundo da piscina.

37
Caso isso ocorra, contate um técnico especializado, pois o filtro pode estar com
problemas.

 Quando devo efetuar a retrolavagem?

Uma vez por mês ou quando o manômetro (reloginho) acusar necessidade.

 Para que serve o Pré-filtro?

O Pré-Filtro serve para reter as sujeiras mais grossas (folhas, insetos, etc)
impedindo, assim,a passagem dessas sujeiras para o cabeçote ou para a areia do filtro. Ele está
localizado antes da bomba. É importante mantê-lo sempre limpo.

 Para que serve o “reloginho” no cabeçote do filtro?

O “reloginho” se chama manômetro, e serve para medir a pressão da água, indicando


quando deve ser feita a retrolavagem.Consulte o fabricante para saber a pressão ideal do seu
filtro.

2.7.13 Tratamento Químico

O Tratamento Químico é fundamental para deixar a água da piscina saudável, limpa


e transparente. Você necessita medir, inicialmente, três parâmetros: Alcalinidade Total, pH e
Cloro Livre.Vale lembrar que, para os produtos químicos obterem a máxima eficiência, esses
3 parâmetros precisam estar ajustados. Qualquer dúvida quanto à freqüência destes ajustes,
consulte a tabela no final deste manual.

O jeito mais prático e eficiente de efetuar essa medição é através da Fita Teste ou
Estojo de Teste.

Além de aprender passo a passo o ajuste destes três elementos, você também irá
aprender como calcular a dosagem de todos os produtos químicos necessários no tratamento
da água da piscina. Serão abordados os seguintes temas: como prevenir e eliminar algas,
como clarear a água da piscina, como resolver os problemas mais comuns: água turva, água
colorida, manchas no revestimento, entre outros.

Aviso: Sempre manter os produtos químicos em local seguro e arejado e manuseá-los


utilizando luvas plásticas, máscara e óculos de proteção.

38
2.7.14 Como calcular o volume de água da piscina

Saber o volume de água da piscina é essencial para seu tratamento. Isso se deve ao
fato de que a quantidade de produtos químicos necessária para tratar da piscina é determinada
pelo seu volume de água.Uma vez que você já esteja familiarizado com esse volume, você
pode rapidamente determinar a quantidade correta de produtos químicos.

 Produto químico a mais: desperdício de produtos, aumento no custo do


tratamento,e má qualidade da água.

 Produtos químicos a menos: ineficácia do tratamento, má qualidade da água e


perda de tempo,obrigando a refazer o processo.

Exemplo: Uma piscina retangular com 5 metros de largura por 10 metros de


comprimento,
tendo na parte rasa 0,80 cm e na parte mais funda 1,5 metros. Deve-se calcular da seguinte
maneira:

1º Þ Profundidade Média: parte rasa + parte funda = 0,80 + 1,5= 2,3. Divide-se o
valor encontrado por 2. Þ 2,3 : 2 = 1,15m.

2º Þ Multiplica-se: largura x comprimento x profundidade = 5 x 10 x 1,15 =


57,5.Este valor encontrado equivale ao volume total de água da piscina, ou seja, 57,5 m3 que
equivalem a 57.500 litros de água.

39
2.7.15 Como calcular a dosagem necessária de produtos químicos.

Para calcular a dosagem necessária, multiplicamos o volume d’água (m3) pela


quantidade de produtos indicada na embalagem.

Vamos supor que a piscina possua um volume de água de 40.000 litros. Isso
corresponde a 40 m3 de água. Como você verá adiante, será necessário adicionar 5 ml de
Algicida Manutenção para cada 1.000 litros d’água (1 m3).

Exemplo: 5 ml (dosagem necessária de Algicida Manutenção) x 40 m3 (40.000


litros) = 200 ml

São necessários 200 ml de Algicida Manutenção para prevenir o aparecimento de


algas na piscina.

OBS.: Consulte no rótulo a dosagem adequada de cada produto.

 EQUILÍBRIO QUIMICO ESSENCIAL

 Alcalinidade Total

Alcalinidade Total é a medida indireta da capacidade da água em resistir a grandes


variações de pH. Se a Alcalinidade Total não estiver na faixa ideal, que é de 80 a 120 ppm
(partes por milhão), será mais difícil ajustar o pH.

 A Alcalinidade Total abaixo de 80 ppm pode corroer e danificar os acessórios e


equipamentos da piscina.

 Alcalinidade Total acima de 120 ppm pode causar turbidez na água e formação
de incrustações brancas, cinzentas ou marrons nos tubos e em outras partes do sistema de
circulação de água.

2.7.16 Como medir a Alcalinidade Total

40
 Utilizando a Fita Teste: Mergulhe a fita na água e remova imediatamente.
Segure a fita por 15 segundos. Não chacoalhe o excesso de água na fita. Compare a cor da fita
correspondente à Alcalinidade Total com as cores impressas na embalagem.

 Utilizando o Estojo de teste: Lave a proveta com água da piscina e encha até a
marca. Coloque 5 gotas do Indicador de Alcalinidade e agite para homogeneizar.
Obs.: Se a cor não sofrer alteração, a Alcalinidade é igual à zero. Adicione o Reagente de
Alcalinidade, gota a gota, contando o número de gotas adicionadas. Após a adição de cada
gota, mexa para homogeneizar.Quando observar a mudança da cor para outra cor (vermelha,
rosa ou amarela),multiplique o número de gotas adicionadas por 10. Exemplo: total de gotas
adicionadas = seis (6 x 10 = 60). Alcalinidade = 60 ppm.

2.7.17 Como ajustar a Alcalinidade Total

Alcalinidade Total Baixa (abaixo de 80 ppm)

Para elevar a Alcalinidade da água, verifique a dosagem necessária de Elevador de


Alcalinidade. Num balde plástico com água da piscina, adicione e misture a quantidade de
Elevador de Alcalinidade necessária e espalhe por toda superfície.Filtre por 6 a 12 horas, ou
de acordo com as instruções do fabricante do filtro. Medir novamente após 6 horas. Caso não
obtenha o resultado desejado, repita o procedimento.

Alcalinidade Total Alta (acima 120 ppm)

Para reduzir a Alcalinidade Total da água, o Redutor de Alcalinidade e pH deve ser


utilizado no seguinte procedimento: Em um balde plástico com água da piscina, adicione e
misture a quantidade necessária de produto, e espalhe a mistura pela piscina. Filtre por 6 a 12
horas, ou de acordo com as instruções do fabricante do filtro. Medir novamente após 6 horas.
Caso não obtenha o resultado desejado, repita o procedimento.

Obs.: O produto Redutor de Alcalinidade e pH exerce duas funções: reduz o pH e


também a Alcalinidade Total.

41
O pH (potencial de hidrogênio) é uma medida que verifica se a água esta ácida (pH
baixo),neutra (pH 7,0) ou básica (pH alto). Sua escala varia de 0,0 a 14,0.

Em piscina, o pH deve ser mantido entre 7,0 e 7,4. Isso assegurará a interação
química do cloro com as bactérias que ele deve eliminar. O ideal é mantê-lo na neutralidade,
ou seja, em 7,0. Um pH abaixo de 7,0 poderá causar irritação na pele e nos olhos, corrosão
dos equipamentos e gerar um consumo maior de cloro.

Um pH acima de 7,4 reduzirá e eficácia do cloro e poderá causar problemas como


água turva,incrustações brancas, cinzentas ou marrons nos tubos e em outras partes do sistema
de circulação de água, além de irritar os olhos e ressecar a pele e os cabelos.

 Como Medir o pH Utilizando a Fita Teste: Mergulhe a fita na água e remova


imediatamente. Segure a fita por 15 segundos (não chacoalhe o excesso de água na fita).
Compare a cor da fita correspondente ao pH com as cores impressas na embalagem.

 Utilizando o Estojo de teste: Lave o estojo de análise de pH e Cloro com água


da piscina e encha-o até a linha indicada. Coloque 5 gotas do Reagente de pH. Tampe o
recipiente e agite para homogeneizar o conteúdo. Faça a comparação da cor com a escala
padrão de cores e observe o valor do pH que mais se aproxime.

2.7.18 Como Ajustar o pH

pH Baixo (abaixo de 7,0) Para elevar o pH da água, verifique a dosagem necessária


de Elevador de pH.Num balde plástico com água da piscina, adicione e misture a quantidade
de Elevador de pH necessária e espalhe por toda a superfície. Filtre por 6 a 12 horas, ou de
acordo com as instruções do fabricante do filtro.Medir novamente. Caso não obtenha o
resultado desejado, repita o procedimento.

pH Alto (acima de 7,4)

Para reduzir o pH da água, verifique a dosagem necessária de Redutor de


Alcalinidade e pH. Num balde plástico com água da piscina, adicione e misture a quantidade
de Redutor de Alcalinidade e pH necessária e espalhe por toda superfície. Filtre por 6 a 12
horas, ou de acordo com as instruções do fabricante do filtro. Medir novamente após 6 horas.
Caso não obtenha o resultado desejado, repita o procedimento.Caso o pH da água esteja na

42
faixa ideal (7,0 – 7,4) e a água turva, utilize o Clarificante e deixe filtrando por 6 a 12
horas,ou de acordo com as instruções do fabricante do filtro.

 Cloro Livre

Cloro Livre é a medida do teor do agente sanitizante presente na água da piscina


para combater os microorganismos que podem contaminar a água. A faixa ideal de Cloro
Livre a ser mantida é de 1 a 3 ppm (ppm= partes por milhão).

CLORO LIVRE = CLORO DISPONÍVEL

É importante lembrar que a presença do cloro na água da piscina elimina os


microorganismos,
oxida a matéria orgânica e os metais nela dissolvidos, inibe odores desagradáveis e previne a
transmissão das mais diversas doenças infecciosas – hepatite, otite, micoses, cólera, entre
outras.

O fato da piscina estar cristalina não significa que ela esteja saudável, pois as
bactérias são microscópicas. A piscina só estará realmente protegida se houver a presença de
Cloro Livre.

2.7.19 Cloro Livre Disponível

Independentemente da forma de cloração empregada, a química do processo de


desinfecção permanece a mesma, qual seja, a formação do Ácido Hipocloroso.

O Ácido Hipocloroso, normalmente medido como Cloro Livre Disponível, é na


realidade o agente desinfectante. Ele reage tanto com os microorganismos como com a
matéria orgânica presente na água.

Ao ser adicionado à água, o cloro reagirá concomitantemente, eliminando bactérias,


vírus, fungos e algas, mas também agirá oxidando a matéria orgânica ali presente.Ao oxidar,
esta matéria orgânica (normalmente compostos nitrogenados provenientes do suor e da urina
de banhista) formará produtos denominados, de forma geral, cloraminas.

Quando há presença de Cloro Livre Disponível suficiente para continuar o processo


de oxidação destas cloraminas, estas são quase que totalmente eliminadas como gás
Nitrogênio,

43
saindo da água. A fração residual de cloraminas – normalmente as tri-cloroaminas -pode
permanecer indefinidamente na água da piscina.

Como em sua estrutura molecular as tri-cloro-aminas possuem o cloro, este pode ser
medido erroneamente como sendo Cloro Livre Disponível, porém, na verdade,trata-se de um
“cloro residual” de nenhum efeito sanitizante. A este termo, denomina-se: Cloro Combinado.

O teor de Cloro Livre Disponível em uma piscina deve ser sempre muitas vezes
maior que o teor de Cloro Combinado, pois esta é a única garantia que o banhista terá de que
a água da sua piscina estará realmente sanitizada.

Observe atentamente, ao utilizar um teste de determinação de teor de cloro na


piscina, se o mesmo determina o teor de Cloro Livre e não o teor de Cloro Combinado.

O Cloro Livre Disponível, este sim, é o indicativo de que a piscina não só está
sanitizada, como também possui uma “reserva” de cloro para eliminar futuras contaminações
que venham a ocorrer.

 Como medir o Cloro Livre

Utilizando a Fita Teste: Mergulhe a fita na água e remova imediatamente. Segure a


fita por 15 segundos (não chacoalhe o excesso de água na fita). Compare a cor da fita
correspondente ao Cloro Livre com as cores impressas na embalagem.

 Utilizando o Estojo de teste: Lave o estojo de análise de pH e Cloro com água


da piscina e encha-o até a linha indicada. Coloque 5 gotas do Reagente de Cloro. Tampe o
recipiente e agite para homogeneizar o conteúdo. Faça a comparação da cor com a escala
padrão de cores e observe o valor do Cloro obtido em ppm.

2.7.20 Como ajustar o Cloro Livre

 Verifique a dosagem necessária de Cloro Granulado ou Dicloro e espalhe por


toda a superfície nas piscinas de azulejo. Para piscinas de fibra ou vinil, recomenda-se diluir o
cloro em um balde com água da própria piscina antes da aplicação. Filtre por 6 a 12 horas, ou
de acordo com as instruções do fabricante do filtro. Medir novamente, utilizando a Fita Teste
ou Estojo apropriado. Caso não obtenha o resultado desejado, repita o procedimento.

44
 Tratamento de Choque (Supercloração) É a adição de cloro na água da piscina
em uma quantidade superior àquela normalmente utilizada.É recomendado utilizar esse
recurso quando:

 Houver contaminação da água (animais mortos, fees, etc.);

 Ocorrerem períodos de extremo calor;

 Um grande número de banhista freqüentar a piscina;

 Houver uma forte chuva;

 Os banhistas se queixarem de ardência nos olhos (considerando que o pH esteja


na faixa ideal);

 Ocorrer um odor desagradável na água da piscina;

 Surgirem sinais de crescimento de algas;

 O cloro for rapidamente consumido, não apresentando residual de Cloro Livre


nos testes realizados com a Fita Teste ou Estojo apropriado.

Importante: Com a supercloração, o residual de Cloro Livre deverá subir além da


faixa recomendada. Utilize a piscina somente quando o residual de Cloro Livre estiver entre
1,0 e 3,0 ppm. Caso o residual esteja abaixo da faixa recomendada, realize novamente a
supercloração, principalmente no caso de contaminação.

 Estabilizando o Cloro na Piscina

O Estabilizador de cloro protege o cloro da ação solar, prolongando a sua


permanência na água. O produto pode ser utilizado tanto no verão quanto no inverno, sempre
que o Cloro Livre estiver sendo consumido rapidamente, ou quando a água da piscina for
reposta.

 O que é superestabilização e como preveni-la.

Superestabilização é o acúmulo de ácido cianúrico na água da piscina. Ela ocorre


quando o nível de ácido cianúrico ultrapassa os 50 ppm. Quando isso acontece, a capacidade
do cloro de oxidar a matéria orgânica fica comprometida, podendo assim a água perder a
cristalinidade e acontecer o inevitável esverdeamento, porém a leitura do Cloro Livre é

45
acusada. O excesso de ácido cianúrico em água de piscina poderá ser medido através da Fita
Teste e do Estojo apropriado.

Caso isso seja confirmado, ou seja, se a água da piscina realmente apresentar níveis
maiores do que 50 ppm de ácido cianúrico, a única solução é drenar parcialmente a água da
piscina e repô-la com água “nova”.

A vantagem de usar o Cloro Granulado mais o Estabilizador de Cloro, ao invés do


tricloro (ou cloro estabilizado), é que a adição de ácido cianúrico é controlada, evitando a
superestabilização.

 Freqüência e dosagem do cloro granulado com o uso do Estabilizador de Clor

A dosagem de cloro granulado continua a mesma, com relação à freqüência, deve-se


sempre medir o residual de Cloro Livre. Uma vez constatado que o residual de Cloro Livre
está abaixo da faixa ideal (1–3 ppm), efetue a adição de cloro granulado.

2.7.21 Como utilizar o Estabilizador de Cloro

 Retrolavar o filtro.

 Medir a Alcalinidade Total e, se necessário, ajustá-la para a faixa ideal (80-120


ppm).

 Medir o pH e, se necessário, ajustá-lo para faixa ideal (7,0-7,4).

 Medir o Cloro Livre e, se necessário, ajustá-lo para faixa ideal (1 a 3 ppm).

 Colocar a válvula do filtro na posição Filtrar e ligar a bomba.

 Dissolver, pouco a pouco, a dosagem recomendada do produto em um balde


com água da piscina e espalhar, de maneira uniforme, sobre toda a sua extensão.

 Filtrar por período entre 6 a 12 horas. Consultar o fabricante do filtro para


saber o tempo ideal.

 Não retrolavar o filtro nas próximas 48 horas.

Atenção: O ácido cianúrico é de difícil dissolução devido a sua composição química.


Para obter uma melhor diluição, dissolva a dosagem recomendada do produto, aos poucos, em

46
um balde com água da piscina.Medir o nível de estabilizador de cloro (ácido cianúrico)
presente na água da piscina a cada 6 meses com a Fita Teste ou com o Estojo Apropriado.

 Tratamento com pastilhas

Indicadas como um ótimo auxiliar do cloro granulado no tratamento da água,


destinadas às piscinas onde não há disponibilidade de tempo para um tratamento adequado,
como é o caso das casas de veraneio ou até de algumas piscinas residenciais, as pastilhas
possuem uma alta concentração de tricloro e foram desenvolvidas para serem utilizadas em
flutuadores. Em contato com a água, estas pastilhas dissolvem-se lentamente, liberando o
cloro na água. É aconselhável que se faça uma supercloração com o Cloro Granulado uma vez
por semana, assegurando uma maior desinfecção.

2.7.22 Cuidados:

 O uso de pastilhas pode ocasionar manchas ou desbotar as piscinas de fibra ou


vinil, principalmente se o flutuador estiver muito próximo ou em contato direto com o
revestimento das mesmas.

 Não coloque cloro granulado no flutuador, pois isso poderá causar uma
explosão se houver resíduos de tricloro no mesmo.

 Retire o flutuador quando as crianças entrarem na piscina.

 Como utilizar a pastilha de triclor

Ajuste a Alcalinidade e o pH da água para as faixas ideais.Coloque no Clorador


flutuante o número de pastilhas necessário de acordo com o volume da água da piscina. Esta
carga deverá durar até 14 dias. Quando a carga inicial estiver quase acabando, meça o Cloro
Livre da água e aumente ou diminua o número de pastilhas na nova carga até obter um
resultado entre 1,0 e 3,0 ppm de Cloro Livre.

Exemplo: Se a piscina possui 60.000 litros de água (6 m3), utilizar no clorador 02


(duas) pastilhas de 200 gramas.

 Flutuador 4 em 1

47
Combinando benefícios como água limpa, pura e cristalina por até um mês e pouco
esforço para o tratamento da piscina, o Flutuador 4 em 1 é um tratamento completo que reúne
quatro funções em um só produto: Cloro, Algicida, Clarificante e Cloro de ação imediata.

Com ação contínua, que indica a hora da troca e é ajustável para vários tamanhos de
piscina, é indicado para a eliminação dos microorganismos da água da piscina, para a
oxidação da matéria orgânica e dos metais nela dissolvidos, para a inibição de odores
desagradáveis e para a prevenção da transmissão de doenças infecciosas, além de clarificar a
água e prevenir o aparecimento de algas.

 Como utilizar a Flutuador 4 em 1

 Medir a Alcalinidade Total e, se necessário, ajustá-la para a faixa ideal (80-120


ppm).

 Medir o pH e, se necessário, ajustá-lo para a faixa ideal (7,0-7,4)

 Remover o rótulo externo, cortando na linha pontilhada.

 Segurar a parte superior azul e girar a base até encontrar o número


correspondente ao tamanho aproximado da sua piscina – 1, 2 ou 3, que será visualizado no
furo central da base do Flutuador, escolhendo o ajuste adequado para o tamanho da sua
piscina. Colocar o Flutuador na água.

 A ação de sanitização se iniciará imediatamente. Aguardar o residual de Cloro


Livre ficar abaixo de 5 ppm antes de liberar o uso da piscina.

 Manter o residual de Cloro Livre entre 1 e 3 ppm, ajustando o flutuador se


necessário.

 O Flutuador ficará na posição horizontal quando estiver vazio.

 Filtrar a piscina diariamente por 6 horas. Consultar o fabricante do filtro para


saber o tempo ideal.

 Fazer uma dosagem de reforço de 4g de Cloro Granulado para cada 1000 litros
(1m3), uma vez por semana.

 Prevenção e Eliminação das Algas

48
Algas são microorganismos que se desenvolvem na água. A contaminação da água
por esses microorganismos se dá através das chuvas, do vento e da poeira. As principais
características da presença das algas na piscina são a cloração alterada da água (água verde,
amarela, preta, etc) e o fundo e/ou as paredes da piscina escorregadios.

Para realizar a prevenção, utilize o Algicida manutenção. Caso a piscina já esteja


infestada, utilize o Algicida de choque.

É bom salientar que, para a total eficácia destes produtos, a Alcalinidade Total e o
pH precisam estar previamente ajustados.

Obs: Adicionar o produto na hora de filtrar.

2.7.23 Clarificação e Floculação (Decantação)

Uma das principais causas da turbidez na água é a presença de partículas em


suspensão. Para eliminar essas partículas deve-se utilizar o Clarificante. Esse produto
aglomera as partículas depositando-as no fundo da piscina, o que facilita sua retirada. Existem
duas formas de eliminar esse problema.

Obs: O termo Floculação e Decantação correspondem ao mesmo processo.

 Clarificação (se água estiver opaca, sem brilho).

 Medir a Alcalinidade Total e, se necessário, ajustá-la para faixa ideal (80-120


ppm).

 Medir o pH, se necessário, ajustá-lo para a faixa ideal (7,0-7,4).

 Colocar a válvula do filtro na posição “filtrar”

 Adicionar o Clarificante necessário em um balde com água da piscina e


espalhar a mistura sobre a superfície.

 Filtrar por um período de 6 a 12 horas, ou de acordo com as instruções do


fabricante do filtro.

Obs: Utilização semanal como manutenção, para manter a água da piscina mais
cristalina.

 Floculação Leve (quando a água da piscina estiver muito turva)

49
 Medir a alcalinidade Total e, se necessário, ajustá-la para faixa ideal (80-120
ppm).

 Medir o pH, se necessário ajustá-lo para faixa ideal (7,0-7,4).

 Colocar a válvula do filtro na posição ‘filtrar”.

 Adicionar o Clarificante necessário em um balde com a água da piscina e


espalhar a mistura sobre a superfície.

 Filtrar por um período de 6 a 12 horas, ou de acordo com as instruções do


fabricante do filtro para homogeneizar a mistura.

 Desligar o filtro.

 Após 12 horas de repouso, aspirar o fundo da piscina filtrando e drenando


(caso o nível de sujeira seja realmente muito alto).

 Floculação pesada (quando a água da piscina estiver muito suja)

 Medir a Alcalinidade Total e, se necessário, ajustá-la para faixa ideal (80-120


ppm).

 Medir o pH e, se necessário, ajustá-lo para faixa ideal (7,0-7,4).

 Colocar a válvula do filtro na posição “filtrar”.

 Adicionar o Decantador necessário em um balde com água da piscina e


espalhar a mistura sobre a superfície.

 Filtrar por um período de 6 a 12 horas, ou de acordo com as instruções do


fabricante do filtro para homogeneizar a mistura.

 Desligar o filtro.

 Após 12 horas de repouso, aspirar o fundo da piscina drenando (caso o nível de


sujeira seja realmente muito alto).

50
2.7.24 Dicas e Recomendações

 Utilizar a dosagem correta dos produtos; a falta ou excesso podem gerar


desperdício de produto ou risco do tratamento não dar certo.

 Espalhar os produtos de forma homogênea sobre a superfície da piscina.

 Adicionar o Cloro Granulado de preferência à noite, pois a luz solar e o calor


aceleram a decomposição do produto.

 Evitar o uso do Sulfato de Alumínio para decantar a piscina, visto que empedra
a areia do filtro comprometendo o seu funcionamento, além de reduzir o pH.

 Não abandonar o tratamento da piscina no inverno, pois esta poderá se


transformar em um risco para saúde de todos, além de dificultar a recuperação da água e gerar
maior consumo no processo de limpeza.

 O único meio de proteger o banhista de infecções provenientes da água da


piscina consiste em manter o Cloro Livre na faixa de 1 a 3 ppm.

Importante: Antes de realizar o 1° tratamento da água de piscina, seja ela abastecida


com água de rede tratada ou poço, verifique se água da piscina não possui metais através do
seguinte teste:

 Em um balde com a água a ser tratada, adicione uma colherzinha (tamanho


café) de Cloro Granulado ou Dicloro e misture bem. Espere 1 hora. Caso haja reação química,
ou seja, a água escurecer, mudar de tonalidade (marrom, verde, preta, ferrugem), então
provavelmente a água possui um alto nível de metais e será necessário tratá-la antes de
realizar qualquer outro tipo de procedimento.

 Se comprovada a presença de metais, realizar o tratamento no 3 (a seguir).


Caso não tenha metais na água, realizar o tratamento no 1 ou 2 (a seguir).

Tratamentos Químicos Iniciais

 Tratamento Inicial da Piscina (Água Esverdeada)

51
Ao abastecer a piscina pela primeira vez (ou quando a água for reposta), e se água
utilizada for de rede tratada, porém apresentando uma tonalidade esverdeada, deve-se seguir
os passos do Tratamento n° 1.

Tratamento n°1

 Medir a Alcalinidade e o pH. Caso necessário, ajustá-los para as faixas ideais.

 Colocar a válvula do filtro na posição “Filtrar” e iniciar o processo de filtração.

 Adicionar o Algicida Choque.

 Ainda com o filtro em funcionamento, aguardar 1 hora e adicionar o


Clarificante - processo de floculação leve.

 Filtrar a água por um período de 6 a 12 horas, ou de acordo com as instruções


do fabricante do filtro.

 Após o período recomendado, desligar o filtro.

 Deixar a água em repouso por 12 horas. Após esse período, aspirar o fundo da
piscina filtrando (com pouca sujeira no fundo) ou drenando, caso o nível de sujeira seja
realmente muito alto.

 Fazer uma supercloração com Cloro Granulado.

o Tratamento Inicial da Piscina (Água Cristalina)

Ao abastecer a piscina pela primeira vez (ou quando a água for reposta) e a água
utilizada for de rede tratada, porém já estando cristalina, deve-se seguir os passos do
Tratamento nº 2; normalmente ela está com aparência bonita, mas pode estar sem Cloro Livre,
desta forma não está protegida.

Tratamento n°2

 Medir a Alcalinidade e o pH. Caso necessário, ajustá-los para as faixas ideais.

 Colocar a válvula do filtro na posição “Filtrar” e iniciar o processo de filtração.

 Adicionar o Clarificante, como no processo de clarificação.

52
 Aguardar 1 hora e realizar uma supercloração com Cloro Granulado

 Filtrar a água por um período de 6 a 12 horas, ou de acordo com as instruções


do fabricante do filtro.

 Após o período recomendado, desligar o filtro.

 Deixar a água em repouso 12 horas. Aspirar o fundo da piscina filtrando

Porém, se a água utilizada para o abastecimento da piscina for de poço, mina, lago,
etc., será necessário realizar o tratamento n° 3, pois esse tipo de água contém um alto nível de
metais (ferro, cobre, manganês, etc) que poderão reagir com o cloro a manchar a piscina.
Estes Tratamentos têm como objetivo deixar a piscina pronta para uso.

 Tratamento da piscina com Água do Poço, Mina, Lago, etc. (tratamento para
eliminar metais).

Tratamento n°3

Presença de metais dissolvidos na água da piscina, tornando a mesma colorida


(marrom, verde, preta, ferrugem).

1. Medir a Alcalinidade e o pH. Caso necessário, ajusta-los para as faixas ideais.

2. Medir também o residual de Cloro Livre e, se necessário, ajusta-lo para faixa


de 1–3 ppm.

3. Aplicar o Controlador de Metais na dosagem necessária sobre toda a superfície


da água com a filtração em funcionamento, de preferência à noite ou no final da tarde.

4. Repetir a aplicação mensalmente e/ou antes de cada reabastecimento da


piscina. O aparecimento de leve turvação após a aplicação do produto é temporário.

Mancha no revestimento da piscina provocada por metais.

1. Aplicar o Controlador de Metais na dosagem necessária diretamente sobre a


superfície da água, próximo da mancha, com a filtração em funcionamento, de preferência à
noite ou ao final da tarde.

53
2. Escove diariamente a área manchada por um período de 5 a 7 dias. Retrolavar
o filtro diariamente enquanto durar este procedimento.

3. Caso as manchas não desapareçam na primeira aplicação, repita o tratamento.

4. Não faça a supercloração da água durante os próximos 7 dias. Neste tratamento


não existe a necessidade prévia de ajuste dos níveis da Alcalinidade Total, do pH e do Cloro
Livre.

Resolvendo os Problemas da Água da Piscina

PROBLEMA Água esverdeada, paredes e fundos escorregadios.

Causa provável:

 Presença de algas trazidas pela chuva ou pelo vento.

 Água há muito tempo sem tratamento.

 Tratamento inadequado para o volume de água.

Solução Recomendada

o Medir a Alcalinidade Total e, se necessário, ajustá-lo para a faixa entre 80-120


ppm.

o Medir o pH e, se necessário, ajustá-lo para a faixa entre 7,0 e 7,4.

o Escovar o fundo e as paredes da piscina. Verificar se a escova é apropriada


para o tipo da piscina.

o Colocar a válvula do filtro na posição “filtrar” e iniciar o processo de filtração.

o Adicionar Algicida Choque.

o Ainda com o filtro em funcionamento, aguardar 1 hora e adicionar Clarificante


para flocular (decantar) a água da piscina.

o Deixar o filtro funcionando por 6 a 12 horas, ou de acordo com as instruções


do fabricante do filtro. Depois deixar a água repousando por 12 horas.

54
o Aspirar a piscina. Caso a piscina esteja muito suja, aspirar drenando.

o Fazer uma supercloração com Cloro Granulado.

PROBLEMA Água turva nas cores: Marrom avermelhada, Azul esverdeada


ou Preta.

Causa Provável: Equipamentos da piscina enferrujados. Presença de metais


dissolvidos na água da piscina, provenientes da água de poço, rio, etc. Resolução
Recomendada

o Medir a Alcalinidade e o pH com Fita teste ou Estojo de teste, e ajusta-los para


as faixas ideais.

o Medir também o residual de Cloro Livre e, se necessário, ajusta-lo para a faixa


de 1–3 ppm.

o Aplicar o Controlador de Metais na dosagem necessária sobre toda a superfície


da água com a filtração em funcionamento, de preferência à noite ou ao final da tarde.

o Repetir a aplicação mensalmente e/ou antes, de cada reabastecimento da


piscina. O aparecimento de leve turvação após a aplicação do produto é temporário.

PROBLEMA Agua turva leitosa (esbranquiçada).

Causa Provável: pH elevado - acima de 7,4.

Solução Recomendada

- Medir a Alcalinidade Total e, se necessário, ajustá-la para a faixa entre 80-120 ppm.

- Ajustar o pH para a faixa entre 7,0 e 7,4 utilizando o Redutor de Alcalinidade e pH.

- Adicionar o Clarificante.

- Filtrar a água por 12 horas

55
PROBLEMA Agua opaca e sem brilho, com Alcalinidade Total e pH
ajustados.

Causa Provável:

o Partículas de poeira.

o Baixa performance da areia do filtro.

Solução Recomendada

o Verificar se realmente a Alcalinidade Total e o pH estão ajustados.

o Adicionar o Clarificante.

o Filtrar a água por 6 a 12 horas.

o Aplicar Auxiliar de Filtração.

o Verificar a areia do filtro.

PROBLEMA Água turva com forte cheiro de cloro.

Causa Provável:

o Presença de cloramina = combinação de suor + urina e outros compostos

Obs: Quando os banhistas reclamam que a água esta com “um forte cheiro de
cloro”, na verdade, isso significa que a água está com falta de cloro.

Solução Recomendada

o Medir a Alcalinidade Total e, se necessário, ajustá-la para a faixa entre 80-120


ppm.

o Medir o pH e, se necessário, ajustá-lo para faixa entre 7,0 e 7,4.

o Fazer uma supercloração com Cloro Granulado.

o Manter sempre o residual de Cloro Livre na faixa entre 1 e 3 ppm.

56
PROBLEMA Água turva com cor da terra.

Causa Provável:

o Material em suspensão (sujeira e/ou poeira).

Solução Recomendada

o Medir a Alcalinidade Total e, se necessário, ajustá-la para a faixa entre 80-120


ppm.

o Medir o pH e, se necessário, ajustá-lo para a faixa entre 7,0 e 7,4.

o Fazer uma floculação pesada com Decantador.

PROBLEMA Sujeira, gordura nas bordas da piscina.

Causa Provável:

o Acúmulo de bronzeador nas bordas da piscina.

o Sujeiras diversas nas bordas.

Solução Recomendada

o Esfregar as bordas da piscina com uma esponja macia, não abrasiva, com o
produto Limpa Bordas.

o Enxaguar com a própria água da piscina; o produto é biodegradável,


desaparece na água e não altera o pH.

PROBLEMA Superfície da água gordurosa.

Causa Provável:

o Presença de bronzeador na água da piscina.

o Presença de fuligem na água da piscina.

Solução Recomendada

o Envolver a peneira da piscina em um pano e realizar a limpeza da superfície.

57
o Fazer uma supercloração com Cloro Granulado.

PROBLEMA Dificuldade para ajustar o pH.

Causa Provável:

o Alcalinidade Total desajustada.

Solução Recomendada

o Ajustar a Alcalinidade Total para faixa entre 80-120 ppm.

PROBLEMA Irritação nos olhos / Cabelos ressecados

Causa Provável:

o pH desajustado.

Solução Recomendada

- Medir a Alcalinidade Total e, se necessário ajustá-la para a faixa entre 80-120 ppm.

- Medir o pH e, se necessário, ajustá-lo para faixa entre 7,0 e 7,4.

PROBLEMA Piscina apresenta leitura de Cloro Livre, porém está


esverdeada/turva.

Causa Provável:

o A utilização prolongada de Dicloro/Tricolo (cloros estabilizados).

o Excesso de Ácido Cianúrico, proveniente do cloro estabilizado (denominado


superestabilização).

Solução Recomendada

o Caso sejam confirmados níveis maiores do que 50 ppm de Ácido Cianúrico,


drenar parcialmente a água da piscina e realizar a reposição com água “nova”.

A vantagem do uso de Cloro Granulado + Estabilizador de Cloro sobre o


Dicloro/ Tricloro é o controle na adição do Ácido Cianúrico, evitando-se a
superestabilização.

58
PROBLEMA Mancha nos azulejos e em piscinas de fibra e vinil, provocadas
por metais.

Causa Provável:

o Reação do sulfato de cobre com outros produtos químicos.

o Metais dissolvidos na água da piscina.

Solução Recomendada

o Aplique o Controlador de Metais na dosagem recomendada diretamente sobre


a superfície da água, próximo da mancha, com filtração em funcionamento de preferência à
noite ou ao final da tarde.

o Escove diariamente a área manchada por um período de 5 a 7 dias. Retrolave o


filtro diariamente enquanto durar este procedimento.

o Caso as machas não desapareçam na primeira aplicação, repita o tratamento.

o Não faça a supercloração da água durante os próximos 7 dias.

Neste tratamento não existe a necessidade prévia de ajustes dos níveis da


Alcalinidade Total, do pH do Cloro Livre.

PROBLEMA Infecções nos banhistas após o uso da piscina (conjuntivite,


micose, etc).

Causa Provável:

o Presença de bactéria e fungos na água, causadas pela falta de cloro.

Solução Recomendada

 Medir a Alcalinidade Total e, se necessário ajustá-lo para a faixa entre


80-120 ppm.

 Medir o pH e, se necessário, ajustá-lo para a faixa entre 7,0 e 7,4.

 Fazer uma supercloração com Cloro Granulado.

 Manter sempre o residual se Cloro Livre na faixa entre 1 e 3 ppm.

59
PROBLEMA Espuma na água.

Causa Provável:

o Material orgânico ou produtos químicos fora dos padrões normais de


comercialização.

o Excesso de produto químico utilizado para o tratamento.

Solução Recomendada

 Utilizar somente produtos que estejam dentro dos padrões de


comercialização.

 Remover a espuma da superfície com a peneira envolta em um pano.

 Fazer uma supercloração com o Cloro Granulado.

PROBLEMA Mancha nos azulejos e em piscinas de fibra ou vinil,


provocadas por incrustações de algas, sujeira ou calcificação.

Causa Provável:

o Sujeira pesada que se acumula na piscina.

o Incrustações.

o Calcificação (pH e Alcalinidade Total elevados por muito tempo).

Solução Recomendada

o Reduzir o pH para 6,5 utilizando Redutor de Alcalinidade e pH.

o Esse tratamento poderá ter a duração de uma semana, durante qual a piscina
deverá ficar interditada (sem banhista e sem qualquer tipo de tratamento). Será necessário
apenas recircular a água da piscina por 6 horas, todos os dias durante essa semana e conferir
se o pH continua 6,5.

o Escovar a região onde está localizada a mancha. Nunca utilizar esponja de aço
e esponja dupla-face.

60
o Caso a mancha persista, deixar a piscina com o pH baixo (6,5) até a remoção
completa com uma simples escovação.

o Após a eliminação da mancha, medir a Alcalinidade Total e, se necessário,


ajustá-la para a faixa entre 80-120 ppm.

o Ajustar o pH para a faixa entre 7,0 e 7,4

o Para que a piscina volte a ter residual de Cloro Livre entre 1 a 3 ppm, realizar
uma supercloração com Cloro Granulado.

o Deixar o filtro ligado por 6 a 12 horas, ou de acordo com as instruções do


fabricante do filtro.

Obs: Em piscina de fibra ou vinil, caso as manchas não desapareçam, entrar


em contato com o fabricante da mesma.

2.8 Linux

Linux é o termo geralmente usado para designar qualquer sistema operativo


(
português europeu) ou sistema operacional (português brasileiro) que utilize o núcleo Linux.
Foi desenvolvido pelo finlandês Linus Torvalds, inspirado no sistema Minix. O seu código
fonte está disponível sob licença GPL para qualquer pessoa que utilizar, estudar, modificar e
distribuir de acordo com os termos da licença.

Inicialmente desenvolvido e utilizado por grupos de entusiastas em computadores


pessoais, o sistema Linux passou a ter a colaboração de grandes empresas, como a IBM, a
Sun Microsystems, a Hewlett-Packard (HP), Red Hat, Novell, Oracle, Google e a Canonical.
[1]

2.8.1 História

Linus Torvalds, criador e principal mantenedor do núcleo Linux.

O núcleo Linux foi, originalmente, escrito por Linus Torvalds do Departamento de


Ciência da Computação da Universidade de Helsinki, Finlândia, com a ajuda de vários
programadores voluntários através da Usenet (uma espécie de sistema de listas de discussão
existente desde os primórdios da Internet).

61
Linus Torvalds começou o desenvolvimento do núcleo como um projeto particular,
inspirado pelo seu interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew
S. Tanenbaum. Ele limitou-se a criar, nas suas próprias palavras, "um Minix melhor que o
Minix" ("a better Minix than Minix"). E depois de algum tempo de trabalho no projecto,
sozinho, enviou a seguinte mensagem para comp.os.minix:

Você suspira pelos bons tempos do Minix-1.1,


quando os homens eram homens e escreviam seus próprios
"device drivers"?[2] Você está sem um bom projecto em mãos
e deseja trabalhar num S.O. que possa modificar de acordo
com as suas necessidades? Acha frustrante quando tudo
funciona no Minix? Chega de noite ao computador para
conseguir que os programas funcionem? Então esta
mensagem pode ser exactamente para você. Como eu
mencionei há um mês atrás, estou trabalhando numa versão
independente de um S.O. similar ao Minix para computadores
AT-386. Ele está, finalmente, próximo do estado em que
poderá ser utilizado (embora possa não ser o que você
espera), e eu estou disposto a disponibilizar o código-fonte
para ampla distribuição. Ele está na versão 0.02... contudo eu
tive sucesso ao executar bash, gcc, gnu-make, gnu-sed,
compress etc. nele.

Curiosamente, o nome Linux foi criado por Ari Lemmke, administrador do site
ftp.funet.fi que deu esse nome ao diretório FTP onde o núcleo Linux estava inicialmente
disponível.[3] (Linus tinha-o batizado como "Freax", inicialmente)[4]

No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira versão "oficial" do


núcleo Linux, versão 0.02. Desde então muitos programadores têm respondido ao seu
chamado, e têm ajudado a fazer do Linux o sistema operacional que é hoje. No início era
utilizado por programadores ou só por quem tinha conhecimentos, usavam linhas de
comando. Hoje isso mudou, existem diversas empresas que criam os ambientes gráficos, as
distribuições cada vez mais amigáveis de forma que uma pessoa com poucos conhecimentos
consegue usar o Linux. Hoje o Linux é um sistema estável e consegue reconhecer muitos

62
periféricos sem a necessidade de se instalar os drivers de som, vídeo, modem, rede, entre
outros.

Interface padrão do gNewSense, uma das distribuições do Linux


2.8.2 Nucleo

O termo Linux refere-se ao núcleo (em inglês: "kernel") do sistema operativo. O


termo também é usado pelos meios de comunicação e usuários para referir-se aos sistemas
operacionais baseados no núcleo Linux agregado a outros programas. Segundo Tanenbaum e
Silberschatz, um núcleo pode ser considerado o próprio sistema operativo, quando este é
definido como um gerenciador de recursos de hardware.

2.8.3 Arquitetura

O Linux é um núcleo monolítico: as funções do núcleo (escalonamento de


processos, gerenciamento de memória, operações de entrada/saída, acesso ao sistema de
arquivos) são executadas no espaço de núcleo. Uma característica do núcleo Linux é que
algumas das funções (drivers de dispositivos, suporte à rede, sistema de arquivos, por
exemplo) podem ser compiladas e executadas como módulos (em inglês: LKM - loadable
kernel modules), que são bibliotecas compiladas separadamente da parte principal do núcleo e
podem ser carregadas e descarregadas após o núcleo estar em execução.

2.8.4 UNIX

Embora Linus Torvalds não tenha tido como objetivo inicial tornar o Linux um
sistema portável, ele evoluiu nessa direção. Linux é hoje um dos núcleos de sistemas
operativos mais portáveis, correndo em sistemas desde o iPaq (um computador portátil) até o
IBM S/390 (um denso e altamente custoso mainframe).

63
Os esforços de Linus foram também dirigidos a um diferente tipo de portabilidade.
Portabilidade, de acordo com Linus, era a habilidade de facilmente compilar aplicações de
uma variedade de código fonte no seu sistema; consequentemente, o Linux originalmente
tornou-se popular em parte devido ao esforço para que os códigos-fonte GPL ou outros
favoritos de todos corressem em Linux.

O Linux hoje funciona em dezenas de plataformas, desde mainframes até um relógio


de pulso, passando por várias arquitecturas: x86 (Intel, AMD), x86-64 (Intel EM64T,
AMD64), ARM, PowerPC, Alpha, SPARC e etc, com grande penetração também em sistemas
embarcados, como handhelds, PVR, consola de videojogos, celulares, TVs e centros
multimídia, entre outros.

2.8.5 Termos de Licenciamento

Inicialmente, Torvalds lançou o Linux sob uma licença de software que proibia
qualquer uso comercial. Isso foi mudado de imediato para a GNU General Public License.
Essa licença permite a distribuição e mesmo a venda de versões possivelmente modificadas
do Linux mas requer que todas as cópias sejam lançadas dentro da mesma licença e
acompanhadas do código fonte.

Apesar de alguns dos programadores que contribuem para o núcleo permitirem que
o seu código seja licenciado com GPL versão 2 ou posterior, grande parte do código (incluído
as contribuições de Torvalds) menciona apenas a GPL versão 2. Isto faz com que o núcleo
como um todo esteja sob a versão 2 exclusivamente, não sendo de prever sua adoção da nova
GPLv3.

2.8.6 Sistemas de arquivos suportados

O Linux possui suporte de leitura e escrita a vários sistema de arquivos, de diversos


sistemas operacionais, além de alguns sistemas nativos. Por isso, quando o Linux é instalado
em dual boot com outros sistemas (Windows, por exemplo) ou mesmo funcionando como
Live CD, ele poderá ler e escrever nas partições formatadas em FAT e NTFS. Por isto, Live
CDs Linux são muito utilizados na manutenção e recuperação de outros sistemas
operacionais.[5]

64
Entre os sistemas de arquivos suportados pelo Linux, podemos citar FAT, NTFS,
JFS, XFS, HPFS, Minix e ISO 9660 (sistema de ficheiros usado em CD-ROMs), este último
também com as extensões RRIP (IEEE P1282) e ZISOFS[6]. Alguns sistemas de ficheiros
nativos são, dentre outros, Ext2, Ext3, Ext4, ReiserFS e Reiser4.[7] Alguns sistemas de
ficheiros com características especiais são SWAP, UnionFS, SquashFS, Tmpfs, Aufs e NFS,
dentre outros.

Logo que Linus Torvalds passou a disponibilizar o Linux, ou seja na sua versão
0.01, já havia suporte ao disco rígido, tela, teclado e portas seriais, o sistema de arquivos
adotava o mesmo layout do Minix (embora não houvesse código do Minix no Linux), havia
extensos trechos em assembly, e ela já era capaz de rodar o bash e o gcc.

A linha guia quando implementei o Linux foi: fazê-lo


funcionar rápido. Eu queria o núcleo simples, mas poderoso o
suficiente para rodar a maioria dos aplicativos Unix.[8]

O próprio usuário deveria procurar os programas que dessem funcionalidade ao seu


sistema, compilá-los e configurá-los. Talvez por isso, o Linux tenha carregado consigo a
etiqueta de sistema operativo apenas para técnicos. Foi neste ambiente que surgiu a MCC
Interim Linux, do Manchester Computer Centre, a primeira distribuição Linux, desenvolvida
por Owen Le Blanc da Universidade de Manchester, capaz de ser instalada
independentemente em um computador. Foi uma primeira tentativa de facilitar a instalação do
Linux.

Desde o começo, o núcleo Linux incluía um sistema básico para chamadas do


sistema e acesso aos dispositivos do computador. O núcleo de um sistema operativo define
entre várias operações, o gerenciamento da memória, de processos, dos dispositivos físicos no
computador e é uma parte essencial de qualquer sistema operacional utilizável, contudo para
um sistema operacional adquirir funcionalidade são necessários também vários outros
aplicativos que determinam funções específicas que aquele sistema será capaz de desenvolver,
os aplicativos existentes em um sistema operacional com a única exceção do núcleo são
determinados pelo usuário do computador, como por exemplo: interpretadores de comandos,
gerenciadores de janelas, que oferecem respectivamente uma interface para o usuário do
computador, CLI ou GUI, e outros aplicativos como editores de texto, editores de imagem,
tocadores de som, e, mas não necessariamente, compiladores.

65
A maioria dos sistemas inclui ferramentas e utilitários baseados no BSD e
tipicamente usam XFree86 ou X.Org para oferecer a funcionalidade do sistemas de janelas X
— interface gráfica. Assim como também oferecem ferramentas desenvolvidas pelo projeto
GNU.

No momento do desenvolvimento do Linux, vários aplicativos já vinham sendo


reunidos pelo Projeto GNU da Free Software Foundation (‘Fundação Software Livre’), que
embarcara em um subprojeto que ainda continua para obter um núcleo, o GNU Hurd. Porém
devido a várias complicações o projeto GNU e demora em desenvolver o Hurd, Stallman
acabou adotando o núcleo Linux como base para distribuir os programas do projeto GNU ,
não obstante diversas pessoas e instituições tiveram a mesma idéia e assim várias
distribuições começaram a surgir baseadas no núcleo desenvolvido inicialmente por Linus.

2.8.7 Distribuições

Atualmente, um Sistema Operacional (em Portugal Sistema Operativo) Linux ou


GNU/Linux completo (uma "Lista de distribuições de Linux ou GNU/Linux") é uma coleção
de software livre (e por vezes não-livres) criados por indivíduos, grupos e organizações de
todo o mundo, incluindo o núcleo Linux. Companhias como a Red Hat, a SuSE, a Mandriva
(união da Mandrake com a Conectiva) e a Canonical (desenvolvedora do Ubuntu Linux), bem
como projetos de comunidades como o Debian ou o Gentoo, compilam o software e fornecem
um sistema completo, pronto para instalação e uso. Patrick Volkerding também fornece uma
distribuição Linux, o Slackware.

As distribuições do Linux ou GNU/Linux começaram a receber uma popularidade


limitada desde a segunda metade dos anos 90, como uma alternativa livre para os sistemas
operacionais Microsoft Windows e Mac OS, principalmente por parte de pessoas acostumadas
com o Unix na escola e no trabalho. O sistema tornou-se popular no mercado de Desktops e
servidores, principalmente para a Web e servidores de bancos de dados.

No decorrer do tempo, várias distribuições surgiram e desapareceram, cada qual com


sua característica. Algumas distribuições são maiores outras menores, dependendo do número
de aplicações e sua finalidade. Algumas distribuições de tamanhos menores cabem num
disquete com 1,44 MB, outras precisam de vários CDs, existindo até algumas versões em
DVD. Todas elas tem o seu público e sua finalidade, as pequenas (que ocupam poucos

66
disquetes) são usadas para recuperação de sistemas danificados ou em monitoramento de
redes de computadores.

De entre as maiores, distribuídas em CDs, podem-se citar: RedHat, Slackware,


Debian, Suse, e Conectiva. O que faz a diferença é como estão organizadas e pré-configuradas
as aplicações. A distribuição Conectiva Linux, por exemplo, tinha as suas aplicações
traduzidas em português, o que facilitou que usuários que falam a Língua Portuguesa tenham
aderido melhor a esta distribuição. Hoje esta distribuição foi incorporada à Mandrake, o que
resultou na Mandriva. Para o português, existe também a distribuição brasileira Kurumin
(Essa distribuição foi descontinuada pelo seu mantedor), construída sobre Knoppix e Debian,
e a Caixa Mágica, existente nas versões 32 bits, 64 bits, Live CD 32 bits e Live CD 64 bits, e
com vários programas open source: OpenOffice.org, Mozilla Firefox, entre outros.

Existem distribuições com ferramentas para configuração que facilitam a


administração do sistema. As principais diferenças entre as distribuições estão nos seus
sistemas de pacotes, nas estruturas dos diretórios e na sua biblioteca básica. Por mais que a
estrutura dos diretórios siga o mesmo padrão, o FSSTND é um padrão muito relaxado,
principalmente em arquivos onde as configurações são diferentes entre as distribuições. Então
normalmente todos seguem o padrão FHS (File Hierarchy System), que é o padrão mais novo.
Vale lembrar, entretanto, que qualquer aplicativo ou driver desenvolvido para Linux pode ser
compilado em qualquer distribuição que vai funcionar da mesma maneira.

Quanto à biblioteca, é usada a Biblioteca libc, contendo funções básicas para o


sistema Operacional Linux. O problema está quando do lançamento de uma nova versão da
Biblioteca libc, algumas das distribuições colocam logo a nova versão, enquanto outras
aguardam um pouco. Por isso, alguns programas funcionam numa distribuição e noutras não.
Existe um movimento LSB (Linux Standard Base) que proporciona uma maior padronização.
Auxilia principalmente vendedores de software que não liberam para distribuição do código
fonte, sem tirar características das distribuições. O sistemas de pacotes não é padronizado.

ArchLinux, Debian, Fedora, Mandriva, Mint, Opensuse, PCLinuxOS, Puppy,


Sabayon, Slackware e Ubuntu são algumas das distribuições mais utilizadas actualmente,
listadas aqui por ordem alfabética.

Um exemplo de distribuição que corre num CD é o Kurumin Linux, criado por


Carlos Eduardo Morimoto, baseada no Knoppix.

67
De entre as distribuições consideradas mais difíceis de gerir (por preferirem
assegurar a estabilidade tecnológica em detrimento da interface de utilizador), destacam-se a
Debian, Gentoo e Slackware.

2.8.8 Código Aberto e Programas Livres

Um programa, assim como toda obra produzida atualmente, seja ela literária,
artística ou tecnológica, possui um autor. Os Direitos sobre a idéia ou originalidade da obra do
autor, que incluem essencialmente distribuição, reprodução e uso é feito no caso de um
programa através de sua licença.

Existem dois movimentos que regem o licenciamento de programas no mundo livre,


os programas de código aberto e os programas livres. Os dois representados respectivamente
pela OSI e pela FSF oferecem licenças para produção de software, sendo seus maiores
representantes a licença BSD e a GPL.

O Linux oferece muitos aplicativos de open source, contudo nem todos podem ser
considerados programas livres, dependendo exclusivamente sob qual licença estes programas
são distribuídos. Os programas distribuídos sob tais licenças possuem as mais diversas
funcionalidades, como desktops, escritório, edição de imagem e inclusive de outros sistemas
operacionais.

Também existem organizações inclusive no mundo livre como a organização Linux


Simples para o Usuário Final (SEUL) que tem como objetivo adotar a maior gama possível de
aplicativos de alta qualidade produzidos sobre a GPL. É um projeto voluntário que atualmente
se foca no aprendizado de Linux, seu uso na ciência e em documentos de advocacia, bem
como gerenciar e coordenar projetos de desenvolvimento de aplicativos.

2.8.9 Controvérsias quanto ao nome

Linux foi o nome dado ao núcleo de sistema operacional criado por Linus Torvalds.
Por extensão, sistemas operacionais que usam o núcleo Linux são chamados genericamente de
Linux. Entretanto, a Free Software Foundation afirma tais sistemas operacionais são, na
verdade, sistemas GNU, e o nome mais adequado para tais sistemas é GNU/Linux, uma vez
que grande parte do código-fonte dos sistemas operacionais baseados em Linux são
ferramentas do projeto GNU.[9]

68
Há muita controvérsia quanto ao nome Eric Raymond afirma, no Jargon File, que a
proposta da FSF só conseguiu a "aceitação de uma minoria" e é resultado de uma "disputa
territorial".[10] Linus Torvalds afirma que consideraria "justo" que tal nome fosse atribuído a
uma distribuição do projeto GNU, mas que chamar os sistemas operacionais Linux como um
todo de GNU/Linux seria "ridículo".[11] Linus disse não se importar sobre qual o nome
usado, considera a proposta da GNU como "válida" ("ok") mas prefere usar o termo "Linux".
[12]

2.8.10 Sobre o símbolo

O símbolo do software foi escolhido pelo seu criador, que achou a foto de um
pinguim na internet. [13]

Em 1996, muitos integrantes da lista de discussão "Linux-Kernel" estavam


discutindo sobre a criação de um logotipo ou de um mascote que representasse o Linux.
Muitas das sugestões eram paródias ao logotipo de um sistema operacional concorrente e
muito conhecido. Outros eram monstros ou animais agressivos. Linus Torvalds acabou
entrando nesse debate ao afirmar em uma mensagem que gostava muito de pingüins. Isso foi
o suficiente para dar fim à discussão.

Tux.

Depois disso, várias tentativas foram feitas numa espécie de concurso para que a
imagem de um pingüim servisse aos propósitos do Linux, até que alguém sugeriu a figura de
um "pingüim sustentando o mundo". Em resposta, Linus Torvalds declarou que achava
interessante que esse pingüim tivesse uma imagem simples: um pingüim "gordinho" e com
expressão de satisfeito, como se tivesse acabado de comer uma porção de peixes. Torvalds
também não achava atraente a idéia de algo agressivo, mas sim a idéia de um pingüim
simpático, do tipo em que as crianças perguntam "mamãe, posso ter um desses também?".

69
Ainda, Torvalds também frisou que trabalhando dessa forma, as pessoas poderiam criar várias
modificações desse pingüim. Isso realmente acontece. Quando questionado sobre o porquê de
pingüins, Linus Torvalds respondeu que não havia uma razão em especial, mas os achava
engraçados e até citou que foi bicado por um "pingüim assassino" na Austrália e ficou
impressionado como a bicada de um animal aparentemente tão inofensivo podia ser tão
dolorosa.

2.9 Apache+PHP

2.9.1 Conhecendo o Servidor Apache (HTTP Server Project)

2.9.1.1 Introdução
Pelo menos até o desenvolvimento deste artigo, o Apache era o servidor Web mais
usado no mundo, tendo um domínio de mais de 60%. Por ser tão importante assim, nada
melhor do que entender um pouco o Apache, conhecer sua história e saber como começar a
utilizá-lo. É isso que você verá nas próximas linhas.

Ao acessar qualquer site, há um servidor por trás daquele endereço responsável por
disponibilizar as páginas e todos os demais recursos que você pode acessar. Assim, quando
você envia um e-mail através de um formulário, coloca uma mensagem em um fórum de
discussão, faz uma compra on-line, etc, um servidor Web (ou um conjunto de servidores) é
responsável por processar todas essas informações.

Sendo mais claro, um servidor Web é um computador que processa solicitações HTTP
(Hyper-Text Transfer Protocol), o protocolo padrão da Web. Quando você usa um navegador
de internet para acessar um site, este faz as solicitações devidas ao servidor Web do site
através de HTTP e então recebe o conteúdo correspondente. No caso do Apache, ele não só
executa o HTTP, como outros protocolos, tais como o HTTPS (O HTTP combinado com a
camada de segurança SSL - Secure Socket Layer), o FTP (File Transfer Protocol), entre
outros.

Como servidor Web, o Apache é o mais conhecido e usado. Os motivos incluem sua
excelente performance, segurança, compatibilidade com diversas plataformas e todos os seus
recursos.

70
O servidor Apache (ou Apache Server) surgiu no National Center of Supercomputing
Applications (NCSA) através do trabalho de Rob McCool. Ao sair da NCSA, McCool parou
de trabalhar no software (que nessa época recebia justamente a denominação NCSA) e então
várias pessoas e grupos passaram a adaptar o servidor Web às suas necessidades. No entanto,
foram Brian Behlendorf e Cliff Skolnick os principais responsáveis pela retomada do projeto,
contando logo em seguida com o apoio de Brandon Long e Beth Frank. Estes últimos tinham
a tarefa de continuar com o desenvolvimento do servidor, mas pela NCSA. Não demorou
muito para que eles se juntassem ao Apache Group.

A origem da Fundação Apache (Apache Foundation) vem daí: Brian Behlendorf e


Cliff Skolnick passaram a controlar "patches" (adição de recursos ou correções) atrás de uma
lista de discussão. Dessa lista foi formado o grupo, constituído inicialmente de 8 pessoas. O
nome da fundação parece ter sido baseado nessa característica (uso de patches), já que pode
ser interpretado como um trocadilho com a expressão em inglês "a patchy". No entanto,
segundo os desenvolvedores do servidor, o nome é baseado numa tribo americana de nome
Apache.

O servidor Apache teve sua primeira versão oficial (0.6.2) lançada em 1995. No
momento em que este artigo era escrito, a última versão era a 2.2.3/2.2.4. De 1995 até hoje
houve várias mudanças no projeto. Talvez, a mais importante tenha sido o Shambhala, uma
arquitetura para o Apache desenvolvida por Robert Thau. O Shambhala agradou tanto na
época (principalmente por seu melhor gerenciamento de memória) que acabou sendo
incorporado definitivamente ao servidor, tirando de cena a base existente até então. Surgia a
versão 0.8.8, que tinha, além do Shambhala, recursos da versão 0.7.x. Após uma série de
aperfeiçoamentos, testes e de uma documentação nova (feita por David Robinson), o Apache
1.0 foi lançado em dezembro de 1995.

2.9.1.2 Características do servidor Apache


O Apache Server é um software livre, o que significa que qualquer um pode estudar
ou alterar seu código-fonte, além de poder utilizá-lo gratuitamente. É graças a essa
característica que o software foi (e continua sendo) melhorado ao passar dos anos. Graças ao
trabalho muitas vezes voluntário de vários desenvolvedores, o Apache continua sendo o
servidor Web mais usado no mundo.

71
Além de estar disponível para o Linux (e para outros sistemas operacionais baseados
no Unix), o Apache também conta com versões para o Windows, para o Novell Netware e
para o OS/2, o que o torna uma ótima opção para rodar em computadores obsoletos (desde
que este atenda aos requisitos mínimos de hardware).

O servidor Apache é capaz de executa código em PHP, Perl, Shell Script e até em
ASP e pode atuar como servidor FTP, HTTP, entre outros. Sua utilização mais conhecida é a
que combina o Apache com a linguagem PHP e o banco de dados MySQL (combinação usada
aqui no InfoWester, por exemplo).

A exigência de hardware do Apache depende de sua aplicação, mas um PC Pentium


com 64 MB de memória RAM é capaz de executá-lo tranqüilamente em um ambiente
corporativo pequeno. No entanto, quando se trata de um site na internet, é interessante ter
máquinas tão poderosas quanto o que exige o nível de acesso.

Abaixo, segue um resumo com as principais características (extraído do Guia Foca


Linux):

- Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script, ASP,
etc;

- Suporte a autorização de acesso podendo ser especificadas restrições de acesso


paradamente para cada endereço/arquivo/diretório acessado no servidor;

- Autenticação requerendo um nome de usuário e senha válidos para acesso a alguma


página/sub-diretório/arquivo (suportando criptografia via Crypto e MD5);

- Negociação de conteúdo, permitindo a exibição da página Web no idioma


requisitado pelo Cliente Navegador;

- Suporte a tipos mime;

- Personalização de logs;

- Mensagens de erro;

- Suporte a virtual hosting (é possível servir 2 ou mais páginas com endereços/ portas
diferentes através do mesmo processo ou usar mais de um processo para controlar mais de um
endereço);

72
- Suporte a IP virtual hosting;

- Suporte a name virtual hosting;

- Suporte a servidor Proxy ftp e http, com limite de acesso, caching (todas
flexivelmente configuráveis);

- Suporte a proxy e redirecionamentos baseados em URLs para endereços Internos;

- Suporte a criptografia via SSL,Certificados digitais;

- Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover


funcionalidades e recursos sem necessidade de recompilação do programa.

2.9.2 PHP

2.9.2.1 Historico

A linguagem surgiu por volta de 1994, como um pacote de programas CGI criados por
Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de
scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o
novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter,
um interpretador de comandos SQL.

Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o
primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha
herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e
métodos.

Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo
o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de
orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de
objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como são as
linguagens Java , Ruby e outras.

O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com
handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois, caso haja

73
alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o
que não acontecia na PHP 4.

Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para


instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões
PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como
padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e
mesmo funções, com a linguagem C e com a C++. Pode ser, dependendo da configuração do
servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes
sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware,
RISC OS, AIX, IRIX e Solaris.

A Wikipédia funciona sobre um software inteiramente escrito em PHP, usando bases


de dados MySQL: o MediaWiki.

Construir uma página dinâmica baseada em bases de dados é simples com PHP, (em
parte, vale lembrar), este provê suporte a um grande número de bases de dados: Oracle,
Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc., podendo abstrair o
banco com a biblioteca ADOdb, entre outras.

PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-
RPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E as bibliotecas de
terceiros expandem ainda mais estas funcionalidades.

Existem iniciativas para utilizar o PHP como linguagem de programação de sistemas


fixos. A mais notável é a PHP-GTK. Trata-se de um conjunto do PHP com a biblioteca GTK,
portada do C++, fazendo assim softwares inter-operacionais entre Windows e Linux. Na
prática, essa extensão tem sido muito pouco utilizada para projetos reais. [carece de fontes?]. YY

2.9.2.2 Principais Caracteristicas

A linguagem PHP é uma linguagem de programação de domínio específico, ou seja,


seu escopo se estende a um campo de atuação que é o desenvolvimento web, embora tenha
variantes como o PHP-GTK. Seu propósito principal é de implementar soluções web velozes,
simples e eficientes.

Características:

74
 Velocidade e robustez

 Estruturado e orientação a objetos

 Portabilidade - independência de plataforma - escreva uma vez, rode em


qualquer lugar;

 Tipagem fraca

 Sintaxe similar a C/C++ e o Perl

2.9.2.3 PHP 5

Em junho de 2004 foi lançada a versão 5 do PHP, introduzindo um novo modelo de


orientação a objeto, incluindo a reformulação dos construtores e adição de destrutores (ver
exemplo contextualizado em anexo), visibilidade de acesso, abstração de objeto e interfaces
de objetos.

O tratamento de objetos do PHP foi completamente reescrito, permitindo um


desempenho melhor e mais vantagens. Enquanto na versão anterior era preciso muito esforço
para atender à orientação a objetos e aos padrões de projectos (alguns não eram possíveis), o
PHP 5 veio para sanar essa deficiência. Ainda sofre nesse sentido, contudo, por problemas
devido a ser uma linguagem de tipagem fraca.

2.9.2.4 Inducao de tipo

Nesse sentido, foi adicionada uma característica chamada de indução de tipo, de


acordo com a qual podemos ter uma certa tipagem quando passamos objetos aos parâmetros
de uma função (ou método), algo inconcebível na versão anterior.

2.9.2.5 Visibilidade

A visibilidade de uma propriedade ou método pode ser definida com os seguintes


modificadores de acesso: public, protected ou private. Itens declarados como públicos podem
ser acessados pelo objeto (instância da classe). Membros protegidos estão acessíveis às
classes filhas (herdadas). A visibilidade privada limita a apenas a classe que define o atributo
ou método.

75
2.9.2.6 Polimorfismo

Existem 2 modalidades de polimorfismo chamadas de Polimorfismo Universal e


Polimorfismo ad-hoc.

Polimorfismo Universal: Existem dois tipos (Polimorfismo Paramétrico e


Polimorfismo de Inclusão).

Polimorfismo ad-hoc: Existem dois tipos (Polimorfismo de Sobrecarga e


Polimorfismo de Coerção).

2.9.2.7 Polimorfismo Parametrico

No polimorfismo paramétrico, um mesmo objeto pode ser utilizado uniformemente


como parâmetro em diferentes contextos sem necessidade de alterações. Um método que
exibe polimorfismo paramétrico (também chamada de método genérico) permite que o tipo do
seu argumento seja determinado por um parâmetro de tipo implícito ou explícito, executando
uma mesma operação, independente do tipo do argumento. O PHP não requer (ou suporta) a
definição de tipo explícita na declaração de variáveis: o tipo de uma variável é determinado
pelo * contexto em que a variável é utilizada. Isto significa que, se você atribuir um valor
string para a variável $var , $var se torna uma string. * Se você então atribuir um valor inteiro
para $var , ela se torna um inteiro. Por isso o PHP não adota este tipo de polimorfismo, pois
não possui parâmetros genéricos.

2.9.2.8 Poliformismo por Inclusao

No polimosfismo por inclusão um objeto pode ser visto como pertencendo a diferentes
classes que não precisam ser disjuntas. O PHP adota esse tipo de polimorfismo, pois é uma
linguagem orientada a objeto que permite recursos de herança

2.9.2.9 Poliformismo por Sobrecarga

O polimorfismo por sobrecarga, no qual mais de um método tem o mesmo nome, mas
assinaturas diferentes, não é suportado pelo PHP.

76
2.9.2.10 Poliformismo por Coercao

O PHP também suporta o polimorfismo por coerção, no qual a linguagem dispõe de


uma operação semântica para converter um argumento para um tipo esperado por uma função,
em uma situação que de outra forma resultaria em um erro de tipo.

2.10 PostgreSQL

PostgreSQL é um sistema gerenciador de banco de dados objeto relacional


(SGBDOR), desenvolvido como projeto de código aberto.

2.10.1 Características

Hoje, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados)


de código aberto mais avançados, contando com recursos como:

 Consultas complexas;

 Chaves estrangeiras;

 Integridade transacional;

 Controle de concorrência multi-versão;

 Suporte ao modelo híbrido objeto-relacional;

 Gatilhos;

 Visões;

 Linguagem Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java,


PL/Perl) para Procedimentos armazenados;

 Indexação por texto;

 Estrutura para guardar dados Georeferenciados PostGIS.

77
2.10.2 Histórico

O PostgreSQL é um dos resultados de uma ampla evolução que se iniciou com o


projeto Ingres, desenvolvido na Universidade de Berkeley, Califórnia. O líder do projeto,
Michael Stonebraker, um dos pioneiros dos bancos de dados relacionais, deixou a
universidade em 1982 para comercializar o Ingres, porém retornou a ela logo em seguida.
Após seu retorno a Berkeley, em 1985, Stonebraker começou um projeto pós-Ingres com o
objetivo de resolver problemas com o modelo de banco de dados relacional. O principal
problema era a incapacidade do modelo relacional compreender “tipos” (atualmente,
chamados de objetos), ou seja, combinações de dados simples que formam uma única
unidade.

O projeto resultante, chamado Postgres, era orientado a introduzir a menor


quantidade possível de funcionalidades para completar o suporte a tipos. Estas
funcionalidades incluíam a habilidade de definir tipos, mas também a habilidade de descrever
relações - as quais até este momento eram amplamente utilizadas, mas completamente
mantidas pelo usuário. No Postgres, o banco de dados "compreendia" as relações e podia
obter informações de tabelas relacionadas utilizando regras.

Iniciando em 1986, a equipe divulgou uma série de documentos descrevendo a base


do sistema e em 1988 o projeto possuía um protótipo funcional. A versão 1 foi liberada para
um grupo pequeno de usuários em junho de 1989, seguida pela versão 2 com um sistema de
regras reescrito em junho de 1990. Para a versão 3, liberada em 1991, o sistema de regras foi
reescrito novamente, mas também foram adicionados suporte para múltiplos gerenciadores de
armazenamento e um melhorado motor de consultas. Já em 1993, Postgres havia crescido
imensamente em popularidade e possuía uma grande demanda por suporte e por novas
funcionalidades. Após a liberação da versão 4, a qual era uma simples versão de limpeza, o
projeto foi oficialmente abandonado pela Universidade de Berkeley.

Entretanto, devido ao fato do seu código fonte estar sob uma licença BSD, o seu
desenvolvimento foi continuado. Em 1994, dois estudantes de Berkeley, Andrew Yu e Jolly
Chen, adicionaram um interpretador SQL para substituir a linguagem QUEL (desenvolvida
para o Ingres) e o projeto foi renomeado para Postgres95. Com a divulgação de seu código
pela Internet, Postgres95 iniciou uma nova vida como software open source.

78
Em agosto de 1996, Marc Fournier, Bruce Momjian e Vadim B. Mikheev lançaram a
primeira versão externa da Universidade de Berkeley e deram início à tarefa de estabilizar o
código herdado. Também em 1996, o projeto foi renomeado para PostgreSQL a fim de refletir
a nova linguagem de consulta ao banco de dados: SQL. A primeira versão de PostgreSQL, a
6.0, foi liberada em janeiro de 1997. Desde então, um grupo de desenvolvedores e de
voluntários de todo o mundo, coordenados pela Internet, têm mantido o software e
desenvolvido novas funcionalidades.

As principais características acrescentadas nas versões 6.x são o en:MVCC


(Multiversion Concurrency Control – Controle de Concorrência Multiversões), melhorias no
SQL e novos tipos de dados nativos (novos tipos de datas e hora e tipos geométricos).

Em maio de 2000 foi liberada a versão 7.0. As versões 7.x trouxeram as seguintes
novas funcionalidades: Write-Ahead Log (WAL), esquemas SQL, outer joins, suporte a IPv6,
indexação por texto, suporte melhorado a SSL e informações estatísticas do banco de dados.

A versão 8.0 foi lançada em janeiro de 2005 e entre outras novidades, foi a primeira
a ter suporte nativo para Microsoft Windows (tradicionalmente, o PostgreSQL só rodava de
forma nativa em sistemas Unix e, em sistemas Windows - através da biblioteca Cygwin).
Dentre as muitas novidades da versão 8.x, pode-se destacar o suporte a tablespaces,
savepoints, point-in-time recovery, roles e Two-Phase Commit (2PC). Em julho de 2009 foi
lançada a versão mais recente: 8.4.

2.10.3 Desenvolvimento do Projeto

O PostgreSQL é um projeto open source coordenado pelo PostgreSQL Global


Development Group. Embora as atividades do grupo sejam patrocinadas por diversas
organizações de todo o mundo, seu modelo de desenvolvimento é o modelo Bazar
(originalmente apresentado em A Catedral e o Bazar de Eric S. Raymond).

Portanto, o desenvolvimento do PostgreSQL é feito por um grupo de


desenvolvedores, em sua maioria voluntários, espalhados por todo o mundo e que se
comunicam via Internet. Logo, trata-se, de um projeto direcionado pela comunidade de
desenvolvedores e de usuários, a qual qualquer pessoa pode se juntar, bastando se inscrever
em listas de discussão e participar delas.

79
As ferramentas utilizadas para o apoio ao desenvolvimento são o sistema de gestão
de fontes CVS (Concurrent Version System), listas de discussão, servidor de news e salas de
bate-papo (IRC).

2.10.4 Estruturas de Decisão

O Projeto PostgreSQL é desenvolvido e direcionado pela sua comunidade de


desenvolvedores e de usuários. Para coordenar o projeto há uma equipe central (core team)
composta por sete desenvolvedores e um grupo de committers CVS. O código fornecido por
voluntários é avaliado e aceito ou rejeitado pelos committers.

Este modelo de desenvolvimento de software, baseado no modelo Bazar


originalmente apresentado em A Catedral e o Bazar de Eric S. Raymond, possibilita o
desenvolvimento de software com qualidade devido, principalmente, a permitir:

 Tratar usuários como parceiros e/ou desenvolvedores. Eles contribuem


diretamente com o desenvolvimento do software apresentando os problemas enfrentados, suas
necessidades, suas sugestões de solução e, até mesmo, seu próprio código fonte de solução.
Assim, usuários auxiliam de forma pró-ativa nas melhorias e na depuração do software.

 Reutilizar código fonte.

 Lançar rapidamente e frequentemente novas versões. Com uma base ampla de


usuários testadores do software, os eventuais problemas são rapidamente identificados e
sugestões de solução também aparecem com rapidez.

2.10.5 Estado Atual

Além de doações, o projeto PostgreSQL se sustenta pelo patrocínio de diversas


empresas, entre as quais se destacam: Fujitsu, Hub.Org, NTT Group, Red Hat, Skype, SRA e
Sun Microsystems.

O software tem adquirido prestígio na comunidade Linux, tendo recebido diversas


vezes o prêmio Linux Journal Editor's Choice de melhor sistema de gerenciamento de banco
de dados (SGBD).

Uma diversidade de módulos adicionais está disponível através do pgfoundry.

A aceitação do PostgreSQL tem se ampliado para além da comunidade de código


aberto. Há entre os seus usuários grandes empresas internacionais, órgãos governamentais de

80
vários países e universidades de prestígio mundial. Existe uma lista dos principais usuários no
Brasil e no mundo e, também, há alguns estudos de caso de aplicações que utilizam o
PostgreSQL.

2.11 HTML

HTML (acrônimo para a expressão inglesa HyperText Markup Language, que


significa Linguagem de Marcação de Hipertexto) é uma linguagem de marcação utilizada
para produzir páginas na Web. Documentos HTML podem ser interpretados por navegadores.
A tecnologia é fruto do "casamento" dos padrões HyTime e SGML.

HyTime é um padrão para a representação estruturada de hipermídia e conteúdo


baseado em tempo. Um documento é visto como um conjunto de eventos concorrentes
dependentes de tempo (como áudio, vídeo, etc.), conectados por hiper-ligações. O padrão é
independente de outros padrões de processamento de texto em geral.

SGML é um padrão de formatação de textos. Não foi desenvolvido para hipertexto,


mas tornou-se conveniente para transformar documentos em hiper-objetos e para descrever as
ligações.
2.11.1 História

Tim Berners-Lee criou o HTML original (e outros protocolos associados como o


HTTP) em uma estação NeXTcube usando o ambiente de desenvolvimento NeXTSTEP. Na
época a linguagem não era uma especificação, mas uma coleção de ferramentas para resolver
um problema de Tim: a comunicação e disseminação das pesquisas entre ele e seu grupo de
colegas. Sua solução, combinada com a então emergente internet pública (que tornaria-se a
Internet) ganhou atenção mundial.

As primeiras versões do HTML foram definidas com regras sintáticas flexíveis, o


que ajudou aqueles sem familiaridade com a publicação na Web. Atualmente a sintaxe do
HTML é muito mais rígida, permitindo um código mais preciso. Através do tempo, a
utilização de ferramentas para autoria de HTML aumentou, assim como a tendência em tornar
a sintaxe cada vez mais rígida. Apesar disso, por questões históricas (retrocompatibilidade), os
navegadores ainda hoje conseguem interpretar páginas web que estão longe de ser um código
HTML válido.

81
A linguagem foi definida em especificações formais na década de 1990, inspiradas
nas propostas originais de Tim Berners-Lee em criar uma linguagem baseada em SGML para
a Internet. A primeira publicação foi esboçada por Berners-Lee e Dan Connolly, e publicada
em 1993 na IETF como uma aplicação formal para o SGML (com uma DTD em SGML
definindo a gramática). A IETF criou um grupo de trabalho para o HTML no ano seguinte, e
publicou o HTML 2.0 em 1995. Desde 1996, as especificações HTML vêm sendo mantidas,
com o auxílio de fabricantes de software, pela World Wide Web Consortium (W3C).[1]
Apesar disso, em 2000 a linguagem tornou-se também uma norma internacional (ISO/IEC
15445:2000). A última especificação HTML lançada pela W3C foi a recomendação HTML
4.01, publicada no final de 1999. Uma errata ainda foi lançada em 2001.

Desde a publicação do HTML 3.5 no final de 1997, o grupo de trabalho da W3C tem
cada vez mais — e de 2002 a 2006, de forma exclusiva — focado no desenvolvimento do
XHTML, uma especificação HTML baseada em XML que é considerada pela W3C como um
sucessor do HTML.[2][3][4] O XHTML faz uso de uma sintaxe mais rigorosa e menos
ambígua para tornar o HTML mais simples de ser processado e estendido.

2.11.2 Etiquetas

Todo documento HTML apresenta etiquetas[5], elementos entre parênteses


angulares (chevron) (< e >); esses elementos são os comandos de formatação da linguagem. A
maioria das etiquetas tem sua correspondente de fechamento:

<etiqueta>...</etiqueta>

Isso é necessário porque as etiquetas servem para definir a formatação de uma


porção do documento, e assim marcamos onde começa e termina o texto com a formatação
especificada por ela. Alguns elementos são chamados “vazios”, pois não marcam uma região
de texto, apenas inserem algum elemento no documento:

<etiqueta>

Uma etiqueta é formada por comandos, atributos e valores. Os atributos modificam


os resultados padrões dos comandos e os valores caracterizam essa mudança. Exemplo:

<HR color="red">

No qual:

82
 HR = comando que desenha uma barra horizontal

 color = atributo que especifica a cor da barra

 red = valor do atributo color, que é a cor da barra que será desenhada

Cada comando tem seus atributos possíveis e seus valores. Um exemplo, é o atributo
size que pode ser usado com o comando FONT, com o HR mas que não pode ser usado com
o comando BODY. Isso quer dizer que devemos saber exatamente quais os atributos e valores
possíveis para cada comando.

De uma maneira geral o HTML é um poderoso recurso, sendo uma linguagem de


marcação muito simples e acessível voltada para a produção e compartilhamento de
documentos e imagens.

2.11.3 Edição de documentos HTML

Os documentos em HTML são arquivos de texto simples que podem ser criados e
editados em qualquer editor de textos comum, como o Bloco de Notas do Windows, ou o
TextEdit, do Macintosh. Para facilitar a produção de documentos, no mercado existem
editores HTML específicos, com recursos sofisticados, que facilitam a realização de tarefas
repetitivas, inserção de objetos, elaboração de tabelas e outros recursos (Ver lista abaixo).
Basicamente dividem-se em dois tipos:

 Editores de texto fonte: inserem automaticamente as etiquetas, orientando a


inserção de atributos e marcações.

 Editores WYSIWYG: oferecem ambiente de edição com um "esboço"


resultado final das marcações.

2.11.4 Estrutura básica de um documento

A estrutura de um documento HTML apresenta os seguintes componentes:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"


"http://www.w3.org/TR/html4/strict.dtd">
<html lang="pt">
<head>
<title>Título do Documento</title>

83
</head>
<body>
texto,
imagem,
links,
...
</body>
</html>

As etiquetas HTML não são sensíveis à caixa, portanto tanto faz escrever <HTML>,
<Html>, <html> ou <HtMl>.

As etiquetas básicas de HTML, cuja presença é altamente recomendada nas páginas


são:

 <html>: define o início de um documento HTML e indica ao navegador que


todo conteúdo posterior deve ser tratado como uma série de códigos HTML.

 <head>: define o cabeçalho de um documento HTML, que traz informações


sobre o documento que está sendo aberto.

 <body>: define o conteúdo principal, o corpo do documento. Esta é a parte do


documento HTML que é exibida no navegador. No corpo podem-se definir propriedades
comuns a toda a página, como cor de fundo, margens, e outras formatações.

2.11.5 Cabeçalho

Dentro do cabeçalho podemos encontrar os seguintes comandos:

 <title>: define o título da página, que é exibido na barra de título dos


navegadores.

 <style>: define formatação em CSS.

 <script>: define programação de certas funções em página com scripts,


podendo adicionar funções de JavaScript.

84
 <link>: define ligações da página com outros arquivos como feeds, CSS,
scripts, etc.

 <meta>: define propriedades da página, como codificação de caracteres,


descrição da página, autor, etc. São meta informações sobre documento. Tais campos são
muitos usados por mecanismos de busca(como o Google) para obterem mais informações
sobre o documento, a fim de classificá-lo melhor. Por exemplo, pode-se adicionar o código
<meta name="description" content="descrição da sua página" /> no documento HTML para
indicar ao motor de busca que texto de descrição apresentar junto com a ligação para o
documento. Para o sistema Google, comandos meta como keywords por exemplo não são
utilizadas para indexar páginas. Apenas <title> e a meta <description> são usadas para
descrever a página indexada.[6]

Obs: as etiquetas <style> e <script> servem tanto para delimitar o espaço usados
pelos códigos na página quanto para invocar códigos existentes em outros arquivos externos.

2.11.6 Corpo

Dentro do corpo podemos encontrar outras várias etiquetas que irão moldar a página,
como por exemplo:

 <h1>, <h2>,... <h6>: cabeçalhos e títulos no documento em diversos tamanhos.


(quanto menor for o número, maior sera o tamanho da letra)

 <p>: novo parágrafo.

 <br>: quebra de linha.

 <table>: cria uma tabela (linhas são criadas com <TR> e novas células com
<TD>. Já os cabeçalhos de coluna são criados com a etiqueta <TH>.)

 <div>: determina uma divisão na página a qual pode possuir variadas


formatações.

 <font>: altera a formatação (fonte, cor e tamanho) de um trecho do texto.

 <b>, <i>, <u> e <s>: negrito, itálico, sublinhado e riscado, respectivamente.

 <img>: imagem.

85
 <a>: hiper-ligação para um outro local, seja uma página, um e-mail ou outro
serviço.

 <textarea>: caixa de texto (com mais de uma linha); estas caixas de texto são
muito usadas em blogs, elas podem ser auto selecionáveis e conter outros códigos a serem
distribuídos.

 <acronym>: acrônimo (sigla)

 <cite>: citação

 <address>: endereço

2.11.7 Hiperligações

Uma propriedade importante dos documentos HTML é a possibilidade de fazer


hiperligações. Para isso usa-se a etiqueta <a> (do inglês, anchor). Esta tem os atributos:
href que define o alvo da hiperligação (que pode ser uma página de Internet, uma parte da
mesma página ou um endereço de email) ou name que define um alvo nessa página (a onde
se pode fazer uma hiperligação usando a etiqueta a com o atributo href). Exemplos:

 <a href="http://pt.wikipedia.org/">Clique aqui para aceder à página principal


da Wikipédia em português.</a>

 <a name="nome">texto</a>

Em que nome e texto podem ser substituídos por o que se desejar. Depois usa-se
<a href="#nome"> </a> para hiperligar a este "anchor".

2.11.8 Caracteres especiais e símbolos

Os caracteres especiais definem-se usando comandos que começam com & e


terminam com um ;. Alguns exemplos incluem &aacute; (á), &agrave; (à), &atilde; (ã),
&acirc; (â), &auml; (ä) e &ccedil; (ç). Qualquer outra vogal pode ser substituída pelo a destes
exemplos, incluindo maiúsculas.

86
2.12 Linguagem C
C é uma linguagem de programação compilada de propósito geral, estruturada,
imperativa, procedural, de alto nível, padronizada pela ISO, criada em 1972, por Dennis
Ritchie, no AT&T Bell Labs, para desenvolver o sistema operacional Unix (que foi
originalmente escrito em Assembly).[1]

C é uma das linguagens de programação mais populares[2][3] e existem poucas


arquiteturas para as quais não existem compiladores para C. C tem influenciado muitas outras
linguagens de programação,[4] mais notavelmente C++, que originalmente começou como
uma extensão para C.

2.12.1 História

Ken Thompson e Dennis Ritchie (da esquerda para direita), os criadores das
linguagens B e C, respectivamente.

O desenvolvimento inicial de C, ocorreu no AT&T Bell Labs, entre 1969 e 1973.


Não se sabe se o nome "C" foi dado à linguagem porque muitas de suas características
derivaram da linguagem B e C é a letra conseguinte no alfabeto, ou porque "C" é a segunda
letra do nome da linguagem BCPL, da qual derivou-se a linguagem B.

C foi originalmente desenvolvido, para a implementação do sistema Unix


(originalmente escrito em PDP-7 Assembly, por Dennis Ritchie e Ken Thompson). Em 1973,
com a adição do tipo struct, C tornou-se poderoso o bastante para a maioria das partes do
núcleo do Unix, serem reescritas em C. Este foi um dos primeiros sistemas que foram
implementados em uma linguagem, que não o Assembly, sendo exemplos anteriores, os
sistemas: Multics (escrito em PL/I) e TRIPOS (escrito em BCPL). Segundo Ritchie, o período
mais criativo ocorreu em 1972.

2.12.2 K&R C

Em 1978, Brian Kernighan e Dennis Ritchie publicaram a primeira edição do livro


The C Programming Language. Esse livro, conhecido pelos programadores de C, como
"K&R", serviu durante muitos anos como uma especificação informal da linguagem. A versão
da linguagem C que ele descreve é usualmente referida como "K&R C". A segunda edição do
livro, cobriu o padrão posterior, o ANSI C. K&R C introduziu as seguintes características na
linguagem:

87
 Biblioteca padrão de E/S;

 Tipos de dado struct;

 Tipos de dado long int;

 Tipos de dado unsigned int;

 O operador =+ foi alterado para +=, e =- para -= (o analisador léxico do


compilador fazia confusão entre i =+ 10 e i = +10. O mesmo acontecia com =-).

K&R C é frequentemente considerado a parte mais básica da linguagem, cujo


suporte deve ser assegurado por um compilador C. Durante muitos anos, mesmo após a
introdução do padrão ANSI C, K&R C foi considerado o "menor denominador comum", em
que programadores de C se apoiavam quando uma portabilidade máxima era desejada, já que
nem todos os compiladores eram actualizados o bastante para suportar o padrão ANSI C.

Nos anos que se seguiram à publicação do K&R C, algumas características "não-


oficiais" foram adicionadas à linguagem, suportadas por compiladores da AT&T e de outros
vendedores. Estas incluíam:

 Funções void e tipos de dados void *;

 Funções que retornam tipos struct ou union;

 Campos de nome struct num espaço de nome separado para cada tipo struct;

 Atribuição a tipos de dados struct;

 Qualificadores const para criar um objecto só de leitura;

 Biblioteca padrão, que incorpora grande parte da funcionalidade implementada


por vários vendedores;

 Enumerações;

 Cálculos de ponto-flutuante em precisão simples (no K&R C, os cálculos


intermediários eram feitos sempre em double, porque era mais eficiente na máquina onde a
primeira implementação do C foi feita).

88
2.12.3 ANSI C e ISO C

Durante os finais da década de 1970, a linguagem C começou a substituir a


linguagem BASIC como a linguagem de programação de microcomputadores mais usada.
Durante a década de 1980, foi adaptada para uso no PC IBM, e a sua popularidade começou a
aumentar significativamente. Ao mesmo tempo, Bjarne Stroustrup, juntamente com outros
nos laboratórios Bell, começou a trabalhar num projecto onde se adicionavam construções de
linguagens de programação orientada por objectos à linguagem C. A linguagem que eles
produziram, chamada C++, é nos dias de hoje a linguagem de programação de aplicações
mais comum no sistema operativo Windows da companhia Microsoft; C permanece mais
popular no mundo Unix.

Em 1983, o instituto norte-americano de padrões (ANSI) formou um comité, X3J11,


para estabelecer uma especificação do padrão da linguagem C. Após um processo longo e
árduo, o padrão foi completo em 1989 e ratificado como ANSI X3.159-1989 "Programming
Language C". Esta versão da linguagem é frequentemente referida como ANSI C. Em 1990, o
padrão ANSI C, após sofrer umas modificações menores, foi adotado pela Organização
Internacional para Padronização (ISO) como ISO/IEC 9899:1990, também conhecido como
C89 ou C90. Um dos objetivos do processo de padronização ANSI C foi o de produzir um
sobreconjunto do K&R C, incorporando muitas das características não-oficiais
subsequentemente introduzidas. Entretanto, muitos programas tinham sido escritos e que não
compilavam em certas plataformas, ou com um certo compilador, devido ao uso de
bibliotecas de funções não-padrão e ao fato de alguns compiladores não aderirem ao ANSI C.

2.12.4 C99

Após o processo da padronização ANSI, as especificações da linguagem C


permaneceram relativamente estáticas por algum tempo, enquanto que a linguagem C++
continuou a evoluir. (em 1995, a Normative Amendment 1 criou uma versão nova da
linguagem C mas esta versão raramente é tida em conta.) Contudo, o padrão foi submetido a
uma revisão nos finais da década de 1990, levando à publicação da norma ISO 9899:1999 em
1999. Este padrão é geralmente referido como "C99". O padrão foi adoptado como um padrão
ANSI em Março de 2000. As novas características do C99 incluem:

 Funções em linha

89
 Remoção de restrições sobre a localização da declaração de variáveis (como
em C++)

 Adição de vários tipos de dados novos, incluindo o long long int (para
minimizar problemas na transição de 32-bits para 64-bits), um tipo de dado boolean explicito
(chamado _Bool) e um tipo complex que representa números complexos

 Vetores de dados de comprimento variável (o vetor pode ter um tamanho


diferente a cada execução de uma função, mas não cresce depois de criado)

 Suporte oficial para comentários de uma linha iniciados por //, emprestados da
linguagem C++

 Várias funções de biblioteca novas, tais como snprintf()

 Vários ficheiros-cabeçalho novos, tais como stdint.h

O interesse em suportar as características novas de C99 parece depender muito das


entidades. Apesar do GCC e vários outros compiladores suportarem grande parte das novas
características do C99, os compiladores mantidos pela Microsoft e pela Borland suportam
pouquíssimos recursos do C99, e estas duas companhias não parecem estar muito interessadas
em adicionar tais funcionalidades, ignorando por completo as normas internacionais. A
Microsoft parece preferir dar mais ênfase ao C++.[5]

2.12.5 C1X

Em 2007, se iniciou o trabalho em antecipação de outra revisão do padrão de C,


informalmente chamada "C1X". O comitê dos padrões de C adotou regras para limitar a
inserção de novos recursos que não tenham ainda sido testados por implementações
existentes.[6]

2.12.6 Visão geral

C é uma linguagem imperativa e procedural, para implementação de sistemas. Seus


pontos de design foram para ele ser compilado, fornecendo acesso de baixo nível à memória e
baixos requerimentos do hardware. Também foi desenvolvido para ser uma linguagem de alto
nível, para maior reaproveitamento do código. C foi útil para muitas aplicações que foram
codificadas originalmente em Assembly.

90
Essa propriedade não foi acidental; a linguagem C foi criada com o objectivo
principal em mente: facilitar a criação de programas extensos com menos erros, recorrendo ao
paradigma da programação procedural, mas sobrecarregando menos o autor do compilador,
cujo trabalho complica-se ao ter de realizar as características complexas da linguagem. Para
este fim, a linguagem C possui as seguintes características:

 Uma linguagem extremamente simples, com funcionalidades não-essenciais,


tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um
conjunto de bibliotecas de rotinas padronizada;

 A focalização no paradigma de programação procedural;

 Um sistema de tipos simples que evita várias operações que não fazem sentido

 Uso de uma linguagem de pré-processamento, o pré-processador de C, para


tarefas tais como a definição de macros e a inclusão de múltiplos ficheiros de código fonte;

 Ponteiros dão maior flexibilidade à linguagem;

 Acesso de baixo-nível, através de inclusões de código Assembly no meio do


programa C;

 Parâmetros que são sempre passados por valor para as funções e nunca por
referência (É possível simular a passagem por referência com o uso de ponteiros);

 Definição do alcance lexical de variáveis;

 Estruturas de variáveis, (structs), que permitem que dados relacionados sejam


combinados e manipulados como um todo.

Algumas características úteis, que faltam em C, podem ser encontradas em outras


linguagens, que incluem:

 Segurança de tipo;

 Coletor de lixo (mais comum em linguagens interpretadas);

 Vetores que crescem automaticamete;

 Classes ou objetos com comportamento (ver Orientação a objetos);

91
 Closures;

 funções aninhadas;

 Programação genérica;

 Sobrecarga de operadores;

 Meta-programação;

 Apoio nativo de multithreading e comunicação por rede.

Apesar da lista de características úteis que C possui não ser longa, isso não tem sido
um impedimento à sua aceitação, pois isso permite que novos compiladores de C sejam
escritos rapidamente para novas plataformas, e também permite que o programador
permaneça sempre em controle do que o programa está a fazer. Isto é o que por várias vezes
permite o código de C correr de uma forma mais eficiente que muitas outras linguagens.
Tipicamente, só código de Assembly "afinado à mão" é que corre mais rapidamente, pois
possui um controle completo da máquina, mas avanços na área de compiladores juntamente
com uma nova complexidade nos processadores modernos permitiram que a diferença tenha
sido rapidamente eliminada. Uma consequência da aceitação geral da linguagem C é que
frequentemente os compiladores, bibliotecas e até intérpretes de outras linguagens de nível
maior sejam eles próprios implementados em C.

C tem como ponto forte, a sua eficiência, e é a linguagem de programação preferida


para o desenvolvimento de sistemas e softwares de base, apesar de também ser usada para
desenvolver programas de computador. É também muito usada no ensino de ciência da
computação, mesmo não tendo sido projetada para estudantes e apresentando algumas
dificuldades no seu uso. Outra característica importante de C, é sua proximidade do código de
máquina, que permite que um projetista seja capaz de fazer algumas previsões de como o
software irá se comportar, ao ser executado.

C tem como ponto fraco, a falta de proteção que dá ao programador. Praticamente


tudo que se expressa em um programa em C, pode ser executado, como por exemplo, pedir o
vigésimo membro de um vetor com apenas dez membros. Os resultados são muitas vezes
totalmente inesperados, e os erros, difíceis de encontrar.

92
Apesar de bastante funcional e eficiente, a linguagem C não é a linguagem preferida
de desenvolvedores de jogos. Por causa dessa falta de segurança e de sua menor capacidade
de criação de softwares complexos, costuma-se preferir uma linguagem que forneça
resultados mais satisfatórios, como por exemplo, C++. [carece de fontes?]

2.12.7 Relações com C++

A linguagem de programação C++ foi originalmente derivada do C para suportar


programação orientada a objetos. À medida que as linguagens C e C++ foram evoluindo
independentemente, a divisão entre as duas veio a aumentar. O padrão C99 criou um número
de características que entram em conflito. Hoje, as principais diferenças entre as duas
linguagens são:

 inline - em C++, funções em linha encontram-se no espaço global enquanto


que em C encontram-se no espaço local. Por outras palavras, isso significa que, em C++,
qualquer definição de qualquer função em linha (sem ser a respeito da sobrecarga de funções
de C++) tem de estar em conformidade com a "regra de uma definição" da linguagem C++.
Mas em C, a mesma função em linha pode ser definida de maneira diferente em diferentes
arquivos (ou ficheiros).

 A palavra-chave bool, igual à usada em C++, em C99 necessita que se inclua o


ficheiro-cabeçalho <stdbool.h> (_Bool está sempre disponível). Padrões anteriores de C não
definiam um tipo booleano e vários (e incompatíveis) métodos foram usados para simular um
tipo booleano.

Algumas características originalmente desenvolvidas em C++ também apareceram


em C. Entre elas encontram-se:

 protótipos de função (com declaração de tipos de parâmetros) e remoção do


"int" implícito.

 comentários de linha, indicados por //; comentários de linha terminam com


um carácter de nova-linha

 a palavra-chave inline

 tipagem mais forte.

93
94
3. PROJETO FINAL

3.1. Objetivo do projeto

O projeto ora apresentado leva em consideração a minimização dos custos e


otimização dos recursos disponíveis tendo como meta principal o aspecto prático e
didático que o envolve.

Acreditamos na sua relevância quando utilizado como ferramenta e dispositivo de


ensino possa agregar valores estimáveis na questão de automatizar e interligar processos
manuais.

Ao longo de nosso curso, abordamos temas fundamentais como redes de


comunicação, controladores lógicos programáveis e sistemas de supervisão, hoje muito
utilizados no mercado e com custo elevado para processos de pequeno porte. Este projeto
demonstra a possibilidade de automatizar processos simples com baixo custo.

3.2. Descrição do projeto

O presente trabalho tem a finalidade de controlar processos de uma piscina via


Internet.

Primeiramente analisando os processos de uma piscina foi observado que o


controle e feito basicamente por acionamentos (liga/desliga) de um conjunto de válvulas e
bombas. Estes acionamentos determinam exatamente o processo desejado.

Tendo em vista estes tipos de acionamentos, observamos que seria possível criar
uma placa controladora, que teria a função de ligar e desligar um conjunto de reles através
de software de computador.

Observamos também a possibilidade de uma pessoa controlar este processo de


qualquer lugar do mundo.

95
3.3. Material do projeto

3.3.1 Hardware e Software

- 1 Computador com porta paralela conectado em rede, denominado Cliente


contendo:

- Sistema Operacional Linux;

- Programa em C para acesso ao equipamento externo de controle de


piscina.

- 1 Computador conectado em rede, representando o controle principal do


processo onde as informações serão compartilhadas entre o servidor Web e o Cliente
(piscina controlada pelo programa em C, denominado PiscinasAut) , contendo:

- Sistema Operacional Linux;

- Software PostGreSQL (Banco de Dados).

- 1 Computador conectado em rede, denominado Servidor Web contendo:

- Sistema Operacional Linux;

- Software APACHE+PHP.

- 1 Placa de Controle;

- 1 Cabo paralelo DB-25

3.3.2 Piscina

- 7 Válvulas de maquina de lavar;

- 2 Bombas de L2 Vc;

- 4m de mangueira 3/16”;

- 3 flanges de 1/2”;

- 1 Reservatório;

- 1 Calha de 2m;

- 1 Filtro;

- 1 Régua de Bornes;

- 1 Madeira 80x60cm;

96
- 5 “T” de 12mm.

3.3.3 Placa de Controle

- 8 reles comuns;

- 8 octoacopladores;

- 8 resistores de 1000ohms;

- 1 conector DB-25 – 90graus - fêmea;

- 8 diodos;

- 1 placa padrão;

3.4. Topologia de rede

Foi escolhida para este trabalho a topologia do tipo estrela, por se tratar da
topologia mais comum e mais utilizada em pequenas redes de computadores.

97
3.5. Protocolos de Rede

- Padrão de comunicação Paralela.

3.6 Sistema Operacional

- Fedora Linux versão 13

3.7 Servidor Web

O servidor Web Apache 2.3 tem a função de armazenar as paginas de interação, e


permite através de login e senha acesso aos controles da piscina por paginas HTML e
linguagem de programação PHP para acesso ao banco de dados e controle de decisão.

3.8 Banco de Dados

No banco de dados (PostgreSQL 8.3 ) e armazenado todos os dados e registros


dos usuários cadastrados. Na rede, para entendimento, seria como o fornecedor do serviço
que troca informações diretas entre o servidor Web e o cliente em C.

3.9 Softwares

Os programas (PiscinasAut e de Banco de Dados) e paginas da Web necessários


para interação e comunicação do projeto, foram desenvolvidos em conjunto com alunos da
área de TI da própria Universidade. Esta ajuda foi de extrema importância para viabilizar
o processo e unir diferentes disciplinas.

O programa PiscinasAut foi desenvolvido em Linguagem C, foi criado com o


objetivo de executar a comunicação entre o computador e a placa de controle da piscinas.
Este programa e instalado no computador do cliente que alem de fazer o controle troca
informações com servidores Web e de banco de dados.

98
3.10 Hardware

A placa de controle da piscina foi projetada para ligar e desligar um conjunto de


válvulas e bombas. A placa possui reles (ON/OFF) controladas por saída paralela DB-25.

99
3.11 Processos da piscina

3.11.1 Layout e Instalação Hidráulica

Layout da instalação hidráulica

3.11.2 Processo de Enchimento

No processo de enchimento a válvula EV1 é acionada juntamente com a bomba B1.

100
3.11.3 Processo de Filtragem

No processo de filtragem as válvulas EV2, EV4, EV6 e a bomba B1 são acionadas.

3.11.4 Processo de Aspiração

No processo de aspiração as válvulas EV3, EV4, EV7 e a bomba B2 são acionadas.

101
3.11.5 Processo de Retro lavagem

No processo de retrolavagem as válvulas EV4, EV7, EV9 e a bomba B2 são


acionadas.

102
3.12 Telas de Interação

3.12.1 Pagina Login e Senha

3.12.2 Pagina de Comando da Piscina

103
4. CONCLUSÃO

Neste trabalho com o objetivo didático buscou-se uma introdução às Redes


Industriais, com maior detalhamento dos conceitos relativos às tecnologias associadas aos
sistemas e a comunicação via internet. A origem e a importância da padronização dentro
das indústrias ou fora dela, bem como a inserção redes nesse meio, forma discutidas em
nível apenas introdutório, visto ser esse um assunto bastante vasto e ainda insipiente. As
vantagens advindas da implantação de sistemas interligados em redes foram abordadas e
explicadas sucintamente, de modo a demonstrar os benefícios de sua utilização. A
operação remota de processo é hoje uma realidade aplicada em quase a todas as áreas. As
constantes necessidades de atualização e modernização de procedimentos e tecnologia
fazem com seja necessário a disponibilizarão de variáveis de processo, ou até mesmos
operações e ajustes nos parâmetros operacionais, na maioria das situações
geograficamente fora da unidade de produção. Durante os testes do projeto, todas as
conexões apresentaram um desempenho aceitável, permitindo a operação e monitoração
de uma piscina a distancia, com um aproveitamento de 100 % nas tentativas efetuadas.
Fatores sociais atuais como violência e furtos, também podem ser amenizados a partir do
momento em que não seja necessária a utilização de cabeamento para transmissão de
dados, e que também não seja necessário à exposição do ser humano em locais e horários
vulneráveis. Neste trabalho, a dificuldade de demonstração prática de algumas tecnologias
disponíveis para o mercado de operação remota de processo, se deu muito em função dos
custos envolvidos e a não disponibilizarão de equipamentos para demonstração.
Mostrando-se completamente viável sua aplicação em processo produtivo, o investimento
neste tipo de tecnologias representa ganhos significativos, além de domínio de uma
tecnologia que está apenas em início de exploração. Utilizando-se de metodologia
adequada, procedimentos corretos em relação a especificação técnica e de segurança, c om
as tecnologias disponíveis para operação remota de processos, é possível não só aumentar
a produtividade, como também agregar valor em consultoria e manutenção em tempo real,
aumentando a confiabilidade, reduzindo custos e otimizando recursos .

104
5. ANEXOS

105
Anexo 1 – Programa PiscinaAut.exe
/*
arquivo: piscina.c
licenca: LGPLv3
data: 07/10/2010
Autores:
André Eppinghaus, Jorge, Deivis, Rodrigo, Bruno,

Este programa permite ler o banco de dados que esta localizado em um


servidor
externo, e de acordo com as válvulas abertas (1) ou fechadas (0) escreve
este valor noa porta paralela.

Compilacao:

gcc -o piscina.exe piscina.c -I/usr/local/pgsql/include


-L/usr/local/pgsql/lib -lpq

*/
#include <stdio.h>
#include <linux/ioctl.h>
#include <linux/parport.h>
#include <linux/ppdev.h>
#include <fcntl.h>
#include "porta.h"
#include <libpq-fe.h>
#include "banco.h"

main()
{
PGconn *conexao;
PGresult *resultado;
char sql[500];
int valor, piscina_cheia=1;

int va1, va2, va3, va4, va5, va6, va7, va8, va9;
//int va1=0;

abre_porta();
escreve_porta(1);

for (;;) { // outro loop infinito

status=le_porta();

printf("\n valor da porta=%u \n", status);

// if (status==110 ) { //encheu
escreve_porta(0); //desliga tudo
piscina_cheia=1;

conexao = conecta_banco("host=10.4.9.91 dbname=bd_automacao


user=automacao password=automacao");
sprintf (sql, "update controle set va9=1 where numero=123 and
login=1 and senha=1"); //monta o nome em uma string
executa_banco(conexao,sql);
// desconecta_banco(conexao);
printf("\nValor: %s",sql);

106
while (piscina_cheia) {

printf("\n Piscina cheia \n");//exibe


//verifica enchimento
va1 = atoi (pega_controle(conexao, "123", "1", "1", "va1") );
printf("\n Pega enchimento: %i \n", va1);//exibe

if (va1==1) { //enchimento
printf("\n Enchendo = va1=%i\n", va1);//exibe
escreve_porta(1);
}else {
escreve_porta(0);
} //fim if

//verifica filtragem
va2 = atoi( pega_controle(conexao, "123", "1", "1", "va2") );
va4 = atoi( pega_controle(conexao, "123", "1", "1", "va4") );
va6 = atoi( pega_controle(conexao, "123", "1", "1", "va6") );
va8 = atoi( pega_controle(conexao, "123", "1", "1", "va8") );

if ( ( va2 == 1 ) && ( va4==1 ) && ( va6 ==1 ) && ( va8==1 ) ) {


//filtragem
printf("\nFiltrando\n va2=%i - va4=%i va6=%i va8=%i", va2,
va4,va6, va8);
escreve_porta(170);
} //fim if

//verifica aspiracao
va3 = atoi( pega_controle(conexao, "123", "1", "1", "va3") );
va4 = atoi( pega_controle(conexao, "123", "1", "1", "va4") );
va6 = atoi( pega_controle(conexao, "123", "1", "1", "va6") );
va8 = atoi( pega_controle(conexao, "123", "1", "1", "va8") );

if ( ( va3 == 1 ) && ( va4==1 ) && ( va6 ==1 ) && ( va8==1 ) ) {


//filtragem
printf("\nAspirando\n va3=%i - va4=%i va6=%i va8=%i", va3,
va4,va6, va8);
escreve_porta(170);
} //fim if

//verifica retrolavagem
va2 = atoi( pega_controle(conexao, "123", "1", "1", "va2") );
va5 = atoi( pega_controle(conexao, "123", "1", "1", "va5") );
va7 = atoi( pega_controle(conexao, "123", "1", "1", "va7") );
va8 = atoi( pega_controle(conexao, "123", "1", "1", "va8") );

if ( ( va2 == 1 ) && ( va5==1 ) && ( va7 ==1 ) && ( va8==1 ) ) {


//filtragem
printf("\nRetrolavagem\n va2=%i - va5=%i va7=%i va8=%i",
va2, va5,va7, va8);
escreve_porta(170);
} //fim if
status=le_porta(); //verifica se a piscina esta vazia
} //fim enquanto while

// }//fim de if
}
fecha_porta();
} //Fim

107
Anexo 2 – Programa do Banco de Dados
/*
arquivo: banco.h
licenca: LGPLv3
Autor: André Eppinghaus
data: 07/10/2010

Necessario para as funcoes de inclusao, alteracao, exclusao e selecao.

funcoes:

PGconn * conecta_banco( const char *conninfo ) ;


Recebe a string de conexao do postgres:
exemplo:
conexao = conecta_banco("host=10.4.9.91 dbname=bd_automacao
user=automacao password=automacao");

Retorno: Ponteiro de acesso ao banco.

void executa_banco(PGconn *conn, const char *sql);


Executa um comando SQL no banco com o ponteiro recebido da funcao conecta
banco
Exemplo:
sprintf (sql, "update controle set va9=1 where numero=123 and
login=1 and senha=1"); //monta o nome em uma string
executa_banco(conexao,sql);
Retorno: nada

int desconecta_banco(PGconn *conn ) ;


Fecha a conexao com o banco

char* pega_controle(PGconn *conn, const char *numero, const char *login,


const char *senha, const char *controle);
Le uma coluna da tabela de controle.
Exemplo:
pega_controle(conexao, "123", "1", "1", "va2")
Retorno: String com o valor da valvula de controle

int verifica_equipamento_banco(PGconn *conn, const char *numero) ; BETA


funcao nao utlizada, atraves do numero da coluna, verifica se o equipamento
esta funcionando

*/

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>

PGresult *res;
PGconn *conn;

PGconn * conecta_banco( const char *conninfo ) ;


void executa_banco(PGconn *conn, const char *sql);
int desconecta_banco(PGconn *conn ) ;
char* pega_controle(PGconn *conn, const char *numero, const char *login,
const char *senha, const char *controle);
int verifica_equipamento_banco(PGconn *conn, const char *numero) ;

108
static void exit_nicely(PGconn *conn) {
PQfinish(conn);
exit(1);
}

PGconn * conecta_banco( const char *conninfo ) {

conn = PQconnectdb(conninfo);

/* Check to see that the backend connection was successfully made */


if (PQstatus(conn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(conn));
exit_nicely(conn);
}

return conn;
}

void executa_banco(PGconn *conn, const char *sql) {


/* funcao para executar insert, update, delete no banco */

/* Start a transaction block */


res = PQexec(conn, "BEGIN");
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}
PQclear(res);

/* executa o sql */
res = PQexec(conn, sql);
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}
PQclear(res);

/* end the transaction */


res = PQexec(conn, "END");
PQclear(res);

return;
}

int desconecta_banco(PGconn *conn ) {


/* close the connection to the database and cleanup */
PQfinish(conn);
return 0;
}

char * pega_controle(PGconn *conn, const char *numero, const char *login,


const char *senha, const char *controle) {
int nFields;

109
int i,j, existe=0;
char sql[500], *valor_controle="vazio";

res = PQexec(conn, "BEGIN");


if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}

/*
* Should PQclear PGresult whenever it is no longer needed to avoid
memory
* leaks
*/
PQclear(res);
sprintf (sql, "DECLARE myportal CURSOR FOR select %s from controle
where numero=%s and login=%s and senha = %s", controle, numero, login,
senha ); //monta o nome em uma string
// printf("\n\t%s",sql);
res = PQexec(conn, sql);

if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}
PQclear(res);

res = PQexec(conn, "FETCH ALL in myportal");


if (PQresultStatus(res) != PGRES_TUPLES_OK)
{
fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}

/* first, print out the attribute names */


nFields = PQnfields(res);

/* next, print out the rows */


for (i = 0; i < PQntuples(res); i++)
{
for (j = 0; j < nFields; j++) {
valor_controle = PQgetvalue(res, i, j);
}//fim de for
} //fim de for

PQclear(res);

/* close the portal ... we don't bother to check for errors ... */
res = PQexec(conn, "CLOSE myportal");
PQclear(res);

/* end the transaction */


res = PQexec(conn, "END");
PQclear(res);

110
//printf("\nretorno=%s", valor_controle);
return valor_controle;

int verifica_equipamento_banco(PGconn *conn, const char *numero) {


int nFields;
int i,j, existe=-1;
char sql[500], *valor_controle="vazio";

res = PQexec(conn, "BEGIN");


if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}

/*
* Should PQclear PGresult whenever it is no longer needed to avoid
memory
* leaks
*/
PQclear(res);
sprintf (sql, "DECLARE myportal CURSOR FOR select 1 from controle where
numero=%s", numero); //monta o nome em uma string
res = PQexec(conn, sql);

if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}
PQclear(res);

res = PQexec(conn, "FETCH ALL in myportal");


if (PQresultStatus(res) != PGRES_TUPLES_OK)
{
fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn));
PQclear(res);
exit_nicely(conn);
}

/* first, print out the attribute names */


nFields = PQnfields(res);

/* next, print out the rows */


for (i = 0; i < PQntuples(res); i++)
{
for (j = 0; j < nFields; j++) {
valor_controle = PQgetvalue(res, i, j);
}//fim de for
} //fim de for

PQclear(res);

/* close the portal ... we don't bother to check for errors ... */
res = PQexec(conn, "CLOSE myportal");

111
PQclear(res);

/* end the transaction */


res = PQexec(conn, "END");
PQclear(res);

if ( strcmp(valor_controle,"vazio")==0 ) {
existe=0;
}else { existe=1; }

return existe;

112
Anexo 3 – Programa de Controle da Porta Paralela
/*
arquivo: porta.h
licenca: LGPLv3
Autor: André Eppinghaus
data: 07/10/2010

Necessario para as funcoes de acesso a porta paralela

Funcoes:

int abre_porta()
//necessario para abrir a interface da porta paralela somente como usuário
root

retorno: 1 - sucesso / -1 erro

unsigned char le_porta()


//necessario para ler o valor da porta paralela
retorno: valor inteiro lido pela porta paralela

void escreve_porta(unsigned char valor)


//escreve um valor inteiro que representa os bits 0 a 8 na porta paralela
retorno: vazio

*/
//--------------------------------------- Variaveis
-------------------------------------
unsigned char mask = (PARPORT_STATUS_ERROR
| PARPORT_STATUS_BUSY);
unsigned char val = (PARPORT_STATUS_ERROR
| PARPORT_STATUS_BUSY);

int fd;
int mode;
unsigned char status, valor=0;

int abre_porta() {

//--------------------------------------- abrindo a porta e inicializando


-------------------------------------
fd = open("/dev/parport0",O_RDWR); //abre a porta
paralela
if (fd == -1)
{
perror("open");
return(1);
}

if (ioctl(fd,PPCLAIM))
{
perror("PPCLAIM");
close(fd);
return(1);
}

mode = IEEE1284_MODE_COMPAT; // ativa modo de compatibilidade


if (ioctl(fd, PPNEGOT, &mode))
{

113
perror ("PPNEGOT");
close (fd);
return 1;
}

return mode;
} //fim abre_porta

void escreve_porta(unsigned char valor) {


ioctl (fd, PPWDATA,&valor); // ativa o valor
ioctl (fd, PPRELEASE);
ioctl (fd, PPCLAIM); //libera a porta
} //fim escreve_porta

unsigned char le_porta() {

ioctl (fd, PPRSTATUS, &status); //pega o status da impressora pelos pinos


10,11,12,13,15
ioctl (fd, PPRELEASE); // libera a impressora
sleep (1);
ioctl (fd, PPCLAIM); // libera a impressora
return status;
} //fim le porta

void fecha_porta() {
ioctl (fd, PPRELEASE); // libera a impressora
close(fd); //fecha a
impressora
} //fim fecha_porta

114
Anexo 4 – Esquema Elétrico da Placa Controle

115
6. REFERÊNCIAS BIBLIOGRÁFICAS

BRASIELLAS, Maria de Lurdes Motta, ANÇÃ, Neuza Maria Moltinho.


Norma para Apresentação de Trabalhos de Conclusão de Curso,
Monografia, Dissertação e Tese na Universidade. Gama Filho Editora,
2005, 96p.

TORRES,G. Rede de Computadores Curso Completo. Axcel Books do


Brasil Editora, 2001, 652p.

BERNAL, Paulo Sérgio Milano Comunicações Móveis: Tecnologias e


Aplicações. São Paulo: Érica, 2002.

CARVALHO,C. Apostila de Redes Industriais, 2006, 75p.

NOVELL. Apostila Guia Do Estudante De Tecnologias De Rede, Curso


200, Novell Autorizes Education Centers.Revisão 1.01, 446 p.

(autor desconhecido) Apostila: Guia De Planejamento e Instalação de


Ethernet Industrial 59 p.
PERES, André, WEBER, Raul Fernandes Considerações sobre segurança
em Redes sem Fio ULBRA e UFRGS, 8 p.

CARVALHO, Paulo César de Revista Mecatrônica. Ano 3; No.. 18., São


Paulo: Editora Saber, p. 16-18, Outubro/Novembro 2004.

SARAIVA, Felipe, CÉSAR, Bruno Hacher Zine – Edição Especial


Digerati Tech, 98p.

BRADLEY, Allen Catálogo: Segurança p. 6-38, Novembro 2000.

(doc@nic.br) Cartilhas 1-7, Disponível: http://www.nbso.nic.br/docs/cartilha/


[Capturado em 12 ago. 2004].

(doc@nic.br) Cartilha: Praticas de Segurança para Administradores de


Redes Internet, Disponível: http://www.nbso.nic.br/docs/seg-adm-redes/
[Capturado em 12 ago. 2004].

116
WESTPHAL, Prof. Carlos Becker Material sobre Redes Wireless
Universidade Federal de Santa Catarina.
RNP, Rede Nacional de Ensino e Pesquisa As Tecnologias de Redes Wireless.

CAMILLI, Alberto Segurança em Redes Wireless LAN Geinfo, Maio 2004,


31 slides.

HÜSEMANN, Eng. Ronaldo, WILD, Msc.Rafael, PEREIRA, Dr. Carlos


Eduardo Interligação de Redes PROFIBUS via Rádio Freqüência
Laboratório de automação industrial – UFRGS, 38 slides.

RUFINO, Nelson Murilo de O. Segurança Nacional Novatec, 2001

RITCHIE, Dennis M, KERNIGHAN, Brian W, C A Linguagem de


Programação Padrão ANSI, Editora Campus.

Outros Sites:

http://www.rogercom.com

http://www.tugatronica.com/iii-introducao-a-porta-paralela/

http://www2.eletronica.org/apostilas-e-ebooks/interfaces/apostila-
paralela.pdf

http://www.dghp.bem-vindo.net/tutorial/paralela/paralela.html

http://www.infowester.com/servapach.php

www.apache.org e php www.php.net

http://www.poolcompany.com.br/intro_trat_psicina.asp

117

Вам также может понравиться