Progetto relativo al tema d'esame di Ingegneria dei Sistemi Software M 2019. Autori:
- Gioele Pisanelli
- Tommaso Liverani
- Alberto Jesu
All'interno di questa cartella troviamo la documentazione relativa al progetto, ai vari sprint ed al product backlog.
All'interno di questa cartella troviamo il codice del progetto ultimato. Seguire le istruzioni qui sotto per l'avvio.
All'interno di questa cartella troviamo il codice dei vari prototipi prodotti al termine di ciascuno sprint. Il prototipo ottenuto al termine dello sprint 5 non è riportato, trattandosi del progetto ultimato visibile nella cartella progettoFinale
.
Si riporta la procedura d'avvio dei vari elementi. È importante avviare sempre tutto nel seguente ordine:
- robot virtuale
- frontend
- MainCtxRobotMind
- MainCtxWorkInRoom
- MainCtxFridge
- MainCtxRoomElements
Per poter eseguire l'ambiente virtuale, è prima necessario ottenere i moduli richiesti. Per far ciò:
- eseguire da terminale
npm install
al percorsoit.unibo.robots19/node/WEnv/WebGLScene
- eseguire da terminale
npm install
al percorsoit.unibo.robots19/node/WEnv/server
Per avviare il robot virtuale eseguire node main 8999
alla directory it.unibo.robots19/node/WEnv/server/src
. Il robot virtuale sarà visibile all'url localhost:8090
.
Per poter eseguire il frontend, è prima necessario ottenere i moduli richiesti. Per far ciò:
- eseguire da terminale
npm install
alla directoryit.unibo.frontend19/nodeCode/frontend
Per avviare il frontend eseguire eseguire node frontendServer localhost
al percorso it.unibo.frontend19/nodeCode/frontend
. Il frontend sarà visibile all'url localhost:8080
.
- importare il progetto
it.unibo.eclipse.qak.robotMinds19
, modificare nel fileit.unibo.eclipse.qak.robotMinds19/build.gradle
il percorso relativo alle librerie col proprio, eseguiregradle build eclipse
alla root del progetto e refresharlo - controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.robotMinds19/src/robotmind.qak
sia coerente con il deployment che si vuole effettuare - se non sono state fatte variazioni, comunque modificare il file
it.unibo.eclipse.qak.robotMinds19/src/robotmind.qak
per poi salvarlo, per assicurarsi che il codice generato a partire da esso sia coerente - controllare che all'interno del file
it.unibo.eclipse.qak.robotMinds19/basicRobotConfig.pl
sia decommentata solo la riga relativa al robot virtuale
Avviare quindi it.unibo.eclipse.qak.robotMinds19/src/it/unibo/ctxRobotMind/MainCtxRobotMind
.
- importare il progetto
it.unibo.eclipse.qak.planning19
, modificare nel fileit.unibo.eclipse.qak.planning19/build.gradle
il percorso relativo alle librerie col proprio, eseguiregradle build eclipse
alla root del progetto e refresharlo - controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.planning19/src/workinroom.qak
sia coerente con il deployment che si vuole effettuare - controllare che nell'attore
workerinroom
siano decommentati loStepTime
ePauseTime
relativi al robot virtuale - se non sono state fatte variazioni, comunque modificare il file
it.unibo.eclipse.qak.planning19/src/workinroom.qak
per poi salvarlo, per assicurarsi che il codice generato a partire da esso sia coerente
Avviare quindi it.unibo.eclipse.qak.planning19/src/it/unibo/ctxWorkInRoom/MainCtxWorkInRoom
.
- controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.planning19/src/fridge.qak
sia coerente con il deployment che si vuole effettuare - se non sono state fatte variazioni, comunque modificare il file
it.unibo.eclipse.qak.planning19/src/fridge.qak
per poi salvarlo, per assicurarsi che il codice generato a partire da esso sia coerente
Avviare quindi it.unibo.eclipse.qak.planning19/src/ctxFridge/MainCtxFridge
.
- controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.planning19/src/roomelements.qak
sia coerente con il deployment che si vuole effettuare - se non sono state fatte variazioni, comunque modificare il file
it.unibo.eclipse.qak.planning19/src/roomelements.qak
per poi salvarlo, per assicurarsi che il codice generato a partire da esso sia coerente - controllare che il file
it.unibo.eclipse.qak.planning19/resources/itunibo.coap.client/CoapClientControl.kt
contenga l'indirizzo del frigo secondo il deployment che si vuole effettuare
Avviare quindi it.unibo.eclipse.qak.planning19/src/ctxRoomElements/MainCtxRoomElements
.
Anche in questo caso, l'ordine di avvio degli elementi è:
- robot fisico
- frontend
- MainCtxRobotMind
- MainCtxWorkInRoom
- MainCtxFridge
- MainCtxRoomElements
Raspberry e mBot devono essere collegati ad un'adeguata sorgente di alimentazione ed accesi. Dovranno, inoltre, essere collegati uno all'altro tramite seriale.
La procedura d'avvio del frontend è identica a quella del caso d'uso con robot virtuale.
- controllare che l'IP del broker mqtt all'inzio del file
it.unibo.eclipse.qak.robotMinds19/src/robotmind.qak
sia coerente col deployment che si vuole effettuare - modificare nel file
it.unibo.eclipse.qak.robotMinds19/build_ctxRobotMind.gradle
il percorso delle librerie con il proprio - eseguire
gradle -b build_ctxRobotMind.gradle distZip
all'interno della directoryit.unibo.eclipse.qak.robotMinds19
- spostare ed estrarre su raspberry il file
robotMind-1.0.zip
creato nella cartellait.unibo.eclipse.qak.robotMinds19/build/distributions
- controllare che nel file
robotMinds-1.0/bin/basicRobotSupport.pl
- sia decommentata unicamente la riga relativa a mBot
- nella stessa riga, la porta descritta sia
/dev/ttyUSB0
Si può infine eseguiresudo bash it.unibo.eclipse.qak.robotMinds19-1.0
all'interno della directoryrobotMind-1.0/bin
- controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.planning19/src/workinroom.qak
sia coerente con il deployment che si vuole effettuare - controllare che nell'attore
workerinroom
siano decommentati loStepTime
ePauseTime
relativi al robot fisico - modificare nel file
it.unibo.eclipse.qak.planning19/build_ctxWorkInRoom.gradle
il percorso delle librerie con il proprio - eseguire
gradle -b build_ctxWorkInRoom.gradle distZip
all'interno diit.unibo.eclipse.qak.planning19
- spostare ed estrarre su raspberry il file
workInRoom-1.0.zip
creato nella cartellait.unibo.eclipse.qak.planning19/build/distributions
- eseguire
sudo bash it.unibo.eclipse.qak.planning19-1.0
nella cartellaworkInRoom-1.0/bin
- importare il progetto
it.unibo.eclipse.qak.planning19
, modificare nel fileit.unibo.eclipse.qak.planning19/build.gradle
il percorso relativo alle librerie col proprio, eseguiregradle build eclipse
alla root del progetto e refresharlo - controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.planning19/src/fridge.qak
sia coerente con il deployment che si vuole effettuare - se non sono state fatte variazioni, comunque modificare il file
it.unibo.eclipse.qak.planning19/src/fridge.qak
per poi salvarlo, per assicurarsi che il codice generato a partire da esso sia coerente
Avviare quindi it.unibo.eclipse.qak.planning19/src/ctxFridge/MainCtxFridge
.
- controllare che l'ip del broker mqtt specificato nel file
it.unibo.eclipse.qak.planning19/src/roomelements.qak
sia coerente con il deployment che si vuole effettuare - controllare che il file
it.unibo.eclipse.qak.planning19/resources/itunibo.coap.client/CoapClientControl.kt
contenga l'ip del frigo - modificare nel file
it.unibo.eclipse.qak.planning19/build_ctxRoomElements.gradle
il percorso delle librerie con il proprio - eseguire
gradle -b build_ctxRoomElements.gradle distZip
all'interno diit.unibo.eclipse.qak.planning19
- spostare ed estrarre su raspberry il file
roomElements-1.0.zip
creato nella cartellait.unibo.eclipse.qak.planning19/build/distributions
- eseguire
sudo bash it.unibo.eclipse.qak.planning19-1.0
nella cartellaroomElements-1.0/bin