Permalink
Browse files

Added comments about the module and author.

Also added EMoS README file.
  • Loading branch information...
Marcio Nobrega
Marcio Nobrega committed Dec 11, 2012
1 parent abf2ab1 commit 2c946deeab2995361d8f852340b118cb67a995c7
View
@@ -0,0 +1,111 @@
+EMoS - Elder Monitoring System
+
+Este trabalho foi desenvolvido no âmbito da dissertação de mestrado em Engenharia Electrotécnica e de Computadores,
+entitulada "Monitorização de Pessoas em Ambiente Doméstico".
+
+Resumo (PT)
+
+O aumento constante da população idosa mundial tem criado uma enorme quantidade de
+desafios ao desenvolvimento nacional, à sustentabilidade das famílias e à capacidade dos siste-
+mas de saúde de darem suporte à população idosa. À medida que a tecnologia dos sensores
+wireless evolui, dispositivos de baixo consumo, reduzida largura de banda e capacidade de ar-
+mazenamento médio, surgem no mercado, com custos de aquisição bastante reduzidos. A mo-
+nitorização de ambientes domésticos baseada em sensores wireless, fornece um meio seguro
+e contido para pessoas idosas, permitindo que estas possam viver nas suas casas o máximo
+tempo possível. Este trabalho introduz o Elder Monitoring System (EMoS), um sistema desen-
+volvido no Mixed Simulator (MiXiM), onde foi implementado um protocolo de encaminhamento
+Ad hoc On-demand Vector Routing (AODV) e um sistema de localização baseado no HORUS,
+com a finalidade de monitorizar, num ambiente doméstico, pessoas idosas ou com necessidades
+especiais. Os resultados obtidos desta investigação demonstram a viabilidade de construir um
+sistema simulado para monitorização de pessoas num ambiente doméstico, onde aspectos de
+hardware comercialmente disponível foram também discutidos.
+
+Autor: Márcio Luís M. V. Nóbrega
+Orientador: Prof. Doutor Renato Jorge Caleira Nunes
+Co-Orientador: Prof. Doutor António Manuel Raminhos Cordeiro Grilo
+
+Requisitos (Instalação em Linux 12.4 LTS)
+
+> INSTALAÇÃO DO OMNET++
+
+- OMNeT++ 4.2.2 (http://www.omnetpp.org/)
+1- fazer download do ficheiro omnetpp-4.2.2-src.tgz - http://www.omnetpp.org/omnetpp/doc_details/2245-omnet-422-source--ide-tgz
+
+2- abrir um terminal e instalar os pacotes necessários no ubuntu executando os seguintes comandos:
+- sudo apt-get update
+- sudo apt-get install build-essential gcc g++ bison flex perl \
+tcl-dev tk-dev blt libxml2-dev zlib1g-dev openjdk-6-jre \
+doxygen graphviz openmpi-bin libopenmpi-dev libpcap-dev
+
+3- descomprimir na em /home
+- tar xvfz omnetpp-4.2.2-src.tgz
+
+4- incluir no ficheiro ~/.bashrc as linha e reinciar a linha de comandos
+
+export PATH=$PATH:$HOME/omnetpp-4.2.2/bin
+export TCL_LIBRARY=/usr/share/tcltk/tcl8.5
+
+5- ir para a pasta "omnetpp-4.2.2" e executar o comando:
+
+./configure
+
+6- verificar se o OMNeT++ está correctamente instalado executando os seguintes comandos:
+
+- cd samples/dyna
+- ./dyna
+
+7 - instalar os icons de desktop e menu
+
+- make install-menu-item
+- make install-desktop-icon
+
+8 - iniciar o IDE executando o seguinte comando
+
+- omnetpp
+
+
+> INSTALAÇÃO DO MIXIM/VEINS/EMoS
+
+O EMoS foi desenvolvido dentro de uma versão modificada do MiXiM chamada VEINS que contém a simulação de obstáculos.
+
+Para importar o VEINS para o IDE executar os seguintes passos:
+
+- Seleccionar a opção File->Import
+- Escolher o tipo de importação General->Existing Projects into Workspace
+- Escolher a importação através de ficheiro comprimido e procurar o ficheiro "MiXiM-EMoS"
+
+Após uma importação feita com sucesso seleccionar o projecto e executar a operação Run->BuildAll
+
+
+> EXECUÇÃO DO EMoS
+
+Para executar o EMoS efectuar os seguintes comandos no terminal:
+
+- cd workspace/mixim/examples/EMoS
+- editar os ficheiros omnetpp.tests.ini e o ficheiro omnetpp.tracking.ini para que os parâmetros de configuração seguintes estejam numa localização correcta:
+
+ned-path=/home/mnobrega/workspace/mixim/src;/home/mnobrega/workspace/mixim
+tkenv-image-path=/home/mnobrega/workspace/mixim/images/EMoS
+load-libs=/home/mnobrega/workspace/mixim/src/modules/miximmodules /home/mnobrega/workspace/mixim/src/base/miximbase
+
+- executar a simulação de localização do EMoS efectuando o seguinte comando:
+
+./EMoS -f omnetpp.tracking.ini -u Tkenv -c online
+
+Descrição das pastas que constituiem dentro do MiXiM o EMoS:
+
+-> examples/EMoS : configuração geral através de ficheiros *.ini, ficheiros XML de configuração, resultados da simulação
+-> src/modules/netw/EMoS : módulo network do AODV desenvolvido para o EMoS
+-> src/modules/application/EMoS : implementação das diferentes camadas de aplicação existentes no sistema EMoS (Nó móvel, Nó estático e Nó base)
+-> src/modules/messages/EMoS : mensagens usadas pela camada de aplicação e network
+-> src/modules/node/EMoS : configuração física dos nós de sistema
+-> src/base/utils/EMoS : informação de controlo enviada da camada Network para a camada Application
+
+
+
+
+
+
+
+
+
@@ -1,3 +1,15 @@
+/* -*- mode:c++ -*- *******************************************************
+ * file: NetwToApplControlInfo.h
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * This module implements the controlinfo the flows from the
+ * Network layer to the Application layer.
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
#ifndef NETWTOAPPLCONTROLINFO_H_
#define NETWTOAPPLCONTROLINFO_H_
@@ -1,3 +1,18 @@
+/* -*- mode:c++ -*- ********************************************************
+ * file: BaseStationAppLayerEMoS.cc
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * Implements the base node application layer in EMoS. This
+ * node loads a radioMap XML previous built in the offline mode
+ * and estimates all the detected mobile nodes positions.
+ *
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
+
#include "BaseStationAppLayerEMoS.h"
Define_Module(BaseStationAppLayerEMoS);
@@ -1,3 +1,18 @@
+/* -*- mode:c++ -*- ********************************************************
+ * file: BaseStationAppLayerEMoS.h
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * Implements the base node application layer in EMoS. This
+ * node loads a radioMap XML previous built in the offline mode
+ * and estimates all the detected mobile nodes positions.
+ *
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
+
#ifndef BASE_STATION_APP_LAYER_EMOS_H
#define BASE_STATION_APP_LAYER_EMOS_H
@@ -1,4 +1,14 @@
package org.mixim.modules.application.EMoS;
+//***************************************************************************
+// file: BaseStationAppLayerEMoS.ned
+//
+// author: Márcio Nóbrega
+//
+// copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+//
+// description: EMoS Base Station application layer.
+//
+// **************************************************************************/
simple BaseStationAppLayerEMoS
{
@@ -1,3 +1,22 @@
+/* -*- mode:c++ -*- ********************************************************
+ * file: MobileNodeAppLayer.cc
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * Implements the mobile node application layer in EMoS. This
+ * node has the hability to build the radioMap XML file during
+ * the offline phase. In the online phase it collects all the
+ * static nodes signatures during a pre-configure time period
+ * and sends it to the base station for position estimation.
+ * It has also the ability to send messages to any node in the
+ * WSN.
+ *
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
+
#include "MobileNodeAppLayerEMoS.h"
Define_Module(MobileNodeAppLayerEMoS);
@@ -1,3 +1,22 @@
+/* -*- mode:c++ -*- ********************************************************
+ * file: MobileNodeAppLayer.h
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * Implements the mobile node application layer in EMoS. This
+ * node has the hability to build the radioMap XML file during
+ * the offline phase. In the online phase it collects all the
+ * static nodes signatures during a pre-configure time period
+ * and sends it to the base station for position estimation.
+ * It has also the ability to send messages to any node in the
+ * WSN.
+ *
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
+
#ifndef MOBILE_NODE_APP_LAYER_EMOS_H
#define MOBILE_NODE_APP_LAYER_EMOS_H
@@ -1,4 +1,14 @@
package org.mixim.modules.application.EMoS;
+//***************************************************************************
+// file: MobileNodeAppLayerEMoS.ned
+//
+// author: Márcio Nóbrega
+//
+// copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+//
+// description: EMoS Mobile node application layer.
+//
+// **************************************************************************/
simple MobileNodeAppLayerEMoS
{
@@ -1,3 +1,20 @@
+/* -*- mode:c++ -*- ********************************************************
+ * file: StaticNodeAppLayer.cc
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * Implements the static node application layer in EMoS. This
+ * node sends periodically signature nodes in broadcast. It
+ * has also the ability to be connected to a oven or other
+ * appliance in the house and send messages to the base station
+ * or any other node in the WSN.
+ *
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
+
#include "StaticNodeAppLayerEMoS.h"
Define_Module(StaticNodeAppLayerEMoS);
@@ -1,3 +1,21 @@
+/* -*- mode:c++ -*- ********************************************************
+ * file: StaticNodeAppLayer.h
+ *
+ * author: Márcio Nóbrega
+ *
+ * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+ *
+ * Implements the static node application layer in EMoS. This
+ * node sends periodically signature nodes in broadcast. It
+ * has also the ability to be connected to a oven or other
+ * appliance in the house and send messages to the base station
+ * or any other node in the WSN.
+ *
+ ***************************************************************************
+ * part of: EMoS - Elder Monitoring System
+ ***************************************************************************/
+
+
#ifndef STATIC_NODE_APP_LAYER_EMOS_H
#define STATIC_NODE_APP_LAYER_EMOS_H
@@ -1,4 +1,14 @@
package org.mixim.modules.application.EMoS;
+//***************************************************************************
+// file: StaticNodeAppLayerEMoS.ned
+//
+// author: Márcio Nóbrega
+//
+// copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+//
+// description: EMoS Static node application layer.
+//
+// **************************************************************************/
simple StaticNodeAppLayerEMoS
{
@@ -1,3 +1,16 @@
+//**************************************************************************
+// * file: AODVData.msg
+// *
+// * author: Márcio Nóbrega
+// *
+// * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+// *
+// * This message is used by the network layer to send/receive
+// * data to/from the MAC layer.
+// **************************************************************************
+// * part of: EMoS - Elder Monitoring System
+// **************************************************************************/
+
cplusplus {{
#include "NetwPkt_m.h"
}}
@@ -1,3 +1,16 @@
+//**************************************************************************
+// * file: AODVRouteError.msg
+// *
+// * author: Márcio Nóbrega
+// *
+// * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+// *
+// * Message used to inform the emiter and all the precursors
+// * that a path is no longer valid.
+// **************************************************************************
+// * part of: EMoS - Elder Monitoring System
+// **************************************************************************/
+
cplusplus {{
#include "NetwPkt_m.h"
typedef std::map<LAddress::L3Type,int> addressSeqNoMap_t;
@@ -1,3 +1,17 @@
+//**************************************************************************
+// * file: AODVRouteRequest.msg
+// *
+// * author: Márcio Nóbrega
+// *
+// * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+// *
+// * Message sent in broadcast mode to find the path in the WSN.
+// * This message is very similar to the actual AODV protocol
+// * implementation.
+// **************************************************************************
+// * part of: EMoS - Elder Monitoring System
+// **************************************************************************/
+
cplusplus {{
#include "NetwPkt_m.h"
}}
@@ -1,3 +1,18 @@
+//**************************************************************************
+// * file: AODVRouteResponse.msg
+// *
+// * author: Márcio Nóbrega
+// *
+// * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+// *
+// * Message sent in unicast to inform the emiter that the receiver
+// * has been reached and the path has been found. This message is
+// * is sent to the emiter using the reverse path created when the
+// * AODVRouteRequest.msg was sent.
+// **************************************************************************
+// * part of: EMoS - Elder Monitoring System
+// **************************************************************************/
+
cplusplus {{
#include "NetwPkt_m.h"
}}
@@ -1,3 +1,18 @@
+//**************************************************************************
+// * file: EMoSApplPkt.msg
+// *
+// * author: Márcio Nóbrega
+// *
+// * copyright: (C) 2012 IST - Instituto Superior Técnico, Lisbon, Portugal
+// *
+// * Message used to send the application layer data to the other
+// * layers above. In EMoS a data message can be used to carry
+// * the static nodes collected signatures or a message generated
+// * by the application layer.
+// **************************************************************************
+// * part of: EMoS - Elder Monitoring System
+// **************************************************************************/
+
cplusplus {{
#include "ApplPkt_m.h"
#include "Coord.h"
Oops, something went wrong.

0 comments on commit 2c946de

Please sign in to comment.