internet das coisas com java e things api

Post on 26-May-2015

3.601 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra apres

TRANSCRIPT

Globalcode – Open4education

Internet das Coisas com Java e Things API

Vinicius SengerFundador da Globalcode e Criador Things-API.org

Globalcode – Open4education

@vsenger

Agenda

• Introdução• Internet das Coisas• Stand-alone e Things Gateway• Things-API.org• Demonstrações

Globalcode – Open4education

@vsenger

Vinicius Senger

E-mail vinicius@globalcode.com.br

Twitter @vsenger

Fundador da Globalcode

Pesquisas e Inovação

Desenvolvimento de produtos

Vendedor de muambas de arduino:Www.eletronlivre.com.br

Globalcode – Open4education

@vsenger

Introdução

Raiz da Internet:Sistemas de teletexto TELESP – 1200 Bits por segundo

Bulletin Board System BBS – 14.400 / 28.800 BPS

Globalcode – Open4education

@vsenger

Histórico da Internet

ARPANET: 1a rede de troca de pacotesUniversidade da Califórnia L.A. (UCLA)

Standford

Universidade da Califórnia Santa Bárbara (UCSB)

Universidade de UTAH

X.25, UUCP, Usenet e vários outros!

Globalcode – Open4education

@vsenger

Internet Protocol Suite

Link Layer: ethernet

Internet Layer: IP

Transport Layer: TCP

Application Layer: HTTP, FTP, SNMP, etc.

Globalcode – Open4education

@vsenger

Abrangência da Internet

1. Universidades

2. Empresas de tecnologia

3. Pessoas de tecnologia

4. Computadores nas casas pessoas

5. Computadores das pessoas

6. Múltiplos computadores das pessoas

7. Coisas Internet of Things!

Globalcode – Open4education

@vsenger

Internet das coisas

Estima-se que a Internet das coisas terá mais de 20 bilhões de devices em 2020!

Globalcode – Open4education

@vsenger

Quais coisas?

Celulares Televisores, vídeo-games, Carros Robots Luzes, portões, portas, eletrodomésticos Caneta, anel, roupa, colar Sensores, Plantas Coisas caras

Globalcode – Open4education

@vsenger

A “Coisa” - Thing

Application Programming Interface

Computador + Comunicação + Protocolo

Globalcode – Open4education

@vsenger

Computador da Coisa

Computador Pequeno: Geralmente um microcontrolador

Baixo consumo de energia; Bare metal / dedicado / real time; Mais fácil de ligar sensores; Oferece portas GPIO: digitais, analógica, PWM Trabalha com protocolos de comunicação de

hardware: SPI, I2C, UART e outros;

Globalcode – Open4education

@vsenger

Comunicação

Ethernet Wifi 3G ZigBee RFID NFC Bluetooth USB

Globalcode – Open4education

@vsenger

Protocolo

TCP/IP: HTTP / HTTPs, WebService

UDP/IP: OSC, SNMP

Serial, Zigbee, Bluetooth e outros são específicos;

Globalcode – Open4education

@vsenger

Exemplos

Arduino + Ethernet shield + Sensor Presença

Raspberry PI + Wifi + Interface Automação

Arduino + bluetooth + controle de motor + robot

Garrafa de vinho rara + sensor temperatura + RFID + leitor RFID conectado na Internet

Globalcode – Open4education

@vsenger

Devices em Evidência

Arduino: bare metal, simples e popular;

Raspberry.PI: ARM based Linux U$ 40

Electric Imp: ARM Wireless Sparkfun U$ 29

Cinterion Java ME 3g chip: U$ 5

Globalcode – Open4education

@vsenger

Stand-alone e Gateway

Stand-alone Things: coisas que vivem na internet com um endereço IP fixo;

Gateway Things: servidores que se comunicam com coisas em protocolos específicos e as expõe para a Internet;

Globalcode – Open4education

@vsenger

Stand-alone Thing

Possuí um computador + rede TCP/IP:Ethernet, Wireless ou 3G

Conectados na internet ou intranet;

Custo e consumo de energia mais alto;

ComputadorRede

Energia

Stand-alone Thing

Globalcode – Open4education

@vsenger

Gateway Things

São “servidores de coisas”;

Se comunicam com coisas próximas (ou não!) e as expõe na Internet;

Proxy para coisas não TCP/IP:USB / Serial

ZigBee

Infravermelho

Bluetooth

Globalcode – Open4education

@vsenger

Gateway Things

Servidor Java EE

Thing #2Sensor Temperatura

Thing #3Robot aspirador pó

Things Gateway

ZigBee Bluetooth

Thing #1Luzes / Portão Casa

Ethernet

Globalcode – Open4education

@vsenger

Java e Internet of Things

Java EE: excelente plataforma para fazer gateway e cloud-side da IoT. Dispositivos gigantes!;

Java SE: dispositivos grandes;

Java SE Embedded: dispositivos médios;

Java Clone: ?

Java ME: dispositivos pequenos;

Java Card: dispositivos minúsculos.

Globalcode – Open4education

@vsenger

Java e Internet of Things

Múltiplos sistemas operacionais

Múltiplos tipos de computadores

Múltiplas linguagens

Múltiplas ofertas

BILHÕES de dispositivos Java:3 bilhões de Java ME – só phones

Alguns milhões de Java ME não fone

Algumas centenas de milhões de Java CARD

Milhões e milhões de servidores e desktops Java

Globalcode – Open4education

@vsenger

Things-API.org

Evolução do “jHome Automation” projeto premiado “Oracle Innovation Award”

1ª API para Internet das coisas

Abstração para diferentes hardwares, meios de comunicação e protocolos!

Concebida em Java mas com interface interoperável para outras linguagens;

Globalcode – Open4education

@vsenger

Things-API.org

Things Gateway: servidor Java EE que representa seu gateways de coisas na internet;

Things-API.Java: parte principal do projeto com a API que pode ser utilizada com Java SE, FX e EE;

Things-API.NET, JS, Python, PHP: não existem ainda, alguém topa?

Globalcode – Open4education

@vsenger

Things-API.org

Things-API.JavaAbstração Simples:

Device: é a coisa

Componentes: parte da coisa

Componente = Input / Output:Input = Sensor : luz, temperatura, presença, aceleração;

Output = Atuador : motor, led, relé, som;

Sensores = leitura

Atuadores = escrita

Globalcode – Open4education

@vsenger

Things-API.org

Things-API.JavaIP: suporte para devices IP

Serial e Bluetooth: suporta devices bluetooth e serial / USB com protocolo simples de referência;

Globalcode – Open4education

@vsenger

Things-API.org

Things Gateway:Aplicativo Java EE Web simples: 4 servlets

Utiliza a Things API e expõe as “coisas” na Internet;

Forma de tornar a comunicação mais segura;

Pode ser instalado em devices como:Gateway de home automation

Raspberry PI

Beagle Board

Globalcode – Open4education

@vsenger

Things-API.org

DEMONSTRAÇÃO: Things GatewayControlando um device USB via Gateway

Acessando Devices e Componentes via URL

Globalcode – Open4education

@vsenger

Things-API.org

DEMONSTRAÇÃO: jHome AutomationControlando lâmpadas

Controlando LED coloridos

Monitorando sensores com jQuery

Globalcode – Open4education

@vsenger

Things-API.org

DEMONSTRAÇÃO: Sound ProcessingControlando coisas com uma flauta

Globalcode – Open4education

@vsenger

Things-API.org

Things4JavaME: permite criar aplicativos para feature phone que acessam coisas IP e Bluetooth;

Things4Arduino: coisas com Arduino;

Things4Android: aplicativo para controle de coisas do Gateway via Android

Things4Twitter: controle de coisas via Twitter

jHome Automation: aplicativo de referência para automação residencial

Globalcode – Open4education

@vsenger

Things-API.org

DEMONSTRAÇÃO: AndroidControlando Home automation com Android

Globalcode – Open4education

@vsenger

Things-API.org

DEMONSTRAÇÃO: Feature PhoneThings Mobile:

Controlando Robot com Nokia E71

Globalcode – Open4education

@vsenger

Things-API.org

DEMONSTRAÇÃO: KinectControlando coisas com Kinect

Globalcode – Open4education

@vsenger

Things-API.org

CONCLUSÕES

Internet das coisas já está acontecendo!

Plataforma Java é bastante ampla para IoT;

Mais e mais redes de sensores;

Segurança de informação e comunicação sem fio ainda são pontos não resolvidos;

Mercado para health care, hobbies, automação e muitas outras oportunidas;

Globalcode – Open4education

@vsenger

Things-API.org

Links e Referências

www.things-api.org

Lançamento em breve!

Envie e-mail para acesso antecipado:

vinicius@globalcode.com.br

Globalcode – Open4education

@vsenger

Obrigado!

Perguntas e respostas;

vinicius@globalcode.com.br

Twitter @vsenger

top related