Comunicación entre Motes

Post on 15-Jan-2016

40 views 0 download

description

Jean Paul Berríos jeanpaul@elo.utfsm.cl. Comunicación entre Motes. NesC. Lenguaje de programación orientado a componentes. El usuario crea un componente ayundándose de otros ya creados. Componente. Configuración e Implementación ( miaplicacion.nc) ‏ Módulos (miaplicacionM.nc) ‏ - PowerPoint PPT Presentation

Transcript of Comunicación entre Motes

Comunicación entre Motes

Jean Paul Berríosjeanpaul@elo.utfsm.cl

NesC Lenguaje de programación

orientado a componentes.

El usuario crea un componente ayundándose de otros ya creados

Componente Configuración e Implementación ( miaplicacion.nc) Módulos (miaplicacionM.nc) librerias (.h) Lógicamente 3 partes Configuración Implementación Módulos

El componente La biblioteca de componentes de TinyOS

incluye protocolos de red, servicios distribuidos, drivers de sensores y herramientas de adquisición de datos.

"Un componente posee tres grandes secciones que son: Configuration, Implementation,

Module. Estas tres secciones han de estar obligatoriamente presentes en cualquier componente aunque puedan estar vacías."

Tipos de Datos uint16_t , es un entero sin signo de 16 bit

uint8_t , entero de 8 bit

bool , booleano ( TRUE , FALSE )

result_t , es un boolean pero ( SUCCES , FAIL )

Tipos de C

Instalación TinyOS 1.1.10 (Windows)Borrar todas las versiones previas de Cygwin.

Ir a http://www.tinyos.net/dist-1.1.0/tinyos/windows/

Descargar: tinyos-1.1.11-3is.exe 166M

Ó tinyos-1.1.11-2bis.zip 165M

Instalar *.exe,incluye Cygwin, NesC Java software.

Instalación TinyOS 1.1.10 (Windows)

Java Communication API packageContiene soporte para los puertos paralelos y seriales de PC en windowsSe necesita instalar la API antes que intentar ejecutar un programa Java en el

PC para el intercambio de datos con un mote

http://java.sun.com/products/javacomm/downloads/index.html

Click en “Download Version 2.0 for Microsoft Windows and Solaris/x86”

Descargar para plataforma Windows.Descomprimir en un directorio“commapi”.Ir a “commapi”, y abrir “Readme.html”.

JVM (Java Virtual Machine) Se pueden tener múltiples máquinas virtuales

instaladas en un PC. Copiar el comm.jar a: java/j2sdk1.4.0/jre/lib/ext/

Cuando se instala un jdk: C:\Program Files\Java\jdk1.5.0_01 C:\Program Files\Java\jre1.5.0_01

Para ejecutar una aplicación se usará jre C:\Program Files\Java\jre1.5.0_01\bin\java

http://www.tinyos.net/windows-1_1_0.html

Instalación (Wizard) TinyOS 1.1.9 en Windows

http://www.tinyos.net/windows-1_1_0.htmlLlenar formulario

Una manera fácil de instalar todo lo necesario para TinyOS 1.1.9 es descargando todos los archivos de http://tinyos.net/telosb el cual es un wizard que incluye todo lo necesario para el desarrolo con telosb.

Autorun.inf 09-Dec-2004 15:02 1k Data1.cab 09-Dec-2004 15:32 161M Setup.skin 09-Dec-2004 15:32 67k TinyOS.msi 09-Dec-2004 15:32 1.3M setup.exe 09-Dec-2004 15:33 4.3M tinyos-1.1.9telosb-1.cygwin.noarch.rpm

Wizard TinyOS 1.1.10 (Windows)Incluye todos los paquetes descritos en esta ventana

Instalación TinyOS 1.1.10 (Ubuntu) Descargar desde el siguiente link:Descargar desde el siguiente link:http://www.tinyos.net/dist-1.1.0/tinyos/linux/Son paquetes .rpm (RedHat)Se debe utilizar alien para convertirlos en paquete debianLuego descargar nesc

Se puede bajar vía CVS (el paquete rpm) actualizado

Instalación TinyOS 2.0 Ubuntu edgy Editar el archivo /etc/apt/sources.list con cualquier editor de texto ejm: nano /etc/apt/sources.list

Agregar la siguiente dirección:

deb http://tinyos.stanford.edu/tinyos/dists/ubuntu edgy main

Guardar y salir (CTRL+O) y (CTRL X).

Actualizar los repositorios:

$ apt-get update

Instalar los paquetes: $ apt-get install tinyos tinyos-avr tinyos-msp430 tinyos-tools nesc

Instalación TinyOS 2.0 Ubuntu edgy Agregar al final de gedit $HOME/.bashrc las siguientes lineas:

TOSROOT=/opt/tinyos-2.xTOSDIR=$TOSROOT/tosCLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.MAKERULES=$TOSROOT/support/make/MakerulesPATH=/opt/msp430/bin:$PATHexport TOSROOT TOSDIR CLASSPATH MAKERULES PATH

# Javaexport JDKROOT=/usr/lib/jvm/java-1.5.0-sunexport JAVAXROOT=$JDKROOT

# Ubuntu 6.10 comes with gcc 4.1 which is currently broken with TOSSIM so we'll# use gcc/g++ 4.0export CC=gcc-4.0export CXX=g++-4.0

Script para fácil manejo entre versionesTinyOS 1.1 y TinyOS 2

http://5secondfuse.com/tinyos/install.html

Agregar en archivo .bashrc

# http://5secondfuse.com/tinyos/install.htmlif [ -f ~/.bash_tinyos ]; then . ~/.bash_tinyosfi

Crear archivo .bash_tinyos en home del usuario

Referencia: http://5secondfuse.com/tinyos/.bash_tinyos

Instalación TinyOS 2.0 Ubuntu edgy Links

http://doutdex.wordpress.com/tag/tinyos/ http://jeanpaulberrios.wordpress.com/tinyos/ http://5secondfuse.com/tinyos/install.html

Xubuntos CD live

XubunTOS Xubuntu 6.10 TinyOS 2.0.1 paquetes Debian + TinyOS 1.x CVS repositorio

Referencia: http://toilers.mines.edu/Public/XubunTOS

Estructura Tiny OS 1.1

Directorios TinyOS

/apps – Aplicaciones /tos/interfaces – Interfaces que ofrecen los interfaces al

menos para las componentes primitivos.

/tos/system – Las componentes primitivos del TinyOs /tos/types – ficheros que contiene los tipos de datos

ej: AM.h contiene la estructura de un mensaje TOSMsg )

Un ejemplo de la aplicación blink

Compilar aplicación en XUBUNTOS cd /opt/tinyos-1.x/apps/blink make pc

Ejecutar aplicación Tossim: cd /opt/tiny-1X/apps/Blink/build ./main –p 1 1

uso: ./main [-h|--help] [-r <static|simple>] [-p sec] num_nodes In the projects, we will use

“–r simple” which is default “-p pause-seconds” num_nodes =1

Creación de documentación: cd /opt/tiny-1X/nest/apps/blink

$make pc docs cd /opt/tiny-1X/nesc/index.html

TOSSIM simulación Compilo para PC : make pc /build/pc tendre el ejecutable Invocacion: ./ejecutable [parametros] node motas -nodbgout No debug por la stdout -gui Espera a TinyViz -b Arranca los motes en n segundos

IDE para programar NesC Emacs

Eclipse plugin CATANA

FIN