O documento apresenta o tema da Internet das Coisas, discutindo sua história, conceitos-chave e tecnologias envolvidas. É demonstrada a plataforma Things-API.org para integrar dispositivos à Internet e são apresentados exemplos como um robô e gateway usando Raspberry Pi, Java e protocolos como Bluetooth.
Academia do Arquiteto - Introdução a ALM e Redmine
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
1. Internet das Coisas com Coisas Reais:
Java , Things API, Raspberry PI e Toys!
Vinicius Senger
Fundador da Globalcode e Criador Things-API.org
Globalcode – Open4education
2. Agenda
• Introdução
• Internet das Coisas
• Stand-alone e Things Gateway
• Things-API.org
• Demonstrações
@vsenger
Globalcode – Open4education
3. 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
@vsenger
Globalcode – Open4education
4. 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!!!!
@vsenger
Globalcode – Open4education
5. Introdução
Raiz da Internet:
Sistemas de teletexto TELESP – 1200 Bits por segundo
Bulletin Board System BBS – 14.400 / 28.800 BPS
@vsenger
Globalcode – Open4education
6. Histórico da Internet
ARPANET: 1a rede de troca de pacotes
Universidade 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!
@vsenger
Globalcode – Open4education
7. Internet Protocol Suite
Link Layer: ethernet
Internet Layer: IP
Transport Layer: TCP
Application Layer: HTTP, FTP, SNMP, etc.
@vsenger
Globalcode – Open4education
8. 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!
@vsenger
Globalcode – Open4education
9. Internet das coisas
Estima-se que a Internet das coisas terá mais de
20 bilhões de devices em 2020!
@vsenger
Globalcode – Open4education
13. 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;
@vsenger
Globalcode – Open4education
14. Comunicação
Ethernet
Wifi
3G
ZigBee
RFID
NFC
Bluetooth
USB
@vsenger
Globalcode – Open4education
15. 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;
@vsenger
Globalcode – Open4education
16. 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
@vsenger
Globalcode – Open4education
17. 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
@vsenger
Globalcode – Open4education
18. 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;
@vsenger
Globalcode – Open4education
19. 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;
Stand-alone Thing
Computador
Rede
Energia
@vsenger
Globalcode – Open4education
20. 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
@vsenger
Globalcode – Open4education
21. Gateway Things
Things
Gateway
Servidor Java EE
Ethernet ZigBee Bluetooth
Thing #1 Thing #2 Thing #3
Luzes / Portão Casa Sensor Temperatura Robot aspirador pó
@vsenger
Globalcode – Open4education
22. 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.
@vsenger
Globalcode – Open4education
23. 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
@vsenger
Globalcode – Open4education
24. Java Embedded Suite 7
Plataforma para embarcados de médio porte;
@vsenger
Globalcode – Open4education
25. Java Embedded Suite 7
• JRE
• Glassfish
• Java DB
• Jersey
• Device Access API: SPI, I2C, Serial, Etc
@vsenger
Globalcode – Open4education
26. Raspberry PI
Tiny Computer que roda Linux por U$ 40,00
Ethernet, audio, vídeo e GPIO
Excelente para Java Embedded Suite!
@vsenger
Globalcode – Open4education
27. 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;
@vsenger
Globalcode – Open4education
28. 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
@vsenger
Globalcode – Open4education
30. Things-API.org
Things-API.Java
IP: suporte para devices IP
Serial e Bluetooth: suporta devices bluetooth e serial /
USB com protocolo simples de referência;
@vsenger
Globalcode – Open4education
31. 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
@vsenger
Globalcode – Open4education
32. 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
@vsenger
Globalcode – Open4education
35. 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
@vsenger
Globalcode – Open4education
37. 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;
@vsenger
Globalcode – Open4education
38. I'm, you are, we are...
CRAZY!!!!!
http://tinyurl.com/crazysenger-1
@vsenger
Globalcode – Open4education