Download Tiny OS

Document related concepts
no text concepts found
Transcript
Comunicación entre Motes
Jean Paul Berríos
[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 package
Contiene soporte para los puertos paralelos y seriales de PC en windows
Se 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.ht
ml
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”.
Click
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.html
Llenar 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
Data1.cab
09-Dec-2004 15:32
Setup.skin
09-Dec-2004 15:32
TinyOS.msi
09-Dec-2004 15:32
setup.exe
09-Dec-2004 15:33
tinyos-1.1.9telosb-1.cygwin.noarch.rpm
1k
161M
67k
1.3M
4.3M
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:
http://www.tinyos.net/dist-1.1.0/tinyos/linux/
Son paquetes .rpm (RedHat)
Se debe utilizar alien para convertirlos en paquete debian
Luego 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.x
TOSDIR=$TOSROOT/tos
CLASSPATH=$TOSROOT/support/sdk/java/tinyos.jar:.
MAKERULES=$TOSROOT/support/make/Makerules
PATH=/opt/msp430/bin:$PATH
export TOSROOT TOSDIR CLASSPATH MAKERULES PATH
# Java
export JDKROOT=/usr/lib/jvm/java-1.5.0-sun
export JAVAXROOT=$JDKROOT
# Ubuntu 6.10 comes with gcc 4.1 which is currently broken with TOSSIM so we'll
# use gcc/g++ 4.0
export CC=gcc-4.0
export CXX=g++-4.0
Script para fácil manejo entre versiones
TinyOS 1.1 y TinyOS 2

http://5secondfuse.com/tinyos/install.html
Agregar en archivo .bashrc
# http://5secondfuse.com/tinyos/install.html
if [ -f ~/.bash_tinyos ]; then
. ~/.bash_tinyos
fi
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