Por que eu devo ler este artigo:Este artigo é útil para desenvolvedores que desejam começar a trabalhar com Windows IoT e Raspberry Pi, ampliando seu campo de atuação no desenvolvimento de software e começar a criar projetos para a Internet das Coisas. Veremos nesse artigo que com a Plataforma Universal do Windows podemos criar aplicações para o mini-computador Raspberry Pi e ainda utilizar a mesma aplicação para outros dispositivos que também executem Windows 10. Se você deseja embarcar soluções para automatização de tarefas utilizando Visual Studio, XAML e C#, esse artigo apresentará os primeiros passos para atingir esse objetivo.

A Plataforma Universal do Windows (ou UWP da sigla em inglês) é uma plataforma criada pela Microsoft e introduzida no Windows 10 para permitir o desenvolvimento de aplicações para seu mais recente sistema operacional. Antes da UWP tínhamos SDK`s específicos para plataformas diferentes, como o Windows SDK, Windows Phone SDK, Silverlight SDK, dentre outras. Neste cenário era necessário criar aplicações diferentes para cada plataforma que se desejava alcançar. Ainda que pudéssemos compartilhar parte do código de nossas aplicações utilizando Portable Class Libraries, ainda tínhamos de ter, por exemplo, no Visual Studio, dentro de uma solução um projeto para cada plataforma específica, o que representava mais tempo de desenvolvimento e repetição de trabalho.

A proposta da UWP é ser uma plataforma que permita criarmos uma aplicação que possa ser executada em diferentes dispositivos. Com ela podemos criar uma única uma aplicação e executá-la em um desktop com Windows 10, em um dispositivo móvel com Windows 10 Mobile, no Xbox One (já atualizado para Windows 10) e no Raspberry Pi com Windows IoT, como mostra a Figura 1.

Figura 1. Múltiplos dispositivos compatíveis com a UWP.

Nota: Se esse for seu primeiro contato com a Plataforma Universal do Windows você pode estar imaginando que com ela é possível construir aplicativos móveis para dispositivos com Android e iOS. Isso não é suportado atualmente, para esse fim você pode utilizar Xamarin ou Apache Cordova, que possuem total suporte dentro do Visual Studio e possuem propostas diferentes para a criação de aplicativos (nativos com C#/XAML no Xamarin ou híbridos HTML/JavaScript/CSS no Cordova).

Neste artigo veremos como utilizar a UWP para construir uma aplicação com Windows IoT e o Raspberry Pi 2 (BOX 1). Esse dispositivo ficou mundialmente conhecido como “o computador do tamanho de um cartão de crédito” e começou a ser vendido em fevereiro de 2012 ao preço de 35 dólares. Inicialmente, apenas versões Linux eram suportadas oficialmente até que em 2 de fevereiro de 2015 a Microsoft anunciou pela primeira vez que o Windows 10 teria suporte para Raspberry Pi 2.

BOX 1. Especificação de hardware Raspberry Pi 2

O Raspberry Pi 2 model B possui as seguintes especificações de hardware: processador 900MHz quad-core ARM, 1 GB de memória RAM, qutro portas USB, 40 pinos para I/O, uma porta HDMI, 1 porta Ethernet, uma porta de saída de áudio, um slot para micro SD-Card, além de uma interface para Display e um para Câmera. Diferentemente do Arduino, o Raspberry tem como proposta ser um computador completo para uso, precisando apenas de um sistema operacional.

O Windows 10 IoT é composto por três versões: Core, Mobile Enterprise e Enterprise, sendo a versão Windows IoT Core otimizada para pequenos dispositivos, que é o caso do Raspberry Pi. Essa versão também oferece suporte para Arrow DragonBoard 410c e MinnowBoard MAX.

O Windows 10 IoT Core é gratuito e pode ser obtido no GitHub. É importante mencionar que ele não possui todos os recursos de uma versão completa do Windows 10, ou seja, não é possível utilizar o Windows IoT para executar aplicações como Office, Visual Studio, etc. Essa versão do Windows deve ser utilizada para aplicações embarcadas. Se você deseja utilizar o Raspberry Pi como um computador pessoal com todas as características que você já está acostumado nas versões anteriores do Windows, isso não será possível com o Windows IoT.

Atualmente o Raspberry se encontra em sua terceira geração, sendo que a última versão foi lançada em 29 de fevereiro de 2016 e a Microsoft já anunciou que está trabalhando em uma nova versão do Windows IoT que será compatível com a nova placa.

Internet of Things - IoT

Foi em 1991 que começou a discussão sobre a conexão de objetos, quando a conexão de TCP/IP e a Internet que conhecemos começou a se tonar acessível, e foi em 1999 que Kevin Ashton, do MIT, propôs o termo Internet of Things, ou Internet das Coisas. Após dez anos de estudo e projetos, ele escreveu o artigo “A Coisa da Internet das Coisas” para oRFID Journal, e a partir daí o termo se popularizou.

Composta por milhões de sensores e dispositivos que geram fluxos incessantes de dados, a IoT pode ser usada para melhorar nossas vidas e de nossas empresas em muitos aspectos. A Internet das Coisas é composta de três partes principais: as coisas – por exemplo, um relógio, um óculos, uma geladeira, e tudo mais que possa, de alguma forma, se conectar e gerar algum tipo de informação; as redes – que é o meio através do qual as coisas irão se comunicar, seja através de uma rede local ou através da internet, por isso a adoção do IPv6 se faz necessária, uma vez que teremos que ter todos esses dispositivos com um endereço IP único para que possam se comunicar; e por fim os sistemas – que usam os dados gerados pelas nossas coisas e de alguma forma os manipulam, gerando informações.

Várias experiências têm sido realizadas através do uso da IoT e algumas já fazem parte do nosso cotidiano. Alguns exemplos disso são: pulseiras conectadas à internet que registram a atividade física do usuário, como distância percorrida, velocidade, etc; máscaras que monitoram sono a partir de horários e com alguns ajustes ela acha intervalos de horários livres do usuário e o ajuda descansar durante o dia; na indústria automobilística, temos o desenvolvimento de sistemas de detecção para colisões iminentes, com base em radar e outros tipos de tecn ...

Quer ler esse conteúdo completo? Tenha acesso completo