Download Tiny OS
Document related concepts
no text concepts found
Transcript
Comunicación entre Motes Jean Paul Berríos jeanpaul@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 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