O documento apresenta:
(1) Uma introdução à Internet das Coisas e como a plataforma Java pode ser usada para conectar dispositivos;
(2) A API Things-API.org que fornece uma abstração para integrar diferentes hardwares e protocolos de comunicação;
(3) Demonstrações de como controlar e monitorar dispositivos usando a API através de aplicativos para Android, Java EE e feature phones.
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Internet das Coisas com Java e Things API
1. Internet das Coisas com Java e Things API
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
Pesquisas e Inovação
Desenvolvimento de produtos
Vendedor de muambas de arduino:
Www.eletronlivre.com.br
@vsenger
Globalcode – Open4education
4. 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
5. 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
6. Internet Protocol Suite
Link Layer: ethernet
Internet Layer: IP
Transport Layer: TCP
Application Layer: HTTP, FTP, SNMP, etc.
@vsenger
Globalcode – Open4education
7. 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
8. Internet das coisas
Estima-se que a Internet das coisas terá mais de
20 bilhões de devices em 2020!
@vsenger
Globalcode – Open4education
11. 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
12. Comunicação
Ethernet
Wifi
3G
ZigBee
RFID
NFC
Bluetooth
USB
@vsenger
Globalcode – Open4education
13. Protocolo
TCP/IP: HTTP / HTTPs, WebService
UDP/IP: OSC, SNMP
Serial, Zigbee, Bluetooth e outros são específicos;
@vsenger
Globalcode – Open4education
14. 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
15. 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
16. 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
17. 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
18. 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
@vsenger
Globalcode – Open4education
19. 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
20. 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.
@vsenger
Globalcode – Open4education
21. 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
22. 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
23. 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?
@vsenger
Globalcode – Open4education
25. 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
26. 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
27. Things-API.org
DEMONSTRAÇÃO: Things Gateway
Controlando um device USB via Gateway
Acessando Devices e Componentes via URL
@vsenger
Globalcode – Open4education
28. Things-API.org
DEMONSTRAÇÃO: jHome Automation
Controlando lâmpadas
Controlando LED coloridos
Monitorando sensores com jQuery
@vsenger
Globalcode – Open4education
30. 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
@vsenger
Globalcode – Open4education
34. 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;
@vsenger
Globalcode – Open4education
35. 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
@vsenger
Globalcode – Open4education