Browse Source

Final status

master
Kemal Duelger 1 year ago
parent
commit
f6f6421620

+ 0
- 3
software/Frontend/src/app/Plants/plants.component.ts View File

filteredOptions: Observable<string[]>; filteredOptions: Observable<string[]>;
plants$: Observable<Plant[]> = this.storeService.currentPlants; plants$: Observable<Plant[]> = this.storeService.currentPlants;



constructor(public dialog: MatDialog, public storeService: StoreService, private mqttRequestService: MqttRequestService) { constructor(public dialog: MatDialog, public storeService: StoreService, private mqttRequestService: MqttRequestService) {
// sobald es eine änderung bei den pflanzenNamen gibt, wird bei der suchleiste ein neuer filter eingesetzt // sobald es eine änderung bei den pflanzenNamen gibt, wird bei der suchleiste ein neuer filter eingesetzt
this.options$.subscribe(response => { this.options$.subscribe(response => {
this.selectedPlant = value; this.selectedPlant = value;
} }



onOptionDefault() { onOptionDefault() {
this.selectedPlant = 'undefined'; this.selectedPlant = 'undefined';
} }



private _filter(value: string, options: string[]): string[] { private _filter(value: string, options: string[]): string[] {
const filterValue = value.toLowerCase(); const filterValue = value.toLowerCase();



+ 3
- 35
software/Frontend/src/app/Service/Mqtt/mqtt-request.service.ts View File

console.error('Error:', err); console.error('Error:', err);
}); });


// this.mqttService.subscribeToTopic("BACKEND/DATA/POSITION").subscribe(data => {
// if (typeof data !== "object") {
// const payload = JSON.parse(data) as Position;
// this.mqttSetDataService.setRobotPosition(payload);
// }
// }, err => {
// this.dialog.open(ErrorDialogComponent, {
// data: err,
// width: '400px',
// });
// console.error('Error:', err);
// });

this.mqttService.subscribeToTopic("BACKEND/DATA/BATTERY").subscribe(data => { this.mqttService.subscribeToTopic("BACKEND/DATA/BATTERY").subscribe(data => {
if (typeof data !== "object") { if (typeof data !== "object") {
const payload = JSON.parse(data) as RobotBattery; const payload = JSON.parse(data) as RobotBattery;
console.error('Error:', err); console.error('Error:', err);
}); });


// this.mqttService.subscribeToTopic("BACKEND/DATA/PICTURE").subscribe(data => {
// if (typeof data !== "object") {
// const payload = JSON.parse(data) as Plant;
// this.mqttSetDataService.setDataPlant(payload);
// }
// }, err => {
// console.error('Error:', err);
// });

//Request to get ALL DATA every 10sec!!
// this.timerSubscription = timer(0, 10000).pipe(
// map(() => {
// this.mqttService.publishToTopic('BACKEND/ACTION/GETALLDATA');
// })
// ).subscribe();

//Publish to the Topic to recieve the first Data //Publish to the Topic to recieve the first Data
this.publishToPLANTCOUNT(); this.publishToPLANTCOUNT();
this.publishToGETBATTERY(); this.publishToGETBATTERY();
publishToGETALLDATA() { publishToGETALLDATA() {
this.mqttService.publishToTopic('BACKEND/ACTION/GETALLDATA', JSON.stringify(this.storeService.getAllPlantNames())); this.mqttService.publishToTopic('BACKEND/ACTION/GETALLDATA', JSON.stringify(this.storeService.getAllPlantNames()));
} }
publishToDRIVE() {
this.mqttService.publishToTopic('BACKEND/ACTION/DRIVE');
}

publishToGETBATTERY() { publishToGETBATTERY() {
this.mqttService.publishToTopic('BACKEND/ACTION/GETBATTERY'); this.mqttService.publishToTopic('BACKEND/ACTION/GETBATTERY');
} }

publishToROBOTREADY() { publishToROBOTREADY() {
this.mqttService.publishToTopic('BACKEND/ACTION/ROBOTREADY'); this.mqttService.publishToTopic('BACKEND/ACTION/ROBOTREADY');
} }
publishToGETPOSITION() {
this.mqttService.publishToTopic('BACKEND/ACTION/GETPOSITION');
}


publishToNEWPLANT(plant: Plant) { publishToNEWPLANT(plant: Plant) {
this.mqttService.publishToTopic('BACKEND/ACTION/NEWPLANT', JSON.stringify(plant)); this.mqttService.publishToTopic('BACKEND/ACTION/NEWPLANT', JSON.stringify(plant));
publishToPLANTCOUNT() { publishToPLANTCOUNT() {
this.mqttService.publishToTopic('BACKEND/ACTION/PLANTCOUNT'); this.mqttService.publishToTopic('BACKEND/ACTION/PLANTCOUNT');
} }

/** /**
* publishToINPUT wird die Spracheingabe übermittelt, die dann mit * publishToINPUT wird die Spracheingabe übermittelt, die dann mit
* mehreren if else anweisungen einen Request an das Backend sendet und * mehreren if else anweisungen einen Request an das Backend sendet und

+ 0
- 1
software/Frontend/src/app/Service/Mqtt/mqtt-set-data.service.ts View File

setPlantCount(data: PlantCount): void { setPlantCount(data: PlantCount): void {
this.storeService.setPlantCount(data); this.storeService.setPlantCount(data);
} }

} }

+ 2
- 2
software/Frontend/src/app/Service/Mqtt/mqtt.service.ts View File



// Connection zu dem MQTT Broker // Connection zu dem MQTT Broker
constructor() { constructor() {
// this.client = connect('wss://mqtt.eclipseprojects.io:443/mqtt'); //Je nachdem welchen Link der Broker hat
this.client = connect('mqtt://192.168.137.197:1883', { clientId: 'kemal' });
this.client = connect('wss://mqtt.eclipseprojects.io:443/mqtt'); //Online Broker
// this.client = connect('mqtt://192.168.137.197:1883', { clientId: 'kemal' }); //lokaler Broker
} }


public subscribeToTopic(topic: string): Observable<any> { public subscribeToTopic(topic: string): Observable<any> {

+ 0
- 1
software/Frontend/src/app/app.component.html View File

<img class="img-item" src="assets/images/logo.png" alt="not available"> <img class="img-item" src="assets/images/logo.png" alt="not available">
</header> </header>



<body> <body>
<router-outlet></router-outlet> <router-outlet></router-outlet>
</body> </body>

Loading…
Cancel
Save