Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia da Computao
Monitor de Enchentes
Aluno: Josemar de Mendona Flausino
Agradeo em primeiro lugar a Deus pela sade, famlia e amigos pelo apoio, aos
orientadores pela disponibilidade, e todos os que de maneira direta ou indireta
contriburam para o desenvolvimento deste projeto.
INDICE
1. INTRODUO ...................................................................................................................... 4
2. MATERIAIS E MTODOS................................................................................................... 5
2.1 HARDWARE ................................................................................................................... 5
2.1.1 ARDUINO ..................................................................................................................... 5
2.1.1.1 ARDUINO UNO ........................................................................................................ 6
2.1.2 SHIELDS ....................................................................................................................... 6
2.1.2.1 SHIELD ETHERNET W5100 ................................................................................... 6
2.1.3 SENSOR LA16M40 Icos .............................................................................................. 7
2.2 SOFTWARE..................................................................................................................... 8
2.2.1 MONITORAMENTO ................................................................................................... 8
2.2.1 APLICAO WEB DE NOTIFICAES .................................................................. 9
2.2.1.1 JAVASCRIPT ......................................................................................................... 9
2.2.1.1.1 JQUERY ............................................................................................................... 9
2.2.1.2 PHP .......................................................................................................................... 9
2.2.1.3 MySQL .................................................................................................................. 10
2.3 TCNICAS UTILIZADAS ......................................................................................... 11
2.3.1 RESISTOR DE PULL-UP ....................................................................................... 11
2.3.2 DEBOUNCING ........................................................................................................ 12
2.3.3 INTERRUPO EXTERNA .................................................................................. 13
2.3.4 DESIGN PATTERNS .............................................................................................. 13
2.3.4.1 DATA ACCESS OBJECT DAO......................................................................... 13
2.3.4.2 MODEL, VIEW, CONTROLLER - MVC............................................................. 15
2.4 VISO GERAL DO SISTEMA .................................................................................. 17
2.4.1 MACRO-FLUXO DO PROCESSO ......................................................................... 18
2.5 CDIGOS DO SISTEMA .......................................................................................... 20
2.5.1 CDIGO APLICAO DE MONITORAMENTO................................................ 20
2.5.2 APLICAO WEB DE NOTIFICAES ............................................................. 24
2.6 ESQUEMA DE LIGAO ........................................................................................ 27
3. RESULTADOS E DISCUSSO ......................................................................................... 28
3.1 EFETIVIDADE DA SOLUO ................................................................................... 28
3.2 TWITTER x FACEBOOK ............................................................................................. 30
4. CONCLUSO ...................................................................................................................... 32
Pgina 1
RESUMO
Os objetivos deste trabalho so enviar notificaes a algum rgo competente sempre que
houver qualquer elevao atpica do nvel dagua em algum ponto considerado de risco,
enviar notificaes para todas as pessoas que se cadastram no site ou seguem alguma rede
social do projeto, alertando sobre reas que j estejam alagadas, de maneira evitem transitar
por essas reas. Este trabalho utiliza uma soluo hardware software, onde atravs de um
microcontrolador (Arduino) e um sensor, o nvel dagua monitorado e ento um sinal
enviado para um sistema web responsvel por enviar notificaes apenas a um determinado
rgo competente ou publicar nas redes sociais e enviar as notificaes para usurios
cadastrados. A conexo entre o arduino e a internet feita atravs de um shield ethernet
modelo W5100. Como resultado deste trabalho foi obtido um aplicativo com uma soluo
barata, que pode ser adaptada e melhorada para outros fins, que isolada no a soluo para
os problemas relativos a alagamentos, mas que em conjunto com outras ferramentas pode
contribuir para a diminuio do nmero de perdas materiais ou no, ocasionadas pelas
inundaes.
Palavras-Chave: Enchentes, Monitoramento, Arduino, Redes Sociais.
Pgina 2
ABSTRACT
The objectives of this work are to send notifications to any competent body whenever there is
any unusual rise in water level at some point considered a risk , send notifications to all
persons registered on the site , or follow some social networking project , alerting areas that
are already flooded , so avoid transit through these areas . This work uses a hardware-software
solution, where through a microcontroller ( Arduino ) and a sensor , the water level is
monitored and then a signal is sent to a web system responsible for sending notifications only
from a particular competent body or post on social networks and send notifications to
registered users . The connection between the Arduino and the internet is via an ethernet
shield model W5100 . As a result of this work has been obtained an application with an
inexpensive solution that can be adapted and improved for other purposes , that alone isn't the
solution to problems related to flooding , but in conjunction with other tools can contribute to
the decrease materials or not losses caused by flooding.
Keywords: Floods, Monitoring, Arduino, social networks.
Pgina 3
1. INTRODUO
Diversas regies brasileiras sofrem com o problema de alagamentos, grandes centros
metropolitanos (So Paulo), pequenas cidades no interior, litoral, regies perifricas dos
grandes centros, enfim, muitos brasileiros j perderam seus bens, seus parentes, sua dignidade
em eventos causados pelo perodo de chuvas. Segundo estudo realizado por (Haddad;Santos,
2013) apenas na cidade de So Paulo, as enchentes ao longo do ano de 2008 causaram um
prejuzo estimado de R$ 762 milhes. O professor Eduardo Amaral Haddad ressalta que a
falta de planejamento urbano um agravante que potencializa os efeitos das inundaes. A
situao agravada pelas transformaes que uma urbanizao no planejada ou mal
planejada ocasionou no uso da terra, com a ocupao e a impermeabilizao das vrzeas dos
rios [...] [1]. Segundo a Pesquisa Nacional de Saneamento Bsico de 2008, realizada pelo
IBGE, 51.2 % dos muncipios declararam sofrer inundaes em sua rea urbana nos ltimos 5
anos, sendo que destes, 27.4% alegaram ter pontos de estrangulamento em seu sistema de
drenagem enquanto os outros 23.8% no possuem pontos de estrangulamento em seu sistema
de drenagem mas ainda sim sofreram inundaes [2]. Este ambiente foi o grande fator
motivador para o desenvolvimento deste projeto, proporcionar uma soluo de rpida
implementao e custo acessvel, que pudesse auxiliar a tomada de decises por parte dos
rgos competentes para auxiliar as pessoas mais carentes, objetivando minimizar ao mximo
as perdas materiais e humanas decorrentes s inundaes, bem como informar, atravs de
mensagem de texto, e-mail, e redes sociais, sobre reas metropolitanas que j esto alagadas a
fim de evitar o transito por estas reas.
Pgina 4
2. MATERIAIS E MTODOS
2.1 HARDWARE
2.1.1 ARDUINO
O Arduino uma placa eletrnica de controle de I/O de cdigo aberto, com base no micro
controlador ATmega, uma soluo de cdigo aberto, sendo assim qualquer pessoa pode
baixar seu esquema eltrico e montar seu prprio Arduino. Inicialmente o Arduino foi
desenvolvido para projetistas e artistas como plataforma de prototipao para cursos de design
de interao, por ser uma soluo de baixo custo e cdigo aberto logo se tornou febre entre
tcnicos e profissionais de eletroeletrnica [3]. A Figura 2.1 apresenta alguns dos modelos de
Arduino:
Pgina 5
ATmega328
Tenso de funcionamento
Tenso de entrada (recomendado)
Tenso de entrada (limites)
E / S digital Pinos
Nmero de Pinos de entrada analgica
Corrente DC por I / O Pin
Corrente DC 3.3V para Pino
Memria Flash
5V
7-12V
6-20V
14 (dos quais 6 fornece uma sada PWM)
6
40 mA
50 mA
32 KB ( ATmega328 ), dos quais 0,5 KB
utilizado pelo bootloader
SRAM
2 KB ( ATmega328 )
EEPROM
1 KB ( ATmega328 )
Velocidade do Clock
16 MHz
Tabela 2.1 Detalhamento Tcnico Arduino UNO
2.1.2 SHIELDS
O Arduino j por si s uma plataforma com muitos recursos, mas possvel estender suas
funcionalidades, torn-lo mais poderoso, dinmico e adaptvel a diversas situaes. Para isto
so utilizados os Shields. Os Shields so placas com funes diversas que acopladas ao
Arduino aumentam sua capacidade de realizar tarefas, existem muitos Shields, Bluetooth, XBee, Ethernet, GSM, Display LCD etc.
2.1.2.1 SHIELD ETHERNET W5100
No projeto foi utilizado um Shield Ethernet W5100. Este shield adiciona ao Arduino a
capacidade de se conectar em uma rede Ethernet abrindo um amplo campo de
desenvolvimento. Com este shield pode-se conectar o Arduino em uma rede local, na internet,
possibilitando assim a integrao com sistemas web. A Figura 2.2 apresenta o W5100.
Pgina 6
Pgina 7
Pgina 8
Pgina 9
2.2.1.3 MySQL
O MySQL um Sistema Gerenciador de Banco de Dados SGBD. Atualmente um dos
SGBDs mais utilizados no mundo, sendo utilizado por grandes empresas. Exemplo:
Facebook, Google, Adobe, Alcatel dentre outras. Sendo um SGBD, o MySQL possui algumas
caractersticas de todo SGBD como:
- Garante que os dados armazenados sero consistentes;
- As operaes sobre os dados podero ser desfeitas caso ocorra algum problema
durante uma transao de dados;
- Segurana dos dados;
- Rotinas de Back-Up e restaurao dos dados em caso de falha.
E tambm possui algumas caractersticas prprias que o fizeram alcanar o ndice de uso
atual, como:
- Portabilidade, podendo ser instalado em diferentes plataformas;
- Compatibilidade, possui integrao com as principais linguagens de programao;
- Excelente desempenho;
- Estabilidade;
- Facilidade no manuseio;
- Open Source (Cdigo Aberto);
- Suporta Triggers;
- Suporta controle transacional;
- Suporta Cursores, Funes e Procedures.
Atualmente o MySQL esta em sua verso 5.7 [7]
Pgina 10
Pgina 11
2.3.2 DEBOUNCING
Todo dispositivo que possui um contato mecnico, ao ser pressionado gera uma srie de
rudos, conhecidos como spikes, que fazem com que ocorram oscilaes no nvel lgico de
determinado pino, a Figura 2.6 representa essas oscilaes.
Pgina 12
outra, ex.: MySql para Oracle, PostGreSQL para SQLServer, ou ainda um database file dbf
em portugus arquivo de banco de dados, etc, no ser preciso reescrever o cdigo da
aplicao basta apenas trocar a classe de DAO. A Figura 2.8 exemplifica a camada de DAO
separando o cdigo da aplicao das operaes do banco de dados.
Pgina 14
Pgina 16
Pgina 17
Pgina 18
qualquer outra ao do meio externo que fez com que uma interrupo invlida fosse gerada;
- Linha 45: Invoca a funo connect() da biblioteca Ethernet.h atravs da varivel cliente,
passando a url do servidor web, e o nmero da porta que se deseja conectar, caso neste ponto
haja uma falha de conexo, o buzzer acionado, pois uma vez sem conexo no ser possvel
enviar notificaes, assim sendo acionado o alarme sonoro.
- Linha 47: Aguarda 1 segundo antes de iniciar a requisio HTTP;
- Linhas 49 e 56: Definem qual requisio ser enviada para web, pois caso o sensor acionado
seja o de elevao atpica, apenas o rgo competente deve ser avisado, caso o sensor
acionado seja o de alagamento, as notificaes para usurios cadastrados devem ser enviadas
alertando que determinada rea esta alagada;
- Linhas 50 e 57: Inicio do cabealho da requisio, nesta linha passa-se aplicao web o
mtodo que esta sendo utilizado, GET, a pgina requisitada redirect.php, e alguns
parametros:
- sensor: indica o sensor que foi ativado;
- id_sensor: guarda a informao do id do sensor, visto que em cada regio monitorada
haver um sensor e cada sensor um nmero que ir identificar o mesmo na aplicao web.
- Linhas 51 e 58: Identificao de qual host esta sendo requisitado pelo arduino, pois num
mesmo hospedeiro pode-se haver mais de um host, e a omisso desta clusula no cabealho
da requisio pode acarretar em um erro de BAD REQUEST;
- Linha 52 e 59: Identificao de quem esta realizando a requisio, no caso adotou-se colocar
a mesma informao enviada pelo browser Mozilla Firefox, a omisso desta clusula pode
resultar tambm em um BAD REQUEST;
- Linhas 53 e 60: Envia uma linha em branco para a aplicao web para identificar o fim do
cabealho da requisio.
web;
- Linha 68: Enquanto houverem caracteres sendo recebidos, so concatenados na varivel
minhaString
Pgina 23
A fim de deixar o cdigo mais claro, evitando a repetio de cdigo, criou-se duas classes que
encapsulam as funes de envio de e-mail e sms. A Figura 2.21 mostra o diagrama das classes
chamadas de utilitrias foram criadas apenas para tornar a aplicao menos acoplada, e
deixar o cdigo mais limpo:
Pgina 26
Pgina 27
3. RESULTADOS E DISCUSSO
3.1 EFETIVIDADE DA SOLUO
De fato a soluo proposta seria eficaz? Traria realmente algum beneficio tanto para pessoas
com maior poder aquisitivo quanto para as pessoas mais carentes? Para se chegar a algum
resultado sobre estas questes necessrio analisar a soluo dentro de cada contexto
imaginado. Para as regies mais perifricas com pessoas mais carentes, o projeto se prope a
monitorar qualquer elevao do nvel dagua que de alguma forma represente uma ameaa
para esta parte da populao, neste caso as notificaes so enviadas somente para algum
rgo pblico, bombeiros, defesa civil ou at mesmo uma comisso criada especificamente
para tratar estes assuntos. Mediante a este alerta ficaria a cargo deste rgo a comunicao
para a populao da rea, a mobilizao de equipes de apoio, retirada prvia das pessoas do
local, enfim qualquer atitude que o responsvel julgue necessria. O ganho nesta situao
seria a antecipao do evento com base na notificao de que o nvel dagua subiu de forma
atpica, reduzindo ento a latncia entre o inicio do evento e o atendimento a estas pessoas,
em resumo a palavra que define bem esta situao seria precauo. A efetividade da soluo
neste caso depende diretamente do envolvimento e comprometimento dos rgos
responsveis com a populao carente, mediante a uma eminncia de alagamento.
Como exemplo de que a informao prvia a partir do monitoramento, e que a antecipao de
decises podem salvar vidas e evitar prejuzos, temos a eficiente defesa civil Australiana que
em 2011 foi tema de uma reportagem no site da revista Veja, onde dentre outras pontos,
ressalta o baixo nmero de mortos devido s inundaes, em 2 meses foram 32 mortes, um
nmero muito inferior se comparado s 765 vtimas fatais nos 8 primeiros dias de chuvas
fortes no inicio de 2011 no Rio de Janeiro [10].
Nas regies centrais, que tambm sofrem com as inundaes, encontra-se uma populao com
mais acesso informao, e para este caso, alm do envolvimento dos rgos competentes, j
citado anteriormente, existe a possibilidade das notificaes sobre reas alagadas serem
enviadas atravs de redes sociais, sms, e-mails. Uma vez que cadastrado no sistema, a pessoa
receberia os alertas de reas que esto alagadas, o ganho nesta situao a rapidez com que
uma informao se espalha graas internet, celular etc, fazendo com que essas reas
alagadas sejam evitadas pela populao que esteja nas ruas, ou ainda as pessoas que esto em
casa ou trabalho evitariam sair naquele exato momento. Neste caso outra questo deve ser
analisada, As pessoas veriam as notificaes na internet, e a informao se propagaria com a
velocidade esperada?. Segundo o pesquisa (Ibope NetRatings, 2012) at 2012, 94,2 milhes
de brasileiros j se conectavam na internet de alguma maneira, o que coloca o Brasil no 5
lugar dos pases que mais acessam a internet, ainda de acordo com a pesquisa, entre 2007 e
2011 o percentual de brasileiros com acesso internet subiu de 27% para 48%, ou seja, 21%
em 4 anos. 31% acessam em Lan house, 27% na prpria casa e confirmando o que foi dito
antes, 25 % acessam a internet na casa de parentes e/ou amigos [11].
Outra pesquisa realizada pela (comScore, 2013) diz que, o brasileiro passou em mdia 27
horas/ms online em seus computadores, sendo 36% dessas horas foram gastas no Facebook,
atualmente a maior e mais popular rede social, em dezembro de 2012 foram quase 44 milhes
de visitantes nicos o nmero de pessoas que acessam sites atravs de dispositivos mobile
chegou a 6% [12]. Segundo o Ibope em 2012 13%, 9,5 milhes, de brasileiros possuem um
smartphone, percentual que at 2009 era de 7%, sendo que 53% aderiu um plano pr-pago,
ou seja, cada vez mais brasileiros adquirem aparelhos mobile com capacidade de conexo.
Pgina 28
Outro ponto que mostra a viabilidade da utilizao das redes sociais para avisar sobre
enchentes , mesmo que a populao no veja a informao, os rgos pblicos possuem
acesso internet o tempo todo, proporcionando mais agilidade no processo de comunicao
do evento aos bombeiros, defesa civil, ou outro rgo responsvel.
Recentemente o IBGE publicou dois grficos elaborados a partir de dados at 2011 da PNAD
(Pesquisa Nacional por Amostra de Domiclios) que mostram o percentual da populao com
internet e que possuem celular. A Figura 3.1 mostra o percentual de pessoas conectadas, e a
Figura 3.2 o percentual de pessoas que possuem aparelho celular.
Pgina 29
Pgina 30
Pgina 31
4. CONCLUSO
Neste projeto foi demonstrado que possvel desenvolver solues simples para problemas
srios, utilizando ferramentas que esto ao alcance de qualquer pessoa, sendo o maior trabalho
juntar as diversas aplicaes j existentes conseguindo uma soluo nova e funcional.
Demonstrou-se ainda que possvel diminuir o tempo entre a ocorrncia de um evento e a
chegada da informao at os rgos competentes, a aplicao desenvolvida publica uma
mensagem no twitter em questes de segundos, replica ao facebook quase que
instantaneamente, envia e-mails em milsimos de segundo, isto muito mais rpido que
algum tomar a deciso de ligar para algum rgo pblico. Com o comprometimento dos
rgos competentes poderia criar-se um novo processo que monitoraria estas notificaes
acelerando o atendimento populao vitimada, reduzindo consideravelmente o nmero de
perdas sejam elas materiais ou at mesmo de vidas.
Pgina 32
7. REFERNCIAS
[1] HADDAD, E. A.; SANTOS, E.T.; Economic Impacts of Natural Disasters in
Megacities: The Case of Floods in So Paulo, Brazil. FEA-USP Universidade de So Paulo
(2013). Disponvel em <
http://www.em.com.br/app/noticia/nacional/2013/03/15/interna_nacional,357555/pais-perdemais-de-r-700-mi-com-enchentes-em-sp.shtml>. Acesso em 01 out. 2013;
[2] Instituto Brasileiro de Geografia e Estatstica - IBGE, Pesquisa Nacional de Saneamento
Bsico (2008). Disponvel em <
http://www.ibge.gov.br/home/estatistica/populacao/condicaodevida/pnsb2008/PNSB_2008.pd
f >. Acesso em 01 out. 2013;
[3] - ARDUINO. What Arduino can do?; Disponvel em <http://www.arduino.cc>; Acesso
em 18 ago. 2013;
[4] JAVASCRIPT SOURCE. What is JavaScript? Is it the same as Java?; Disponvel em
<http://www.javascriptsource.com/faq/index.html>. Acesso em 18 ago. 2013;
[5] jQUERY FOUNDATION; What is jQuery?; Disponvel em <http://jquery.com/>.
Acesso em 18 ago. 2013;
[6] PHP DOCUMENTATION GROUP; In: O que PHP? O que o PHP pode fazer?; 2013.
Disponvel em <http://www.php.net/manual/pt_BR/>. Acesso em 18 ago. 2013;
[7] ORACLE FOUNDATION; Why MySQL? 2013.
Disponvel em <http://www.mysql.com /why-mysql/ >.Acesso em 13 dez 2013;
[8] - GAMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J.; Design Patterns: Elements of
Reusable Object-Oriented Software; In: What is a Design Pattern?; 1 Edition, AddisonWesley Professional (1994) p. 12 -14;
[9] - GAMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J.; Design Patterns: Elements of
Reusable Object-Oriented Software; In: Design Patterns in Smalltalk MVC; 1 Edition,
Addison-Wesley Professional (1994) p. 14 - 16;
[10] DIAS, M.; Na Austrlia, 32 mortos em dois meses de inundaes; Revisa Veja; 2011;
Disponvel em <http://veja.abril.com.br/noticia/brasil/na-australia-32-mortos-em-dois-mesesde-inundacoes>. Acesso 01 out. 2013;
[11] ANTONIOLI, L.; Estatsticas, dados e projees atuais sobre a Internet no Brasil;
2012; Disponvel em <http://tobeguarany.com/internet_no_brasil.php>. Acesso em 18 ago.
2013;
[12] NASDAQ SCORE; 2013 Brazil Digital Future in Focus; So Paulo; Maro 2013;
Disponvel em
<http://www.comscore.com/por/Insights/Events_and_Webinars/Webinar/2013/2013_Brazil_
Digital_Future_in_Focus>. Acesso em 01 out. 2013.
Pgina 33