Greenfield is a pervasive distributed system that manages Cleaning Robots deployed throughout the city. These robots act as peers, working together to autonomously navigate and clean various areas. Advanced technologies are utilized to enhance efficiency and maintain cleanliness.
-
gRPC
-
Protocol Buffer
-
gson
-
Jersey 1.19
-
AspectJ
-
Java 1.8
-
Gradle >= 7.4.2
You can use
gradleor./gradlew
Running gradle tasks will automatically compile the necessary files.
Mosquitto
-
Start mosquitto broker
sudo service mosquitto startorsudo systemctl start mosquitto -
Stop mosquitto broker
sudo service mosquitto stoporsudo systemctl stop mosquitto -
Status mosquitto broker
sudo service mosquitto statusorsudo systemctl status mosquitto
Cleaning Robot
- Start one cleaning robot:
gradle runCleaningRobotClient --console=plainor `./gradlew runCleaningRobotClient --console=plain``
Administrator Server
-
Start administrator server:
gradle runAdministratorServer --console=plainor./gradlew runAdministratorServer --console=plain
Administrator Client
-
Start administrator client:
gradle runAdministratorClient --console=plainor./gradlew runAdministratorClient --console=plain
First of all run gradle or ./gradlew to check that everything is OK.
Compile [java with aspectj]:
Note that .aj files must be on src/main/aspectj folder.
gradle :compileJavaor./gradlew :compileJava
If you want to put
.ajfile on the same directory of.javafiles, you should replace onbuild.gradlefilecompileJava.ajc.options.compilerArgs = ["-sourceroots", "../../../src/main/aspectj"]withcompileJava.ajc.options.compilerArgs=["-sourceroots", sourceSets.main.java.sourceDirectories.getAsPath()]
gradle buildor./gradlew build