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

39
Globalcode – Open4education Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys! Vinicius Senger Fundador da Globalcode e Criador Things-API.org

description

java raspberry pi embedded things-api

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

Page 1: 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

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

Globalcode – Open4education

@vsenger

Agenda

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

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

Globalcode – Open4education

@vsenger

Vinicius Senger

E-mail [email protected]

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

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

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!!!!

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

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

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

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!

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

Globalcode – Open4education

@vsenger

Internet Protocol Suite

Link Layer: ethernet

Internet Layer: IP

Transport Layer: TCP

Application Layer: HTTP, FTP, SNMP, etc.

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

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!

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

Globalcode – Open4education

@vsenger

Internet das coisas

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

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

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

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

Globalcode – Open4education

@vsenger

DEMO

Ligando coisas "diferentes" no seu computador com Makey Makey

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

Globalcode – Open4education

@vsenger

A “Coisa” - Thing

Application Programming Interface

Computador + Comunicação + Protocolo

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

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;

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

Globalcode – Open4education

@vsenger

Comunicação

Ethernet Wifi 3G ZigBee RFID NFC Bluetooth USB

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

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;

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

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

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

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

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

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;

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

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

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

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

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

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

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

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.

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

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

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

Globalcode – Open4education

@vsenger

Java Embedded Suite 7

Plataforma para embarcados de médio porte;

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

Globalcode – Open4education

@vsenger

Java Embedded Suite 7

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

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

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!

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

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;

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

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

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

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

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

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;

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

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

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

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

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

Globalcode – Open4education

@vsenger

Things-API.org

Links e Referências

www.things-api.org

jhome.globalcode.com.br

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

Globalcode – Open4education

@vsenger

Things-API.org

DEMO

Things Gateway + Kinect + Home Automation

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

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

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

Globalcode – Open4education

@vsenger

Things Robot

DEMO

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

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;

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

Globalcode – Open4education

@vsenger

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

CRAZY!!!!!

http://tinyurl.com/crazysenger-1

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

Globalcode – Open4education

@vsenger

Obrigado!

Perguntas e respostas;

[email protected]

Twitter @vsenger