3. Eu...
Vinicius Senger - @vsenger
vinicius@globalcode.com.br
Sortudo morador de Ubatuba
Programador há 20 anos
Fundador de Globalcode
@vsenger
Campus Party 2014
@globalcode
4. Agenda
Internet das Coisas / Internet of Things
Computadores da Internet
Arduino, Raspberry Pi e outras
Protocolos MQTT, Mosquito e Arquiteturas do Futuro
Demos
@vsenger
Campus Party 2014
@globalcode
5. Internet of Things - IoT
@vsenger
Internet das pessoas: pessoa + device + conexão
Mais e mais devices por pessoa: laptop, video-games,
phones, tablets!
Internet das coias: coisa + device + conexão
Mais e mais devices para coisas: árvores,
refrigeradores, animais, casas, drones, etc.
Campus Party 2014
@globalcode
14. Internet das Pessoas
@vsenger
Informações (geradas por pessoas) mais atualizadas;
Mais informações (de pessoas);
Democratização do conhecimento;
Conveniência e bem estar;
Socialização;
Comunicação humana contínua;
Campus Party 2014
@globalcode
15. Internet das Coisas
@vsenger
Informações mais atualizadas (de sensores);
Mais informações (de objetos);
Democratização do conhecimento (smart devices);
Meio-ambiente e qualidade de vida: florestas,
vazamentos, consumo de energia;
Socialização (padrões de uso de devices);
Comunicação contínua de pequenos dispositivos;
Campus Party 2014
@globalcode
16. Internet das Coisas: novos desafios
@vsenger
Novas arquiteturas e paradigmas: embedded-cloud
Profissionais multi-disciplinares
TCP/IP como idioma universal efetivo: gateways IR,
RFID, Bluetooth etc.
Criatividade é uma moeda
Testes (mais e mais) complexos
Fragmentação em todos lados
Hardware é o passado.
Campus Party 2014
@globalcode
17. Oportunidades da Internet das Coisas
Muitos dispositivos, inúmeras oportunidades:
• Área de saúde
• Supply chain
• Indústria automotiva
• Medidores Inteligentes
• Agricultura
• Monitores Ambientais
• Smart Building / Smart City / Smart qualquer coisa
@vsenger
Campus Party 2014
@globalcode
18. Computadores das Pessoas
@vsenger
PC, laptop, phones, video-games, tablets, etc.
Muito poder de processamento, armazenamento,
memória e alto consumo de energia. Conectividade
completa!
Permite plugarmos devices USB: impressoras,
scanners, cameras, joysticks, etc.
Campus Party 2014
@globalcode
19. Computador das Coisas
@vsenger
System-on-a-chip: Raspberry Pi, Beagle Bone, Galileo
Microcontrolador: Atmegas Arduino, PIC e outros
Baixo consumo de energia e poder de processamento
suficiente para tarefas limitadas e específicas
Permite plugarmos sensores, motores, lâmpadas,
aparelhos domésticos, etc.
Milhares de opções de computadores de coisas
Campus Party 2014
@globalcode
20. Arduino
@vsenger
Famosa plataforma para prototipagem eletrônica
Barato, simples e comunidade gigante;
Open-source: você pode clonar gratuitamente!
Conectividade e Manutenção de código limitadas;
Diferentes Tipos e marcas no mundo todo:
Campus Party 2014
@globalcode
21. Raspberry Pi
Computador pequeno, portátil e barato!
• Computador compacto de R$ 150,00
• ARM11 700mhz / 512MB memória RAM
• SD Card
• Vídeo por HDMI ou composto
• Ethernet e 2 USBs
• GPIO: UART, I2C, SPI, digitais
• Audio
• LCD / Camera
@vsenger
Campus Party 2014
@globalcode
23. Raspberry Vs. Arduino
• Arduino: 2k RAM
• Raspberry: 512 Megas
• Arduino: real-time
• Raspberry: multi-task, pode ser real-time RTOS
• Arduino: nice IOs com 20 pins, Digital, Analog, PWM
• Raspberry: GPIO limitiado
• Raspberry + Arduino: o melhor dos dois mundo!
@vsenger
Campus Party 2014
@globalcode
24. Gemalto: computadores 3G
Geração Java ME pós-celular
• Internet das Coisas com 3G + Java ME + GPIO
• Manutenção, debug, OTA, ferramentas
• Baixo custo no Brasil: U$ 5 para larga escala!
• Indústria, protótipos e "Do It Your Self"
• Concept Board Gemalto
@vsenger
Campus Party 2014
@globalcode
25. Intel Galileo
Arduino com Raspberry Pi?
• Super Lançamento!
• Utiliza SoC Quark
• Poder do Linux com pinagem Arduino embutida
• Shields Arduino + Linux!
@vsenger
Campus Party 2014
@globalcode
26. Beagle Bone Black
Raspberry Pi Turbo?
• Cortex A8 – 1Ghz
• Pode rodar Ubuntu, Angstrom, Android e outos
• Menor comunidade se comparado com Raspberry
@vsenger
Campus Party 2014
@globalcode
27. Android Mini-PCs
• Dezenas (ou centenas de opções)
• Alto custo / benefício
• Não costumam oferecer GPIO, necessitam do ADK!
@vsenger
Campus Party 2014
@globalcode
28. Java e a Internet das Coisas
Personal
Devices
Med-Large Embedded / Multifunction Devices
VoIP Comm
Industrial controls /
Network Appliances
Sensors /
Microcontrollers
Cloud para
dispositivos
embarcados
Meters
Enterprise Data &
Applications
Smart Appliances &
electronics
@vsenger
Management / Monitoring /
Operations
Connected Vehicles
Campus Party 2014
@globalcode
29. Java Embedded
Pequeno
• Leitores RFID
• Tarifadores de
Estacionamento
• Leitores Inteligentes
• Caneta Inteligente
@vsenger
Médio
• Routeadores & Switches
• Devices para Armazenamento
• Network Management Systems
• Sistemas de automação fábrica
• Sistemas de segurança
Campus Party 2014
Grande
• Impressoras multi-funcionais
• ATMs e sistemas de POS
• In-Flight Entertainment
Systems
• Sistema votação eletrônica
• Imagens médica
@globalcode
31. Java + Raspberry Pi
A melhor plataforma para IoT com RPi
• Java SE Embedded totalmente otimizado
• Java EE: rode tomcat, jetty e até mesmo Glassfish
• Java FX: crie interfaces gráficas e use o poder da GPU
• Java ME: crie apps no Raspberry Pi e migre para dispositivos ainda
•
@vsenger
menores
PI4J: acesso ao GPIO com API fantástica!
Campus Party 2014
@globalcode
32. pi4j LED Blink
GpioPinDigitalOutput myLed[] = new GpioPinDigitalOutput[3];
GpioController gpio = GpioFactory.getInstance();
myLed[0] = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01);
myLed[0].setState(true);
Thread.sleep(500);
myLed[0].setState(false);
Thread.sleep(500);
@vsenger
Campus Party 2014
@globalcode
33. MQTT
@vsenger
Internet das Coisas não se resume a placas e
linguagens apenas!
MQTT: protocolo para conectividade voltado para IoT e
machine-to-machine (M2M) computing
Protocolo extremamente leve com enfileiramento
publish-subscribe
IANA port 1883 / 8883 para MqTT sob SSL
Campus Party 2014
@globalcode
34. Mosquito.org
@vsenger
"Servidor" MQTT / MQTT Broker
Open-source
Versão para Raspberry Pi
Exemplo de aplicação: https://github.com/thomaskriechbaum/iot-sandbox/tree/master/mqtt-my-raspi
Campus Party 2014
@globalcode
35. Mosquito.org
@vsenger
"Servidor" MQTT / MQTT Broker
Open-source
Versão para Raspberry Pi
Exemplo de aplicação: https://github.com/thomaskriechbaum/iot-sandbox/tree/master/mqtt-my-raspi
Campus Party 2014
@globalcode
36. Things API
• Promove integração entre computadores, tiny computers e
microcontroladores!
@vsenger
Campus Party 2014
@globalcode
41. DEMONSTRAÇÃO: IoT Monetização
@vsenger
Paypal oferece inúmeras formas para facilitar o
processo de monetização do seu negócio
Paypal Checkin: pague por proximidade!
Campus Party 2014
@globalcode
Java embedded technologies are used in a wide variety of embedded devices. This list is just a small sampling of devices that are currently using Java ME and SE Embedded.