140
Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada. IoT e Mapas Interativos Helmut Kemper - 1

IoT e Mapas Interativos · 2016-08-26 · 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

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 2: IoT e Mapas Interativos · 2016-08-26 · 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

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

[email protected]

!

Sou desenvolvedor sênior na Overalt e

também sou consultor no

desenvolvimento de software e

hardware.

2

Page 3: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 4: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 5: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 6: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 7: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 8: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 9: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 10: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 11: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 12: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 13: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 14: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 15: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 16: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 17: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 18: IoT e Mapas Interativos · 2016-08-26 · 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

18

Page 19: IoT e Mapas Interativos · 2016-08-26 · 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

19

Quanto maior o círculo, mais alto o consumo por litros

Page 20: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 21: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 22: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 23: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 24: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 25: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 26: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 27: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 28: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 29: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 30: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 31: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 32: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 33: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 34: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 35: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 36: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.36

Page 37: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 38: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 39: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 40: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 41: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 42: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 43: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 44: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 45: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 46: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 47: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 48: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 49: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 50: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 51: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 52: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 53: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 54: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 55: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 56: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.56

Page 57: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.57

Page 58: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.58

Page 59: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 60: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 61: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 62: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 63: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 64: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 65: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 66: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 67: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 68: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 69: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 70: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 71: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.

Pré-processamento

71

Page 72: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 73: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 74: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 75: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 76: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 77: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 78: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 79: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 80: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 81: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 82: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 83: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 84: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 85: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 86: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 87: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 88: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 89: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 90: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 91: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 92: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 93: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 94: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 95: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 96: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 97: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 98: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 99: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 100: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 101: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 102: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 103: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 104: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 105: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 106: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 107: IoT e Mapas Interativos · 2016-08-26 · 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

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?

Page 108: IoT e Mapas Interativos · 2016-08-26 · 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

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/

Page 109: IoT e Mapas Interativos · 2016-08-26 · 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

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/

Page 110: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 111: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 112: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 113: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 114: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 115: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 116: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 117: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 118: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 119: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 120: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 121: IoT e Mapas Interativos · 2016-08-26 · 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

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?

Page 122: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 123: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 124: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.124

Page 125: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 126: IoT e Mapas Interativos · 2016-08-26 · 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

Kemper.com.br - Todos os direitos reservados - Proibida a cópia total ou parcial sem autorização por escrito - Marca registrada.126

Page 127: IoT e Mapas Interativos · 2016-08-26 · 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

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?

Page 128: IoT e Mapas Interativos · 2016-08-26 · 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

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/

Page 129: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 130: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 131: IoT e Mapas Interativos · 2016-08-26 · 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

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".

Page 132: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 133: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 134: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 135: IoT e Mapas Interativos · 2016-08-26 · 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

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.

Page 136: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 137: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 138: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 139: IoT e Mapas Interativos · 2016-08-26 · 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

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

Page 140: IoT e Mapas Interativos · 2016-08-26 · 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

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