Desenvolver aplicações para dispositivos inteligentes está cada vez mais fácil. Certamente desenvolvimento embarcado será mais comum nos próximos anos e revolucionará desde o modo com que pensamos em sistemas e o modo como vivemos.
Figura 01: Deixe objetos mais inteligentes!
O Micro Framework é a mais nova plataforma de desenvolvimento para dispositivos embarcados da Microsoft. É uma versão “bootável” (inicializável) do .Net Framework que permite desenvolver softwares para dispositivos embarcados utilizando uma linguagem de programação de alto nível, como por exemplo o C#. Por ser o menor framework existente atualmente, uma aplicação desenvolvida com o Micro Framework requer relativamente pouca capacidade de hardware, sendo ideal para dispositivos pequenos como relógios, acessórios de roupa, display auxiliar, entre outros.
Desenvolvimento
Figura 02: Exemplo de kit de desenvolvimento.
O Desenvolvedor que já programa na plataforma .Net terá uma imensa facilidade em adotar o Micro Framework que utiliza o Visual Studio como ferramenta de desenvolvimento. O Framework é bem compacto, contendo o suficiente para construir uma boa aplicação. Permite o desenvolvimento do código utilizando uma linguagem gerenciável em C# utilizando um subconjunto das bibliotecas .NET. Incluí suporte a I/O do dispositivo, sendo totalmente integrado com o ambiente de desenvolvimento do Visual Studio. É possível inclusive adquirir kits (hardware) de desenvolvimento para teste. Empresas especializadas vendem estes dispositivos.
Figura 03: Dispositivos inteligentes, que controlam aparelhos inteligentes.
O Desenvolvimento em Micro Framework é feito todo em C#, compilado para o MSIL (Microsoft Intermediate Language), que por sua vez é baixado em um formato compactado e interpretado pelo dispositivo do Micro Framework. O código então roda dentro de um padrão de assembly do .NET que é inicializado logo que o dispositivo é ligado, diferente dos outros frameworks que requerem um sistema operacional. Mesmo sem sistema operacional o sistema pode beneficiar-se do uso de threads (pode executar operações em paralelo), gerenciamento de memória, uso do Garbage Colector, responsável em liberar memória de tempos em tempos. Isto simplifica muito o desenvolvimento e reduz o investimento necessário em hardware. Com o Micro Framework só existe um programa que foi desenvolvido para um propósito, ou seja, sem a necessidade de Sistema Operacional, ocupando pouco espaço e inicializando rápido.
Dispositivos
O Micro Framework é muito recomendado para desenvolvimento de aplicações médicas, automação residencial, industrial, automotiva, lazer entre muitas outras aplicações. Atualmente ele roda em processadores como o ARM7 ou ARM9, precisando de 250KB a 512KB para o footprint. Precisa de uma entrada serial, USB ou de rede para a instalação da aplicação. Um ponto muito forte do Micro Framework é o suporte ao debug, tanto em emulador, quando diretamente no hardware.
O Micro Framework permite estender a aplicação, inclusive dando suporte a novos drivers. Cada vez mais os dispositivos estão mais potentes, com mais autonomia em termos de bateria, mais memória, mais poder de processamento, com visores mais potentes. Focando nisto, o Micro Framework passa a ser cada vez mais uma excelente opção de desenvolvimento embarcado. Áreas como automação industrial, automação residencial, saúde, segurança, robótica, entre outras já estão utilizando o Micro Framework.
Figura 04: Exemplo de dispositivos para desenvolvimento com o MicroFramework.
Comunicação entre dispositivos – Web Service
A partir do .NET Micro Framework 2.5 foi disponibilizado o suporte a DPWS (Devices Profile for Web Services). Caso você não esteja familiarizado com o termo web service, em linhas gerais é um modo de trocar mensagens utilizando basicamente arquivos texto como o XML. O DPWS define um padrão para disponibilizar web service que permita troca de mensagem entre dispositivos através da rede.
Imagine o funcionamento de um dispositivo Plug&Play (padrão UPnP), como por exemplo seu pen-drive. Quando você o conecta à entrada USB do computador, automaticamente um driver é instalado e você pode acessar os arquivos. A mesma entrada USB pode ser utilizada por inúmeros dispositivos, como impressora, scanner, mouse, entre muito outros. O funcionamento do DPWS é bem análogo ao funcionamento do Plug&Play, com a diferença que utiliza web service para descobrir equipamentos, serviços e trocar mensagens na rede.
Preparado para o Futuro? Forte abraço e até o próximo artigo.