Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!

Post on 22-May-2015

2.133 views 3 download

description

java raspberry pi embedded things-api

Transcript of Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!

Globalcode – Open4education

Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!

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

Programador desde os 12 anos

Pesquisas e Inovação

Vídeo Blog We Are Crazy

Desenvolvimento de produtos

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

Globalcode – Open4education

@vsenger

Motivação

• Está nascendo uma nova Internet!• Uma Internet mais viva!• Uma Internet mais divertida!• Uma Internet não só de computadores e pessoas!• Uma Internet com coisas do passado, presente e

do futuro!• Internet das coisas!!!!

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

DEMO

Ligando coisas "diferentes" no seu computador com Makey Makey

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, REST

UDP/IP: OSC, SNMP

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

I2C, RS232, RS485, SPI: protocolos de eletrônica;

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

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 Adotivo: ?

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

Java Embedded Suite 7

Plataforma para embarcados de médio porte;

Globalcode – Open4education

@vsenger

Java Embedded Suite 7

• JRE• Glassfish• Java DB• Jersey• Device Access API: SPI, I2C, Serial, Etc

Globalcode – Open4education

@vsenger

Raspberry PI

Tiny Computer que roda Linux por U$ 40,00

Ethernet, audio, vídeo e GPIO

Excelente para Java Embedded Suite!

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.REST: expõe coisas via REST em embarcados pequenos

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

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

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

Globalcode – Open4education

@vsenger

Things-API.org

Links e Referências

www.things-api.org

jhome.globalcode.com.br

Globalcode – Open4education

@vsenger

Things-API.org

DEMO

Things Gateway + Kinect + Home Automation

Globalcode – Open4education

@vsenger

Things Robot

Raspberry PI Controlador de Robots baseado em Arduino Sensores luz, temperatura, distância x 2 Camera Wifi Bluetooth Roteador 3 baterias independentes Java Embedded Suite 7 + Things REST

Globalcode – Open4education

@vsenger

Things Robot

DEMO

Globalcode – Open4education

@vsenger

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

I'm, you are, we are...

CRAZY!!!!!

http://tinyurl.com/crazysenger-1

Globalcode – Open4education

@vsenger

Obrigado!

Perguntas e respostas;

vinicius@globalcode.com.br

Twitter @vsenger