From bc0695626f5f3be70122992f7deff0c82630998bd41945801bb42fab0a79876f Mon Sep 17 00:00:00 2001 From: Philipp Schweizer Date: Thu, 2 Jan 2025 16:35:28 +0100 Subject: [PATCH] test --- .../ttnMessageReceivedEventHandler.ts | 48 +++++++++++++------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/server/src/eventHandler/ttnMessageReceivedEventHandler.ts b/server/src/eventHandler/ttnMessageReceivedEventHandler.ts index e59893d..771da9c 100644 --- a/server/src/eventHandler/ttnMessageReceivedEventHandler.ts +++ b/server/src/eventHandler/ttnMessageReceivedEventHandler.ts @@ -1,13 +1,12 @@ +import { container } from "tsyringe"; import { domainEventEmitter } from "../config/eventEmitter"; import { TtnMessageReceivedEvent, TtnMessageReceivedEventName, } from "../event/ttnMessageReceivedEvent"; -import { container } from "tsyringe"; +import { getLocationForWifiMemoized } from "../proxy/wigle"; import { LocationService } from "../services/locationService"; import { WifiScanService } from "../services/wifiScanService"; -import { getLocationForWifiMemoized } from "../proxy/wigle"; -import { WifiScan } from "../models/wifiScan"; const locationService = container.resolve(LocationService); const wifiScanService = container.resolve(WifiScanService); @@ -20,13 +19,13 @@ const CalculateTtnGatewayLocation = (event: TtnMessageReceivedEvent) => { }; if (!event.ttnGateways || event.ttnGateways.length === 0) { - console.log("No TTN Gateway location received!") + console.log("No TTN Gateway location received!"); } else { let totalWeight = 0; let weightedLatitude = 0; let weightedLongitude = 0; - event.ttnGateways.forEach(gw => { + event.ttnGateways.forEach((gw) => { const weight = 1 / Math.abs(gw.rssi); // Higher RSSI (closer to 0) gives more weight totalWeight += weight; weightedLatitude += gw.latitude * weight; @@ -34,9 +33,15 @@ const CalculateTtnGatewayLocation = (event: TtnMessageReceivedEvent) => { }); // Calculate the weighted average to get the virtual location - virtualLocation.latitude = weightedLatitude / totalWeight; - virtualLocation.longitude = weightedLongitude / totalWeight; - console.log("Tracker location based on TTN Gateway location:", virtualLocation); + const virtualLocation = { + latitude: weightedLatitude / totalWeight, + longitude: weightedLongitude / totalWeight, + }; + + console.log( + "Tracker location based on TTN Gateway location:", + virtualLocation + ); } return { ttn_latitude: virtualLocation.latitude, @@ -52,7 +57,7 @@ const CalculateWifiLocation = async (event: TtnMessageReceivedEvent) => { }; if (!event.wifis || event.wifis.length === 0) { - console.log("No WiFi scans received!") + console.log("No WiFi scans received!"); } else { // Process Wi-Fi data to compute weighted location let wifiScans = await Promise.all( @@ -99,8 +104,10 @@ const CalculateWifiLocation = async (event: TtnMessageReceivedEvent) => { virtualLocation.latitude = weightedLatitude / totalWeight; virtualLocation.longitude = weightedLongitude / totalWeight; - console.log("Tracker location based on WiFi Scan location:", virtualLocation); - } + console.log( + "Tracker location based on WiFi Scan location:", + virtualLocation + ); } return { wifi_latitude: virtualLocation.latitude, @@ -110,7 +117,10 @@ const CalculateWifiLocation = async (event: TtnMessageReceivedEvent) => { const CalculateGnssLocation = (event: TtnMessageReceivedEvent) => { // Get location based on reported GNSS - if (event.gnssLocation.latitude === undefined || event.gnssLocation.longitude === undefined) { + if ( + event.gnssLocation.latitude === undefined || + event.gnssLocation.longitude === undefined + ) { console.log("No valid GNSS location received!"); } @@ -134,6 +144,7 @@ domainEventEmitter.on( if (event.ttnGateways && event.ttnGateways.length > 0) { const virtualLocation = CalculateTtnGatewayLocation(event); + console.log(virtualLocation); ttn_gw_based_latitude = virtualLocation.ttn_latitude; ttn_gw_based_longitude = virtualLocation.ttn_longitude; } @@ -148,6 +159,16 @@ domainEventEmitter.on( gnss_based_latitude = virtualLocation.gnss_latitude; gnss_based_longitude = virtualLocation.gnss_longitude; + console.log({ + lp_ttn_end_device_uplinks_id: event.lp_ttn_end_device_uplinks_id, + ttn_gw_latitude: ttn_gw_based_latitude, + ttn_gw_longitude: ttn_gw_based_longitude, + gnss_latitude: gnss_based_latitude, + gnss_longitude: gnss_based_longitude, + wifi_latitude: wifi_based_latitude, + wifi_longitude: wifi_based_longitude, + }); + const newLocation = await locationService.createLocation({ lp_ttn_end_device_uplinks_id: event.lp_ttn_end_device_uplinks_id, ttn_gw_latitude: ttn_gw_based_latitude, @@ -158,7 +179,6 @@ domainEventEmitter.on( wifi_longitude: wifi_based_longitude, }); - console.log(newLocation) + console.log(newLocation); } ); -