Slides

TDC2015 - Internet das Coisas - OpenDevice

Description
Slides da apresentação no TDC2015 Florianópolis Open IoT (Internet Of Things) Platform and Framework. Conectando coisas com Arduino/Raspberry/Andoird/Java usando OpenDevice
Categories
Published
of 33
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. Trilha: Internet das Coisas Open IoT (Internet Of Things) Platform and Framework Conectando coisas com Arduino/Raspberry/Android/Java usando OpenDevice Ricardo JL Rufino ricardo@criativasoft.com.br ricardo.jl.rufino@gmail.com 05/2015
  • 2. AgendaApresentação Esp. em Engenharia de Software ➔ Mestrando em Gestão de TI (UFPE) ➔ Sócio fundador da CriativaSoft. ➔ Apaixonado por tecnologia, open source/hardware ➔ Atuo no desenvolvimento de Software desde 2007, focado em soluções empresariais sobre plataforma JavaEE. Desenvolvedor de softwares open-source como Framework Web MVC Mentawai, ProjectNCode e instrutor de cursos de Java.
  • 3. OpenDevice Open IoT (Internet Of Things) Platform and Framework. “Conjunto de ferramentas e APIs para construção de soluções de Internet das Coisas”
  • 4. OpenDevice ● APIs e Ferramentas que permitem construir sistemas de: – Automação Residencial – Monitoramento de Sensores – Monitoramento de Energia – Controle de Robôs – Smart City
  • 5. OpenDevice ● Objetivo: O principal objetivo é monitorar e controlar hardwares baratos como Arduino, RaspberryPI e plataformas semelhantes, local (offline) ou sobre a nuvem usando linguagens de programação de alto nível e com a abstração de protocolos e detalhes de baixo nível.
  • 6. Foco no que é importante ! Isso permite que você se concentre em seu projeto e na inovação, deixar os detalhes obscuros de protocolos de comunicação e especificações com OpenDevice, você vai dar um passo importante para o sucesso de seu projeto.
  • 7. Tecnologias Envolvidas
  • 8. Funcionalidades ● Open API (for: REST, JavaScript, Java, Android, Arduino, EnergiaIDE) ● Real-time (WebSockets) ● Event-Based ● Async & non-blocking ● Multi-protocolo (Usb, Bluetooth, TCP) ● Independente de Linguagem ● Independente de Plataforma (Windows, Linux, Mac, MIPs on OpenWRT) ● Lightweight/Built-in Servers (não precisa do tomcat ou glassfish)
  • 9. Visão Geral
  • 10. Event-driven and Real-Time Você não precisa consultar a informação, ela vem até você quando os dados estiverem disponíveis
  • 11. Um pouco de Código Uma pitada de java...
  • 12. Blink - Arduino * C / Arduino Biblioteca disponível em: https://github.com/OpenDevice/opendevice-lib-arduino
  • 13. Blink - Arduino * C / Arduino Outras opções.....
  • 14. Blink – Java (Arduino Style)
  • 15. Blink - Java (mais livre)
  • 16. Blink Java (Comandos)
  • 17. Incrementando no JAVA Definição de Dispositivos Definição das Conexões * JAVA *Opcional: Somente é necessário se for trabalhar com O.O do lado java
  • 18. Adicionando Rest ! Adicione essa linha e seja feliz !!! Você pode acessar pelo navegador … ou com JavaScript !
  • 19. Agora ficou sério ! WebSockets ! Adicione essas linhas e fique Real-Time e de quebra servidor http ! Biblioteca de Rest e WebSocket ! (adicione no pom.xml) Ao adicionar o servidor de W.S automaticamente já é adicionado o servidor REST
  • 20. Api JavaScript para WebSocket
  • 21. Instalação ● Usando o Maven (arquivo pom.xml) Substitua: ${opendevice-version} pela ultima versão Qualquer dúvida consulte: https://opendevice.atlassian.net/wiki/display/DOC/Documentation <dependencies> <dependency> <groupId>br.com.criativasoft.opendevice</groupId> <artifactId>opendevice-connection-stream</artifactId> <version>${opendevice-version}</version> </dependency> <dependency> <groupId>br.com.criativasoft.opendevice</groupId> <artifactId>opendevice-core</artifactId> <version>${opendevice-version}</version> </dependency> </dependencies>
  • 22. Instalação ● Adicionar o repositório da Sonatype <repositories> <repository> <id>oss.sonatype.org</id> <url>https://oss.sonatype.org/content/repositories/releases</url> </repository> <repository> <id>oss.sonatype.org-snapshot</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </repository> </repositories>
  • 23. Instalação (lib arduino/similar) ● Baixar ou Clonar o repositório do GIT – github.com/OpenDevice/opendevice-lib-arduino ● Copiar para pasta '/libraries' da IDE do Arduino – Mude o nome da pasta para OpenDevice ● Reinicie a IDE do Arduino Github / Sources: https://github.com/OpenDevice
  • 24. HORÁRIO RESERVADO À PROGRAMAÇÃO E MÃO NA MASSA
  • 25. Modulos ➔ opendevice-connection modules ➔ opendevice-connection-api: Especificação das Interfaces de Conexão Cliente/Server ➔ opendevice-connection-stream: Conexões USB,Bluetooth,TCP (PC/RaspPI) ➔ opendevice-android-stream: USB,Bluetooth para Android ➔ opendevice-raspberry-pi4j: Abstração da comunicação usando PI4J ➔ opendevice-connection-samples: Exemplos de comunicação de baixo nível ● OBS: Identificação das Implementações em Runtime (SPI – Service Provider) ➔ opendevice-clients modules ➔ opendevice-js: Biblioteca JavaScript com WebSocket e REST ➔ opendevice-wasync-client: Biblioteca Websocket para Android e PC ➔ opendevice-servers modules ● opendevice-rest-ws-server: Servidor REST e WebSocket ➔ opendevice-rest-api: Interface REST para controle dos Devices
  • 26. Modulos ● opendevice-hardware-libraries (ex: opendevice-lib-arduino) – Biblioteca para coordenação e ponte com os equipamentos físicos (lampadas, tvs, ar, sensores, etc.. ) e implementação do protocolo do OpenDevice. – Compatível com as plataformas AVR/Arduino e ARM (Stelarias Lauchpad 32bits) ● opendevice-core: – Implementação do Protocolo, API de Commandos, Devices (JAVA) ● opendevice-server-app: – Aplicação de Gestão, Controle e Monitoramento (JAVA) – Usa praticamente todos os outros módulos – Banco de Dados: Neo4J usando Hibernate OGM (JPA ) , algumas consultas nativas ● opendevice-web-view: – Interface HTML/5 + AngularJS + OpenDeviceJS usada no server-app
  • 27. Postura ! Nós somos desenvolvedores, não somos “normais” ACEITE ISSO.. !!! Devemos ser agentes de Transformação e Criação.
  • 28. Atitude ! Não espere a ideia brilhante ! Execute a ideia que você gosta. Descubra o que você gosta Não escute os outros ● Muita gente vai dizer que você não consegue ● Muita gente vai dizer que já existe
  • 29. Dúvidas ?
  • 30. Contatos ● E-mail: – ricardo@criativasoft.com.br – rjlr@cin.ufpe.br ● Facebook – /ricardojlrufino
  • 31. Link's ● OpenDevice: – http://opendevice.io – https://github.com/OpenDevice – https://opendevice.atlassian.net/wiki – http://opendevice.criativasoft.com.br ● Facebook – /opendevice ● IDE do Arduino + Melhorias – http://iot.criativasoft.com.br
  • 32. Link's ● Onde Comprar ? (Gringos): – www.adafruit.com – www.sparkfun.com – www.seeedstudio.com – imall.iteadstudio.com – www.dx.com (mercado livre – demora....) ● Brasil – Lab de Garagem (http://www.labdegaragem.org – Multilógica Shop (http://multilogica-shop.com/); – Rlrobotics (http://www.rlrobotics.ind.br/arduino); – Webtronico (http://www.webtronico.com/)
  • 33. Obrigado pela sua atenção.
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks