Comunicación entre Motes Jean Paul Berríos [email protected].
-
Upload
sofia-parra-lopez -
Category
Documents
-
view
219 -
download
0
Transcript of Comunicación entre Motes Jean Paul Berríos [email protected].
Comunicación entre Motes
Jean Paul Berrí[email protected]
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