Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
-
Upload
globalcode -
Category
Technology
-
view
2.133 -
download
3
description
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 [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
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;
Twitter @vsenger