@vsenger Campus Party 2014 @globalcode
@vsenger Campus Party 2014 @globalcode
Homenagem ao Alberto Fabiano (TechBerto)Homenagem ao Alberto Fabiano (TechBerto)
@vsenger Campus Party 2014 @globalcode
Eu...Eu...
Vinicius Senger - @vsenger
Sortudo morador de Ubatuba
Programador há 20 anos
Fundador de Globalcode
@vsenger Campus Party 2014 @globalcode
AgendaAgenda
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
Internet of Things - IoTInternet of Things - IoT
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.
@vsenger Campus Party 2014 @globalcode
Internet of ThingsInternet of Things
@vsenger Campus Party 2014 @globalcode
Internet of ThingsInternet of Things
@vsenger Campus Party 2014 @globalcode
Internet of ThingsInternet of Things
@vsenger Campus Party 2014 @globalcode
Meus devices...Meus devices...
@vsenger Campus Party 2014 @globalcode
Satélites, Balões e DronesSatélites, Balões e Drones
@vsenger Campus Party 2014 @globalcode
Cavalos...Cavalos...
@vsenger Campus Party 2014 @globalcode
Barcos
@vsenger Campus Party 2014 @globalcode
E até..E até..
@vsenger Campus Party 2014 @globalcode
Internet das PessoasInternet das Pessoas
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;
@vsenger Campus Party 2014 @globalcode
Internet das CoisasInternet das Coisas
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;
@vsenger Campus Party 2014 @globalcode
Internet das Coisas: novos desafiosInternet das Coisas: novos desafios 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.
@vsenger Campus Party 2014 @globalcode
Oportunidades da Internet das CoisasOportunidades da Internet das Coisas
•Área de saúde
•Supply chain
•Indústria automotiva
•Medidores Inteligentes
•Agricultura
•Monitores Ambientais
•Smart Building / Smart City / Smart qualquer coisa
Muitos dispositivos, inúmeras oportunidades:
@vsenger Campus Party 2014 @globalcode
Computadores das PessoasComputadores das Pessoas
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.
@vsenger Campus Party 2014 @globalcode
Computador das CoisasComputador das Coisas
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
@vsenger Campus Party 2014 @globalcode
ArduinoArduino
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:
@vsenger Campus Party 2014 @globalcode
Raspberry PiRaspberry Pi
•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
Computador pequeno, portátil e barato!
@vsenger Campus Party 2014 @globalcode
@vsenger Campus Party 2014 @globalcode
Raspberry Vs. ArduinoRaspberry 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
Gemalto: computadores 3GGemalto: computadores 3G
•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
Geração Java ME pós-celular
@vsenger Campus Party 2014 @globalcode
Intel GalileoIntel Galileo
•Super Lançamento!
•Utiliza SoC Quark
•Poder do Linux com pinagem Arduino embutida
•Shields Arduino + Linux!
Arduino com Raspberry Pi?
@vsenger Campus Party 2014 @globalcode
Beagle Bone BlackBeagle Bone Black
•Cortex A8 – 1Ghz
•Pode rodar Ubuntu, Angstrom, Android e outos
•Menor comunidade se comparado com Raspberry
Raspberry Pi Turbo?
@vsenger Campus Party 2014 @globalcode
Android Mini-PCsAndroid 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
Java e a Internet das CoisasJava e a Internet das Coisas
Enterprise Data & Applications
Cloud para dispositivos embarcado
s
Cloud para dispositivos embarcado
s
Meters
Smart Appliances &
electronics
Personal Devices
Med-Large Embedded / Multi-function Devices
VoIP Comm
Industrial controls / Network Appliances
Management / Monitoring / Operations
Sensors / Microcontroller
s
Connected Vehicles
@vsenger Campus Party 2014 @globalcode
Java EmbeddedJava Embedded
Pequeno
• Leitores RFID
• Tarifadores de Estacionamento
• Leitores Inteligentes
• Caneta Inteligente
Médio
• Routeadores & Switches
• Devices para Armazenamento
• Network Management Systems
• Sistemas de automação fábrica
• Sistemas de segurança
Grande• Impressoras multi-
funcionais• ATMs e sistemas de POS• In-Flight Entertainment
Systems• Sistema votação
eletrônica• Imagens médica
@vsenger Campus Party 2014 @globalcode
Java EmbarcadoJava Embarcado
@vsenger Campus Party 2014 @globalcode
Java + Raspberry PiJava + Raspberry Pi
•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 menores
•PI4J: acesso ao GPIO com API fantástica!
A melhor plataforma para IoT com RPi
@vsenger Campus Party 2014 @globalcode
pi4j LED Blinkpi4j 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
MQTTMQTT
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
@vsenger Campus Party 2014 @globalcode
Mosquito.orgMosquito.org
"Servidor" MQTT / MQTT Broker
Open-source
Versão para Raspberry Pi
Exemplo de aplicação: https://github.com/thomas-kriechbaum/iot-sandbox/tree/master/mqtt-my-raspi
@vsenger Campus Party 2014 @globalcode
Mosquito.orgMosquito.org
"Servidor" MQTT / MQTT Broker
Open-source
Versão para Raspberry Pi
Exemplo de aplicação: https://github.com/thomas-kriechbaum/iot-sandbox/tree/master/mqtt-my-raspi
@vsenger Campus Party 2014 @globalcode
Things APIThings API
•Promove integração entre computadores, tiny computers e microcontroladores!
@vsenger Campus Party 2014 @globalcode
Things4ArduinoThings4Arduino
@vsenger Campus Party 2014 @globalcode
Things Java APIThings Java API
Sintaxe Super Simples!
git clone https://github.com/vsenger/things-api
@vsenger Campus Party 2014 @globalcode
Things Gateway EmbeddedThings Gateway Embedded
http://ip:8080/things/red/200http://ip:8080/things/lighthttp://ip:8080/things/distance
Raspberry Pi Server
Things API
Arduino
@vsenger Campus Party 2014 @globalcode
DEMONSTRAÇÕESDEMONSTRAÇÕES
Embedded Panel
@vsenger Campus Party 2014 @globalcode
DEMONSTRAÇÃO: IoT MonetizaçãoDEMONSTRAÇÃO: IoT Monetização Paypal oferece inúmeras formas para facilitar o
processo de monetização do seu negócio
Paypal Checkin: pague por proximidade!
@vsenger Campus Party 2014 @globalcode
DEMONSTRAÇÕESDEMONSTRAÇÕES
Things Hacker Team: Ricardo Ogliari
Pedro Padilha
Ryoji Kuwae Neto
Vinicius / Hugo