• Nenhum resultado encontrado

Ambiente de desenvolvimento

No documento Tese Mestrado 2012 2013 (páginas 89-93)

7. Implementação e testes

7.2 Ambiente de desenvolvimento

Graças ao sistema de desenvolvimento do Contiki (Instant Contiki), que contém o simulador Cooja e todas as ferramentas necessárias para o desenvolvimento das aplicações, não foram necessárias grandes configurações para obtenção de bom ambiente de trabalho. Para além do ambiente Linux (Ubuntu), foi possível testar o desenvolvimento de aplicações também no ambiente Windows (Windows 7).

7.2.1 Configuração do sistema (hardware e software)

Ao contrário do ambiente Linux, no Windows foi necessário a instalação das seguintes ferramentas pela seguinte ordem:

1. Emulador da consola do Linux no Windows – Cygwin; 2. O conjunto de executáveis AVR-WinAVR;

3. Ambiente de desenvolvimento Eclipse;

Seguindo-se a explicação de cada uma destas ferramentas. a) Cygwin

O Cygwin é um programa que permite instalar no sistema operativo Windows um conjunto de programas e ferramentas que reproduzem a consola e ambiente de trabalho de um sistema Linux. Tal como sucede nestes sistemas, todos os programas e ferramentas que fazem parte do Cygwin são de código aberto e gratuito.

A instalação deverá ser feita na raiz do sistema. No final deverá conter o sistema em: C:\cygwin”.

Aquando a escolha das ferramentas, poderá instalar todas as ferramentas (Full

instalation) ou apenas as necessárias, sendo para este projecto consideradas as seguintes

ferramentas:  Automake;  Make;  GCC;  GDB.

b) WinAVR

O WinAVR é um conjunto de executáveis, ferramentas de desenvolvimento de software livre Windows, para microcontroladores Atmel AVR. Este inclui o poderoso compilador GNU GCC para C e C++. A instalação deverá ser feita na raiz do sistema e no final deverá conter o sistema em: “C:\WinAVR”.

Para outras distribuições Linux, será necessário a instalação das seguintes ferramentas: avr-libs e binutils.

$sudo apt-get install avr-libc $sudo apt-get install binutils

c) Programa Avrdude

O Avrdude é um programa que se encontra dentro do WinAVR, no entanto foi escrito inicialmente para Linux, permitindo maior facilidade na programação dos microcontroladores Atmel AVR. Embora sem qualquer interface gráfica, a comunidade de software livre, entre outros, têm desenvolvido ferramentas GUI para este programa. Caso se pretenda instalar noutra distribuição Linux, deve ser utilizado o seguinte comando:

$ sudo apt-get install avrdude

d) Comando Make

Antes de usar qualquer exemplo/aplicação é importante usar o comando apresentado de seguida na pasta da aplicação:

$make savetarget TARGET=avr-atmega128rfa1

Este comando cria um ficheiro denominado “Makefile.target”, contendo a plataforma previamente inserida e permitindo utilizar o comando make, sem necessidade de definir o tipo de plataforma que o Contiki irá usar para compilar. Útil para quem tem dispositivos com a mesma plataforma. Caso não use este comando, a compilação utilizará a plataforma nativa do Contiki.

$ make

TARGET not defined, using target 'native'

Outro método de compilação do código, bom para quem tem vários dispositivos e necessita de compilar em várias plataformas, é a utilização do comando com a indicação da plataforma, por exemplo:

make TARGET=avr-atmega128rfa1 nomeDoApplicativo.hex make TARGET=sky nomeDoApplicativo.hex

make TARGET=avr-raven nomeDoApplicativo.hex

e) SO Contiki

Por defeito o Cygwin cria uma pasta com o nome do computador e é essa a localização por defeito aquando a execução do aplicativo, podendo ser alterada através do ficheiro passwd localizado em: “c:\cygwin\etc\passwd”.

O sistema operativo Contiki deverá ser instalado dentro da pasta do cygwin, por exemplo na pasta HOME. No final terá o seguinte aspecto.

C:\cygwin\home\contiki-2.6\

f) Term Terminal

De modo a visualizar os dados lidos na porta série foi usado o aplicativo Term Terminal, cuja janela de configuração é mostrada na Figura 51. As seguintes configurações foram (ou devem ser) utilizadas:

 COM – A disponível  Rate – 38400  Data bits - 8

 Stop bit – 1  Parity - none  Handshaking – none

7.2.2 Material necessário

Segue se uma breve descrição do material necessário à implementação de testes: a) 2 Adaptadores usb-serial – Foram necessários 2 adaptadores de modo a testar, receber informação proveniente do coordenador e do nó da rede e carregar o aplicativo no dispositivo. Foi utilizado um adaptador Prolific USB-to-Serial Comm Port e USB- Serial CH340;

b) Interface serial no padrão RS232 – Este dispositivo liga directamente ao adaptador usb-serial ou à porta serial do mesmo padrão no computador (caso haja);

c) Microcontrolador – Foi usado o microcontrolador ATmega128RFA1 da AVR em todos os pontos da rede;

d) 1 Portátil – Foi usado na programação e debug dos dispositivos;

e) Sensor de luminosidade – Foi utilizado um sensor de luminosidade (LDR) de 200Kb para verificar o estado de iluminação;

f) Resistência – Foi necessário uma resistência de forma a controlar os valores de dados do sensor de luminosidade;

g) LED – O L, já incorporado no dispositivo, surge como um simulador de uma luz com a possibilidade de ligar e desligar;

h) Multímetro – Foi necessário para testar os valores e as ligações entre o dispositivo e o hardware ligado ao mesmo.

7.2.3 Problemas observados

Visto que os Instant Contiki já contêm um conjunto de ferramentas para o desenvolvimento e testes das aplicações desenvolvidas, não foi necessário nenhuma instalação adicional, apenas o uso de uma máquina virtual. No entanto apesar desta mais-valia, o simulador Cooja, ainda não permite a criação de simulações usando a plataforma ATmega128RFA1. Sendo o Cooja apenas usado para entendimento da execução dos exemplos, tal como testes simples.

Tal como no Instant Contiki, no ambiente Windows foi instalado o Eclipse para aceleração no processo de escrita e debug do código. Infelizmente muito dos trabalhos/ exemplos de conexão do Eclipse ao dispositivo, necessitavam de drives que no

momento de escrita da tese se encontravam obsoletos. A solução passou pelo uso simples da linha de comandos do emulador da consola do Linux, o Cygwin. Este tornou-se essencial numa primeira fase onde não existia a necessidade de configuração do túnel SLIP, mais tarde verificou-se a inexistência de uma aplicação funcional no Windows, por forma a criar o túnel SLIP.

No documento Tese Mestrado 2012 2013 (páginas 89-93)

Documentos relacionados