Ainda vejo algumas pessoas afirmando que a Internet of Things (Internet das Coisas) é algo para daqui 15 ou 20 anos. Discordo totalmente disso. A Internet das Coisas já é realidade, com algumas soluções comerciais já disponíveis e os grandes players do mercado criando plataformas específicas para IoT, como IBM e Microsoft. Mas é possível aprender a usar ou mesmo criar aplicações para Internet of Things, uma tecnologia tão recente? A resposta é sim e de várias maneiras diferentes. Aprendendo Internet of Things com Raspberry Pi pode ser uma forma divertida e interessante de entrar no mundo desta nova tecnologia e ainda aplicar conhecimentos de Ciência de Dados.
Mas o que é Raspberry Pi?
O Raspberry Pi é uma placa de computador (em inglês utiliza-se o termo Single Board Computer – SBC), do tamanho de um cartão de crédito (as placas mais novas já são um pouco maiores) desenvolvida por uma empresa do Reino Unido, a Raspebrry Pi Foundation, que foi criada inicialmente para o ensino básico de computação em escolas e países em desenvolvimento. Existem diversos modelos da Raspberry Pi, com preços que variam entre 5 e 35 dólares. O Raspberry Pi possui entradas para vídeo, áudio, USB, cartões SD, ethernet e HDMI. O Raspberry Pi possui seu próprio sistema operacional, baseado em Linux e mais recentemente a Microsoft anunciou uma versão do Windows 10 para Raspberry Pi, como estratégia de sua plataforma de IoT. Com o Raspberry Pi você pode criar programas de computador, usando linguagens como Python, Java, C, C++, que executem tarefas da mesma forma que seria feito em um computador tradicional. Python aliás, tem se tornado uma das principais linguagens de programação para desenvolvimento no Raspberry Pi.
Com o Raspberry Pi, é possível aprender sobre ciência da computação, programação, criar projetos de Internet das Coisas, criar mídia center, projetos de robótica, ou até mesmo, montar um computador. É possível ainda, coletar os dados do seu projeto com Raspberry Pi e aplicar técnicas de Ciência de Dados e modelos de Machine Learning.
Raspberry Pi e Arduino são a mesma coisa?
Não. Arduino também é uma placa de computador desenvolvida em 2005 na Itália por um grupo de estudantes (o nome Arduino vem de um bar onde os estudantes costumavam a se encontrar), totalmente open-source (Hardware open-source permite que você altere todos os seus componentes livremente) e com algumas diferenças em relação ao Raspberry Pi. O Arduino não possui sistema operacional, interpretador ou firmware. Utiliza-se a Arduino IDE para criar código em C ou C++ para a programação. O código é então compilado em linguagem de máquina e executado no Arduino. No Arduino é preciso criar programas que controlem o hardware diretamente (já que não existe sistema operacional).
A questão do controle do hardware é uma diferença importante entre Raspberry Pi e Arduino. O Arduino utiliza um Microcontrolador, enquanto o Raspberry utiliza um Microprocessador. Ambos possuem uma CPU que executa as instruções, assim como memória e I/O (Input/Output) pins. Microcontroladores possuem capacidade de leitura de I/O, permitindo a leitura do hardware diretamente. Os Microprocessadores possuem transistores para cuidar do I/O e se encarregam do processamento. Em uma comparação básica: o Microcontrolador usa a força e o Microprocessador usa o cérebro.
Abaixo algumas diferenças entre as duas placas:
Uma é melhor que a outra? Não. Depende do projeto no qual elas serão usadas e podem inclusive ser usadas em conjunto. Já existem outras opções de placas semelhantes, inclusive versões brasileiras.
Ok, mas e a Internet das Coisas?
A Internet das Coisas (IoT) é, sem dúvida, o tema mais quente em TI no momento. Cada empresa quer participar da IoT e muitos profissionais de TI querem saber como adicionar habilidades da Internet das coisas ao seu currículo. Há muitas opções para aprender sobre a Internet das coisas, mas nada realmente bate a experiência hands-on.
Uma das principais plataformas de aprendizagem para a Internet das coisas é o Raspberry Pi. O Raspberry Pi é uma plataforma popular porque oferece um servidor Linux completo em uma pequena plataforma por um custo muito baixo. Na verdade, uma das partes mais difíceis de usar Raspberry Pi para aprender sobre a Internet das coisas é escolher o projeto certo com o qual começar.
Vários projetos de casas inteligentes estão sendo desenvolvidos, e em breve se tornarão soluções comerciais. Com o Raspberry Pi, é possível criar seu próprio sensor de umidade e temperatura, coletar dados da sua casa ou escritório, analisar os dados e compreender como ocorre o consumo de energia. Tão importante com o que fazer, é o aprendizado no percurso. Sensores que medem e monitoram a qualidade do ar são outro exemplo. Você pode criar seu próprio sistema de sensores com um custo baixo e tudo que precisa é de algumas horas de dedicação. Os sensores são a base da Internet das Coisas e ser capaz de criar seu próprio sistema de coleta e análise de dados é algo sensacional.
Outro projeto interessante, é usar o Raspberry Pi com a campainha da sua casa. Quando alguém tocar a campainha, o Raspberry Pi envia uma mensagem de texto ou inicia um streaming de vídeo no seu celular. E se isso fosse usado em sistemas de segurança em escolas, hospitais? O mundo estará cheio de sensores em pouco tempo e por que não começar e aprender sobre isso desde já?
Outro projeto de IoT interessante com o Raspberry Pi, é o controle por voz de micro-ondas ou o controle de um frigobar de acordo com a quantidade de garrafas disponíveis. Tudo isto está sendo feito por pessoas comuns, dispostas a aprender sobre Internet das Coisas. O Raspberry Pi pode ser usado para isso.
E a robótica é outro terreno fértil para IoT e Raspberry Pi. Já existe até mesmo um kit que permite a criação do seu próprio robozinho, um BB-8 (aquele do filme Star Wars – O Despertar da Força).
A Microsoft desenvolveu um protótipo de reconhecimento facial para abertura de portas, usando Raspberry Pi. Visite o site: https://dev.windows.com/en-us/iot. Tem muita coisa acontecendo no universo da Internet das Coisas.
Referências:
Raspberry Pi: https://www.raspberrypi.org
Modelos de Raspberry Pi: http://raspberrypibra.com/todos-os-modelos-de-raspberry-pi-921.html
Raspberry Pi nas iniciativas de IoT da IBM: https://developer.ibm.com/recipes/tutorials/raspberry-pi-4/
Projetos de IoT com Raspberry Pi: https://www.raspberrypi.org/blog/tag/internet-of-things/
Projetos Open-source com Raspberry Pi: https://opensource.com/tags/raspberry-pi
Arduino: https://www.arduino.cc
Projetos de IoT com Raspberry Pi e Arduino: http://www.smartliving.io/
Programação Python para Raspberry Pi: https://www.pubnub.com/blog/2015-05-27-internet-of-things-101-getting-started-w-raspberry-pi/
ThingBox para Raspberry Pi: http://thethingbox.io/
David Matos
Olá, tudo bem? Venho com background de computação/Sistemas de informação, e iniciei uma graduação de estatística, mas, (ainda) não rendeu muitos frutos, bom, a parte que importa é que venho acompanhando o blog em busca de conhecimentos estatísticos mas nesse post me vi obrigado a interagir, recomendo essa palestra [1] que explica de forma bem agradável mais um pouco sobre IoT. Abraço
[1] – https://www.youtube.com/watch?v=BDfysCooHGw
Olá Jhonatan,
Obrigado por acompanhar o blog. Tenha certeza que seu background lhe renderá bons frutos, se aplicado na direção certa.
Abs
David
Realmente IoT já chegou faz um tempo, já é realidade, daqui pra frente é só avanço nessa área.