Por que eu devo ler este artigo:Este artigo tem como objetivo principal a introdução ao conceito de Internet das Coisas, bem como explorar suas potenciais aplicações, e, como o Java 8 consegue suprir as demandas de desenvolvimento originárias dessa nova tecnologia. Além dos conceitos de IoT, veremos como o Raspberry Pi, um microprocessador de baixo consumo e custo, pode ser utilizado como interface para a prototipação de projetos para a IoT.

A Internet das Coisas é hoje uma das áreas mais estudadas por entusiastas de tecnologia da informação. Assim, além de estar presente em vários artigos, tem despertado o interesse de várias empresas do setor de tecnologia, como Google, Oracle, Qualcomm e Microsoft.

O conceito de IoT, como veremos a partir de agora, é um pouco amplo e, portanto, difícil de resumir em uma sentença. De forma simples, entende-se por Internet das Coisas um ambiente que reúne diversos tipos de hardware, as “coisas” (things), que se comunicam entre si (M2M, ou Machine to Machine) com pessoas (através de displays de LED, por exemplo) ou ainda com outros sistemas computacionais (via Wi-Fi, Bluetooth, etc.). A Internet das Coisas, no entanto, transcende a conectividade entre sensores, motores, micro controladores, gadgets vestíveis, entre outras opções, e tem como propósito principal elevar o nível de comunicação entre dispositivos e seres humanos, transformando pulsos elétricos em dados que podem ser manipulados e enviados para sistemas maiores, com interface mais amigável.

Segundo a Gartner, referência de consultoria em tecnologia, hoje temos cerca de cinco bilhões de dispositivos interconectados que compõem a IoT e esse número deve saltar para 25 bilhões até 2020. Com essa quantidade de dispositivos gerando informações que trafegam na rede, alguns desafios precisam ser superados, tais como:

  1. Como processar essa quantidade de informação e transformá-la em algo útil?
  2. Como desenvolver soluções de integração entre bilhões de equipamentos e sistemas de grandes corporações?
  3. Quem será o desenvolvedor de tais sistemas? Um engenheiro da computação, eletrônico ou um analista de sistemas?
  4. Um protocolo de comunicação entre os dispositivos tem que ser estabelecido, bem como APIs de acesso a esses protocolos devem ser suportadas pelas linguagens de programação.

Atualmente já existem tecnologias que podem auxiliar na mineração e processamento de dados, tais como as soluções de Big Data de empresas como SAS, Oracle e IBM, superando assim o primeiro desafio. Porém, a resolução desse ponto não é o foco desse artigo.

O segundo desafio também já possui mais de uma solução, e entre as principais podemos citar as plataformas Arduíno e Raspberry Pi. O Arduíno é uma plataforma de prototipagem composta de uma placa microcontroladora, uma IDE e uma linguagem de programação própria, baseada em C e C++. O hardware segue os princípios do “hardware open source”, ou seja, tem uma especificação que pode ser fabricada por qualquer pessoa que estiver disposta a construir sua própria placa. A concepção dessa plataforma surgiu como um projeto da universidade italiana Ivrea Interaction Design Institute, com o objetivo de fornecer uma solução de baixo custo para que estudantes de engenharia pudessem desenvolver seus trabalhos acadêmicos mais facilmente.

O Arduíno pode ser conectado a diversos sensores, estabelecendo uma comunicação de duas vias com eles, de tal maneira que é possível ler dados dos sensores e escrever comandos (ligar e desligar, por exemplo) e parâmetros de configuração, tais como precisão de amostra, leitura contínua ou não, sentido de rotação de um motor, etc.

Devido às características supracitadas, o processo de desenvolvimento de uma aplicação para a plataforma Arduíno é um pouco diferente do processo de desenvolvimento de software para um microcomputador. O código fonte é compilado da mesma forma, no entanto o produto desse processo é gravado no microcontrolador e a aplicação é executada sempre que o dispositivo é ligado (não há um sistema operacional com janelas e ícones para o usuário iniciar/encerrar a aplicação).

Já o Raspberry Pi (RPi) é um microcomputador completo, com processador, memória RAM e ROM (basicamente um cartão de memória MicroSD), portas USB, HDMI e Ethernet. Esse computador tem aproximadamente o tamanho de um cartão de crédito, opera com apenas 5 volts e possui interfaces que podem ser conectadas a diversos dispositivos.

Um dos diferenciais do Raspberry Pi é que ele roda um sistema operacional. Originalmente, apenas uma versão do Debian customizada para a arquitetura de processadores ARM, mas outros SOs também passaram a ser suportados na versão 2 do Pi, tais como o Windows 10, Ubuntu, entre outros. Devido a isso, temos várias ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora