Programando aplicações gráficas para WE Compact

Uma grande quantidade de sistemas embarcados não possui GUI (Graphical User Interface), por outro lado, uma enorme quantidade de sistemas possui a interface gráfica. Atualmente, tais interfaces estão se tornando cada vez mais comuns e necessárias devido ao aumento de capacidade e funções que um único aparelho pode conter, pense em um telefone nos anos 80-90 e um telefone sem foi nos dias de hoje (nem estou falando de celular hein…)

A programação de interfaces gráficas é um desafio na área de embarcados, frequentemente microcontroladores fazem uso de displays controlados por RS232 ou SPI onde de fato o que ocorre é que o display exibe as imagens de acordo com comandos vindos do microcontrolador. Interfaces complexas tornam-se inviáveis nestes casos.

O Windows Embedded Compact suporta aplicações desenvolvidas em Visual C# ou Visual Basic que utilizem o .NET Compact Framework 3.5. A versão mais nova do Windows EC, a 2013, já suporta o Windows Embedded Compact Framework 3.9.

Neste artigo vou descrever os passos básicos para criar uma aplicação para Windows Embedded Compact 7.0 utilizando Visual C# e o .NET Compact Framework 3.5.

O Hardware:

Para este tutorial utilizarei um Computador em Módulo (CoM) Toradex Colibri VF50, apresentado na figura 1. O processador é um ARM Cortex-A5 de 400MHz. Além do processador o CoM possui 128MB de RAM e mais 128MB de memória NAND. O computador em módulo está conectado a uma placa base (Carrier Board) e a um Display TFT 7’’.

OLYMPUS DIGITAL CAMERAOLYMPUS DIGITAL CAMERA

Figura 1: Hardware utilizado, Toradex Colibri VF50 com placa de suporte Iris e Display de 7’’

No site de suporte a desenvolvimento, www.developer.toradex.com, a empresa disponibiliza imagens para o Windows Compact Embedded 6.0, Wnidows Embedded Compact 7.0 e o Windows Embedded Compact 2013. Além destas, a empresa também disponibiliza os BSPs e os Workspaces para Platform Builder para todas as versões. Neste exemplo utilizaremos o Windows Embedded Compact 7.0. Em um post futuro vamos utilizar este BSP para criar nossa própria imagem do Windows EC.

O Ambiente de desenvolvimento.

O meu ambiente de desenvolvimento é um Notebook tradicional com Windows 8.1 Pro e com o Visual Studio 2008 Professional instalado. Para saber mais da instalação consulte o artigo:

Criando um novo projeto.

Inicie seu Visual Studio escolhendo um Smart Device Project na família de projetos para C# conforme mostrado na figura 2.

NewProject

Figura 2: Smart Device Project para C#

Na tela seguinte você deve escolher o tipo de Project C# a ser criado e também qual é o target de tal projeto. Note que eu escolhi o SDK para Windows CE 7.0 da Toradex.

SDK

 

Figura 3: Escolha do SDK e tipo de projeto C#

Na tela seguinte o Visual Studio abre as tradicionais janelas de programação como se fosse um projeto para seu computador normal, arrastei alguns componentes da aba de Toolbox (figura 4 a esquerda) para meu Form e digitei um pequeno código para o botão, transcrito abaixo. Após isso selecionei Build > Build Solution para compilar o projeto.

private void btnClique_Click(object sender, EventArgs e)
  {
        txtBoxMsg.Text = "Hello C# World!";
  }

Desenvolvimento

Figura 4: Desenvolvimento de programa em Visual C#

O último passo agora é configurar o .NET CF 3.5 a Toradex fornece um instalador para o mesmo no formato de arquivo .CAB que deve ser colocado no seu sistema embarcado e executado realizando assim a instalação das bibliotecas necessárias. Na figura 5, é mostrada uma foto de tal instalação sendo realizada.

WP_20150525_14_50_49_Pro

Figura 5: Instalação do .NET CF 3.5 no computdor em módulo através de arquivo “.CAB”

Feito isso, vou configurar o VS2008 para que não tende descarregar no host a versão mais recente do .NETCF3.5, mesmo por que o VS2008 tentará fazer isso para uma versão x86 se a configuração não for corrigida. Na figura 6, estou mostrando como desativar a opção de download do .NETCF3.5. Basta clicar com o botão direito em cima do projeto e acessar a página de propriedade. Nela, navegue para a aba “Devices” e desmarque a seleção: “Deploy the latest version of the .NET Compact Framework (including Service Packs)”

NET

Figura 6: Desativando o deploy do .NET CF 35

Feito isso, ao clicar em Debug a aplicação vai rodar no sistema remoto enquanto o debug roda no seu host de desenvolvimento, veja as figuras 7 e 8.

WP_20150525_14_52_59_Pro

Figura 7: Execução do programa no host remoto, um Microprecessador ARM rodando Windows Embedded Compact

WP_20150525_14_53_23_Pro

Figura 8: Debug no host de desenvolvimento (veja o Breakpoint atingido) e da aplicação rodando no sistema embarcado

Até a próxima!

Guilherme Fernandes

Guilherme Fernandes

Mestre em Engenharia Mecatrônica pela Escola de Engenharia de São Carlos (USP) atua como diretor da Toradex Brasil. Foi responsável pela implantação do escritório de vendas e suporte da Toradex no Brasil. Trabalhou 7 anos como gerente de engenharia de sistemas na área de automação industrial desenvolvendo mais de 300 projetos de máquinas para linhas de montagem e teste de produção para o setor de autopeças.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>