View
7
Download
0
Category
Preview:
Citation preview
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
IoT e Mapas InterativosHelmut Kemper -
1
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sobre mim
Helmut Kemper
helmut.kemper@gmail.com
!
Sou desenvolvedor sênior na Overalt e
também sou consultor no
desenvolvimento de software e
hardware.
2
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sobre mim
Na verdade, eu sou o chamado
programador bombeiro, e a minha
finalidade é resolver todas as
emergências no desenvolvimento de
software, no menor espaço de tempo
possível, da forma mais barata possível.
3
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que vamos ver hoje?Helmut Kemper -
4
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que vamos ver hoje?
Na palestra de hoje, vamos ver um pouco da minha história no
desenvolvimento de um mapa interativo voltado para as
necessidades de IoT e ver um pouco sobre a comunicação de dados
com satélite, sempre que possível, em tempo real.
5
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma conversa com os desenvolvedores.Helmut Kemper -
6
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma conversa com os desenvolvedores
Antes de começar, gostaria de alertar o desenvolvedor sobre um
comportamento muito comum na hora que surge um projeto muito
complexo, o medo.
!
O medo nos mantém vivos e nos preserva, mas, para um
desenvolvedor, o medo nos mata aos poucos. Por isto, saia da sua
zona de conforto.
7
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma conversa com os desenvolvedores
Cuidado para não se achar um bom programador e parar de
aprender coisas novas.
!
Programe por programar .Na verdade, programe o tempo todo.
!
Não se gabe por saber usar ferramentas/frameworks que você não
tem competência para fazer igual.
8
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma conversa com os desenvolvedores
Seja humilde e repasse seu conhecimento aos programadores ao
seu redor;
!
Sempre refaça seus códigos até que a versão mais nova não fique
tão melhor do que a primeira versão. A única forma de aprender a
programar e praticando e corrigindo os próprios erros;
9
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma conversa com os desenvolvedores
Existe o código que funciona e o código que funciona da forma
correta, nunca confunda as duas coisas;
!
Seus erros são fáceis de serem corrigidos?
10
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é IoT?Helmut Kemper -
11
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é IoT?
Alguns amigos em uma mesa de bar e a seguinte pergunta:
!
!
!
O que é IoT?
!
!
12
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é IoT?
Algumas cervejas depois...
!
!
É uma rede social onde a sua geladeira diz ao supermercado: !
ontem a noite o gordinho acabou comigo...
!
!
13
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é georreferenciamento em IoT?
E o que é georreferenciamento em IoT?
!
É quando até a sua geladeira sabe todos os locais onde você esteve
e fofoca tudo para o supermercado...
14
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é georreferenciamento em IoT?
Bebedeiras à parta, o georreferenciamento é qualquer técnica usada
para localizar uma pessoa ou dispositivo no planeta.
!
O que é georreferenciamento em IoT?
!
É a capacidade de localizar pessoas e dispositivos
no tempo e no espaço.
15
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é georreferenciamento em IoT?
No caso da IoT, a geolocalização é usada para o levantamento
estatístico de localizações e horários tanto para dispositivos
quanto pessoas em geral.
16
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é georreferenciamento em IoT?
Um bom exemplo disso pode ser o consumo de combustível do
meu carro sendo transmitido em tempo real, via internet.
17
18
19
Quanto maior o círculo, mais alto o consumo por litros
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Respondendo algumas perguntas
Passada a parte fácil, resta ainda responder algumas perguntas:
20
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Respondendo algumas perguntas
Posso usar comunicação via satélite onde a rede de celulares
não tem boa cobertura?
!
Como integrar a comunicação via satélite e o
servidor da aplicação?
21
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Respondendo algumas perguntas
Vale a pena fazer uma aplicação de mapas do zero e ter uma
aplicação de mapas exclusiva?
!
Posso mesclar o GoogleMaps com a minha aplicação de mapas para
melhorar o desempenho e diminuir os custos?
22
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Respondendo algumas perguntas
Qual o servidor eu necessito e qual o custo de manutenção?
!
Quais as fontes de dados?
!
Como proceder?
23
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é um mapa?IoT e Mapas Interativos
24
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é um mapa pelo ponto de vista do programador?
O que é um mapa pelo ponto de vista do programador?
25
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é um mapa pelo ponto de vista do programador?
Pelo ponto de vista do programador, um mapa é uma entidade
matemática com todas as vias e pontos de interesse
descritos na forma de números.
26
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é um mapa pelo ponto de vista do programador?
Porém, na prática, o mapa é um amontoado de números e
relações entre chaves;
!
Para se ter uma ideia, o mapa do Brasil tem mais de 30 milhões de
registros, todos interligados.
27
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que é um mapa pelo ponto de vista do programador?
Pelo ponto de vista do programador, um mapa não é um
gráfico bonitinho e fácil de entender, este é o
ponto de vista do consumidor final.
28
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Conceito básicoIoT e Mapas Interativos
29
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Conceito básico
Antes de começar, entenda um conceito básico, todo o tráfego passa
pelo servidor, por isto, um servidor lento derruba qualquer
investimento em tecnologia.
30
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Conceito básico
O que determina um bom servidor não é a máquina, é forma como
você programa;
!
Aprenda a testar o desempenho da sua forma de programar, pois, a
sua forma de pensar influencia diretamente no desempenho
do sistema;
!
Aprenda a poupar memória, isto é fundamental.
31
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Por onde começar?IoT e Mapas Interativos
32
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Por onde começar?
Para começar, você vai necessitar de uma fonte de dados
documentada, confiável, acessível e que atenda
as suas necessidades.
!
As mais populares são o GoogleMaps e OpenStreetMaps.
33
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Por onde começar?
No nosso caso, havia à necessidade contratual de privacidade total
nos dados contidos no mapa e todos os dados deveriam ficar
contidos em nossos servidores, por isto, foi escolhido o
OpenStreetMaps.
34
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Por onde começar?
O OpenStreetMaps é bem documentado e pode ser baixado
em vários servidores espalhados pelo mundo na
forma de arquivos XML compactados.
35
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.36
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O primeiro problema
Porém, havia um problema...
37
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O primeiro problema
O arquivo contendo o mapa do Brasil, descompactado, tem mais de
6GB e deveria ser tratado em uma instalação XAMPP comum,
sem alterações nas configurações do PHP.
38
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Dica importante
Evite códigos com necessidade de alterações nos servidores do
cliente. Além de geralmente haverem restrições de contrato,
suas alterações podem ser usadas como desculpas
para todo tipo de problema que já
existia antes de você.
39
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Como abrir e processar um arquivo XML de 6GB com o PHP?
40
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Divida o arquivos em partes
pequenas com a ajuda
de ponteiros.
!
Ponteiros são seus amigos.
!
Aprenda a suar ponteiros.
41
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
No nosso caso, um bloco fixo de 2MB do XML rodou em um
notebook comum, permitindo um tempo de
processamento não superior ao
timeout da aplicação PHP.
42
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Os comandos fopen() e fseek() trabalham bem com ponteiros e o
arquivo pode ser lido sem problemas.
43
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Quando um pacote é carregado, o XML vem fragmentado, mas, ele
é fácil de ser tratado via expressão regular.
44
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Imagine o seguinte fragmento de XML:
!
<coordenadas><lt>-8.107081</lt><lg>-34.894814</lg></
coordenadas><coo
45
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Imagine o seguinte fragmento de XML:
!
<coordenadas><lt>-8.107081</lt><lg>-34.894814</lg></
coordenadas><coo
46
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Um expressão regular simples ^(.*?)(<.*>)(.*)$ consegue separar a
parte inteira do XML.
!
<coordenadas><lt>-8.107081</lt><lg>-34.894814</lg></
coordenadas>
47
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Porém, a operação anterior deixou sobrar o fragmento: <coo
!
e o próximo bloco do XML vai começar com uma falha,
rdenadas><lt>-8.107081</lt><lg>-34.894814</lg></coordenadas>
48
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Concatenando a sobra da operação anterior no início do próximo
bloco lido, a informação é corrigida.
!
<coordenadas><lt>-8.107081</lt><lg>-34.894814</lg></
coordenadas>
49
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Uma vez tendo um pedaço válido de XML, o mesmo foi
encapsulado em uma tag padrão para ser compatibilizado com o
comando xml_parser_create() do PHP.
!
<node><coordenadas><lt>-8.107081</lt><lg>-34.894814</lg></
coordenadas></node>
50
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que fazer?
Como o XML do OpenStreetMaps é bem documentado, uma vez
recuperado de forma correta, fica fácil tratar a
informação contida no mesmo.
51
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Um grande erro de julgamentoIoT e Mapas Interativos
52
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Um grande erro de julgamento
O formato do XML original é fantástico para ser inserido em um
banco de dados relacional, então pensamos:
!
joga tudo no MySQL e depois analisamos. !
1º tentativa: tempo de importação, mais de 100h.
53
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Um grande erro de julgamento
A solução:
!
MongoDB, um banco noSQL com a capacidade de rodar em
memória RAM, permitindo a importação do mapa em
aproximadamente 4h, usando-se um
notebook comum.
54
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Um grande erro de julgamento
O próximo problema encontrado foram as fontes de dados:
!
Os dados do OpenStreetMaps não contêm as informações de
bairros para as cidades do Brasil;
!
O IBGE tem estas informações, porém, voltadas para as suas
próprias necessidades.
55
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.56
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.57
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.58
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Um grande erro de julgamento
Os dados do IBGE foram exportados em dois arquivos, um
contendo a imagem do mapa e outro contento os
dados de cada polígono tendo uma centroide
como identificado.
59
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.60
X <-- -8.124436, -34.898494
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Desenhando o mapaIoT e Mapas Interativos
61
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Desenhando o mapa
Por sorte, tanto o GoogleMaps quanto o OpenStreetMaps
fornecem o mapa já convertido em UTM, ou
seja, o mapa já vem planificado.
62
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Desenhando o mapa
Um mapa UTM é um formato super simples de trabalhar,
onde latitude e longitude podem ser convertidos
diretamente em coordenadas X e Y com
uma simples regra de três.
63
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Georreferenciamento e IoT
64
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Desenhando o mapa
Então, gerar a primeira prova de conceito, depois do mapa
importado, foi super simples e resultou
no primeiro mapa.
65
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Georeferenciamento e IoT
66
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Desenhando o mapa
Algumas semanas de trabalho depois, o mapa ficou assim:
67
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Depois de algumas semanas
e muito trabalho, o mapa
ficou assim.
68
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Desenhando o mapa
Nesse ponto do projeto, temos o mapa dividido em duas
entidades distintas:
!
A entidade matemática, ou alma do mapa, na forma de um banco de
dados normatizado e otimizado para as necessidades do mapa;
!
A entidade gráfica, fácil de ser entendida por qualquer usuário em
qualquer parte do mundo.
69
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
O que falta?
O que falta?
!
Pré-processamento dos dados da entidade gráfica, evitando que o
mapa seja desenhado em tempo real.
!
Na prática, você deve dividir o mapa em pequenos quadrantes,
desenhar todos eles e arquivar no servidor.
70
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Pré-processamento
71
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
A interface gráfica
Uma vez feito isto, falta montar a interface gráfica do usuário.
!
Procure pelos frameworks para jogos, o que para você é um mapa,
para a turma de jogos, é apenas mais um cenário a ser movido.
72
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Vale a pena desenhar um mapa?IoT e Mapas Interativos
73
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Vale a pena desenhar um mapa?
Embora desenhar um mapa planificado seja relativamente
simples, o excesso de detalhes e algumas inconsistências
na fonte de dados, pode deixar a finalização
do projeto extremamente
trabalhosa.
74
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Vale a pena desenhar um mapa?
Porém, há uma grande chance desse projeto se tornar
open source quando estiver totalmente acabado.
75
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Vale a pena desenhar um mapa?
Se não há interface gráfica, eu realmente possuo um mapa?
!
Posso usar o meu sistema de mapa em conjunto com o
GoogleMaps?
!
O que eu ganho com isto?
76
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMapsIoT e Mapas Interativos
77
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
O GoogleMaps tem uma qualidade reconhecida no mercado, porém,
o GoogleMaps tem alguns problemas que não te contam:
78
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
O GoogleMaps só retorna dez pontos por página.
79
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Caso você necessite retornar mais de dez pontos para a sua
aplicação, você deve consultar o servidor várias vezes, e isto requer
tempo.
!
O tempo de resposta muda a percepção do cliente para a qualidade
final do trabalho, quanto mais rápido, melhor!
80
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Deve haver uma espera de 500ms antes de consultar a próxima
página de dados.
81
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Para capturar 30 pontos de interesse, além do tempo de
processamento do seu servidor, haverá o tempo de
comunicação entre os servidores e mais 1 segundo
de acréscimo esperando o GoogleMaps
preparar os dados.
82
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
A relevância dos pontos retornado pelo GoogleMaps depende do
zoom passado ao servidor.
83
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Imagine uma situação real:
!
Sua aplicação deve mostrar os pontos de interesse em um raio de
1Km do usuário, mas, a consulta do GoogleMaps só
mostra os pontos de maior relevância fazendo
com que haja poucos pontos
próximos ao usuário.
84
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Imagine uma situação real:
[continuação]
Por isto, você faz uma consulta para o raio de 1Km, e pelo menos
mais uma consulta, com um raio de uns 100m, assim
você captura mais pontos relevantes
próximo ao usuário.
85
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Quanto mais demora, menor a percepção de qualidade do usuário.
!
A prática mostra 2 segundos como um tempo crítico para a
resposta total do sistema.
!
Não esqueça de contar o tempo de processamento entre a
resposta do servidor e o dispositivo de saída do usuário.
86
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
O servidor do Google é pago.
87
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Reduzir a quantidade de consultas pode reduzir o custo
mensal de manutenção da sua aplicação.
88
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GoogleMaps
Qual a vantagem da integração dos dois sistemas de mapas?
89
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sistema híbridoIoT e Mapas Interativos
90
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sistema híbrido de mapas
O GoogleMpas desenha a interface do usuário, ou seja,
faz a parte complicada;
91
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sistema híbrido de mapas
O seu servidor pode devolver os pontos de interesse contidos na
sua base de forma muito eficiente, diminuindo o
tempo de espera do usuário.
92
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sistema híbrido de mapas
Qual a desvantagem da integração dos dois sistemas de mapas?
93
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sistema híbrido de mapas
O Google é uma empresa grande e tem uma grande
quantidade de pontos de interesse, muito
melhor do que o OpenStreetMaps;
94
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Sistema híbrido de mapas
O OpenStreetMaps conta com mais colaboração em alguns países
do que outros, por isto, é bom testar antes.
95
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouroIoT e Mapas Interativos
96
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
Há uma forma de fazer consultas externas em paralelo e deixar o
código PHP continuar o processamento independente
do tempo de resposta da consulta.
97
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
Crie um arquivo separado para processar a requisição remota e
coloque o código mágico nas primeiras linhas do código.
98
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
99
Aplicação principalignore_user_abort( true );
header("Content-Length: 0", true);
flush();
!Seu código de acesso a outro
servidor aqui.
Servidor Externo.
GoogleMaps por exemplo
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
ignore_user_abort( true )
!
Faz o script PHP continuar a execução, mesmo quando
o navegador fecha.
100
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
header("Content-Length: 0", true);
!
Informa ao servidor que não há resposta a ser processada liberando
o script original para continuar o processamento.
101
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
flush();
!
Garante a transmissão do cabeçalho para à aplicação PHP original
no momento em que a instrução é executada.
!
O servidor recebe o cabeçalho "Content-Length: 0" e entende
como fim da leitura de dados.
102
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Uma dica de ouro
Com esta técnica, podem ser feitas várias consultas em paralelo a
quaisquer servidores necessários a sua aplicação, como por
exemplo, pegar os pontos de interesse do GoogleMaps
em um raio de 500m e outro em um raio de 100m.
103
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dadosIoT e Mapas Interativos
104
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
Wi-Fi, SMS, GPRS, 3G/4G ou satélite?
!
Qual o custo?
!
Quais as recomendações?
105
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
Comece pelo servidor web.
106
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
107
Sou de hardware e não sei montar um servidor MQTT,
o que eu faço?
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.108
http://aws.amazon.com/
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.109
https://hub.docker.com/
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Protocolo de dados
Escolha o protocolo de dados.
110
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Protocolo de dados
Simplifique os dados e escolha o protocolo adequado.
!
Transmissão de dados via formulário html transmite muita coisa
desnecessária.
!
MQTT transmite só o necessário.
111
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Protocolo de dados
112
POST / HTTP/1.1!Host: localhost!Content-Length: 137!Cache-Control: no-cache!Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop!Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryaWkUwZmYVgtBG1Aw!User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36!Postman-Token: a9a6a4a5-a8a2-2e98-8f36-5ea8e2918be4!Accept: */*!Accept-Encoding: gzip, deflate!Accept-Language: en-US,en;q=0.8,pt-BR;q=0.6,pt;q=0.4!
Cabeçalho de uma simples transmissão via POST
Este exemplo real tem mais de 477 caracteres desnecessários.
Isto pode representar 1 segundo a mais por transmissão.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Protocolo de dados
113
POST / HTTP/1.1!Host: localhost!Content-Length: 137!Cache-Control: no-cache!Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop!Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryaWkUwZmYVgtBG1Aw!User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36!Postman-Token: a9a6a4a5-a8a2-2e98-8f36-5ea8e2918be4!Accept: */*!Accept-Encoding: gzip, deflate!Accept-Language: en-US,en;q=0.8,pt-BR;q=0.6,pt;q=0.4!
Cabeçalho de uma simples transmissão via MQTT
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Protocolo de dados
114
O protocolo MQTT transmite apenas o necessário, poupando
tempo de banda de dados para transmissão em tempo real.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Protocolo de dados
115
Meça o tempo, em microsegundos, que seu código leva para
executar e teste novas formas de escrever o mesmo código.
!
Simplifique sempre que possível.
!
No hardware e no software, escolha sempre o tipo de dado que
ocupe o menor espaço de memória possível para seu código.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Wi-Fi, Modem ou Satélite?
116
Escolha o meio de transmissão de dados.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Wi-Fi
A mais simples e barata de todas as forma de transmissão.
!
Bem documentada e cheias de exemplos on-line;
!
Tem um alcance muito limitado.
117
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GPRS
O mercado está cheio de modens, porém, as operadoras podem
não fornecer um suporte adequado por ser uma
tecnologia mais antiga.
118
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
SMS
Tem grande cobertura e baixa latência, além de ser super barata e
eficiente para pequenos pacotes de dados.
119
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
3G/4G
Têm uma boa taxa de transmissão de dados para
grandes volumes de pacotes;
!
Pode necessitar de um hardware mais caro;
!
A cobertura pode variar de acordo com a localidade.
120
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Satélite
121
Posso transmitir os dados via satélite?
!
Como funciona?
!
Quanto custa?
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Não confunda
122
Antes de continuar, vamos entender como funcionam os sistemas
GPS, GLONASS e GALILEU.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GPS, GLONASS E GALILEU
123
De uma forma simplificada, são vários satélites em orbita baixa,
transmitindo o tempo todo, de forma indiscriminada,
sua própria localização no céu.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.124
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
GPS, GLONASS E GALILEU
125
Cada satélite, fornece um sinal de modo à permitir ao receptor GPS
saber onde cada satélite visível se encontra, e quando mais de
três satélites são vistos ao mesmo tempo, a interceção
das esferas é a localização do dispositivo.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.126
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Posso usar satélite?
127
A duas primeiras perguntas a serem respondidas são:
!
Qual a sua necessidade?
!
Quanto você está disposto a pagar?
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
128
Se sua necessidade é apenas o serviço de
localização, a SPOT oferece o serviço de
localização a cada 5 minutos por
R$300,00 anuais, mais
R$589,00 do aparelho. http://br.findmespot.com/pg/
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
129
Com este aparelho, você liga umas pilhas e o cabo
de alimentação e ele transmite os dados direto
para um servidor da própria empresa.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
130
O principal ponto forte é o baixo custo do
equipamento e da anuidade.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
131
Os pontos fracos são:
!
Transmite apenas localização;
A antena embutida necessita "ver" o céu;
A passagem do satélite tem "lacunas" de "sombra".
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
132
Se sua necessidade é localização de dados, a
Delorme oferece algumas opções de aparelho
usando os satélites da Iridium.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
133
No brasil, um aparelho custa em torno de
R$2.500,00 e um plano pode variar
de US$15,00 a US$100,00.
!
Para transmissão de dados, o melhor
plano custa US$65,00.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
134
Unlimited SOS
Unlimited text messages
Unlimited Preset messages (pre-defined messages
set up on the web site)
Unlimited tracking at 10-minute+ intervals
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
135
Existe ainda uma opção de baixo custo, que está
em fase inicial de lançamento, o Spot Connect para
mensagens de até 48 caracteres,
porém, sem preço definido.
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
Como funciona a transmissão?
136
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
!Transmite os dados para um servidor da própria
empresa e permite exportação para CSV ou XML.
!
!
Transmite os dados por SMS, e-mail e para o
servidor da própria empresa;
O datasheet do Bluetooth custa US$500,00.
137
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Transmissão de dados para o servidor
Ponto positivo:
!
Não requer cobertura de celular.
!
Pontos negativos:
!
Demora de até 20 minutos para entrega da mensagem;
A antena necessita "ver" o céu.
138
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Links
https://explore.delorme.com/
!
http://www.findmespot.com/
!
https://www.globalsatgroup.com.br/
139
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.
Obrigado
Caso você seja desenvolvedor e necessite de ajuda, pode me
adicionar no facebook
!
https://www.facebook.com/helmut.kemper.7
140
Recommended