OMNeT++, Veins, and SUMO tutorial
1. Versões utilizadas neste tutorial
- Ubuntu 22.04.4 LTS
- OMNeT++ 6.0
- Veins 5.2
- Simulation of Urban MObility (SUMO) 1.18.0
2. Preparando o ambiente do projeto
- Criar uma pasta chamada
projeto
para instalação das ferramentas em/home/USUARIO/
- OBS: Substitua
USUARIO
pelo nome de usuário da sua máquina
- OBS: Substitua
- Faça download do OMNeT++ neste link
- Faça download do Veins neste link
- Faça download do SUMO neste link
- Adicione todos os arquivos baixados na pasta
/home/USUARIO/projeto/
3. Instalando o OMNeT++
- Descompacte o arquivo
omnetpp-6.0-linux-x86_64.tgz
e recorte a pastaomnetpp-6.0
para o diretório/home/USUARIO/projeto/
- Instale as bibliotecas necessárias:
sudo apt-get install build-essential clang lld gdb bison flex perl python3 python3-pip qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5opengl5-dev libxml2-dev zlib1g-dev doxygen graphviz libwebkit2gtk-4.0-37
python3 -m pip install --user --upgrade numpy pandas matplotlib scipy seaborn posix_ipc
- Acesse a pasta
omnetpp-6.0/
- Altere as seguintes linhas no arquivo
omnetpp-6.0/configure.user
:-
PREFER_CLANG=yes
paraPREFER_CLANG=no
-
WITH_OSG=yes
paraWITH_OSG=no
-
- Execute os comandos:
source setenv
-
./configure
- Se a mensagem ao final da execução for
Configuration phase finished. Use 'make' to build OMNeT++.
, prossiga para o próximo comando.
- Se a mensagem ao final da execução for
make -j$(nproc)
- Execute o comando
omnetpp
no terminal para abrir o OMNeT++- Ao carregar o programa irá abrir uma janela para seleção do diretório que será o
workspace
- Clicar em
Browse...
, navegar até o diretórioprojeto
, clicar para criar um novo diretório e nomeá-lo comoworkspace
. - Clicar em
Open
e depois emLaunch
- Desmarcar as opções: “Install INET Framework” e “Import OMNeT++ programming examples”
- Clicar em
OK
- Ao carregar o programa irá abrir uma janela para seleção do diretório que será o
- OMNeT++ instalado!
4. Instalando o Veins
Para adicionar o Veins ao OMNeT++, siga os seguintes passos:
- Com o OMNeT++ aberto, clique em
File > Import > General > Existing Projects into Workspace
- Escolha a opção
Select archive file
e clique emBrowse...
- Navegue até a pasta
projeto
, seleciona o arquivoveins-5.2.zip
e clique emOK
- Desmarque SOMENTE as opções
veins_catch
,veins_inet
,veins_inet3
eveins_testsims
- Clique em
Finish
- O veins aparecerá como um projeto no OMNeT++. Agora você deve compilar o veins. Para isso, faça os seguintes passos:
- Clique com botão esquerdo do mouse em clima do
veins
e selecione a opçãoBuild Configurations > Set Active > 2 gcc-release
- Tecle
CTRL + b
para executar a compilação - Ao executar sem erros, será exibido no console a seguinte mensagem:
Build Finished.
- Clique com botão esquerdo do mouse em clima do
- Veins instalado!
5. Instalando o SUMO
- Descompacte o arquivo
sumo-src-1.18.0.zip
e recorte a pastasumo-1.18.0
para o diretório/home/USUARIO/projeto/
- Instale as bibliotecas necessárias:
sudo apt-get install cmake g++ libxerces-c-dev libfox-1.6-dev libgdal-dev libproj-dev libgl2ps-dev swig
cd sumo-1.18.0
export SUMO_HOME="$PWD"
mkdir build/cmake-build && cd build/cmake-build
cmake ../..
make -j$(nproc)
sudo make install
- Teste a instalação digitando o seguinte comando no terminal:
sumo --version
- Se a instalação estiver OK, aparecerá o seguinte cabeçalho na mensagem:
Eclipse SUMO sumo Version 1.8.0
- Se a instalação estiver OK, aparecerá o seguinte cabeçalho na mensagem:
- SUMO instalado!
6. Testando a integração entre OMNeT++, Veins e SUMO
- Abrir um novo terminal e levantar o serviço que integra o SUMO e o Veins executando o seguinte comando:
python3 /home/USUARIO/projeto/workspace/veins/bin/veins_launchd -vvv -p 9999
- No OMNeT++, navegar nas pastas do projeto do veins em:
veins > examples > veins
- Clicar com o botão esquerdo do mouse em cima do arquivo
omnetpp.ini
e selecionar a opçãoRun As > 1 OMNeT++ Simulation
- Basta clicar em
Simulate > Run
. - Se tudo ocorrer bem, a seguinte imagem irá aparecer:
Bons estudos! 😀