Sebaxu LogoSebaxu
Floating Duck

Revolutionize Your GPS Testing

Sebaxu is a powerful Windows GPS simulation tool that enables developers to import GPX files, stream real-time NMEA data, and test location-based applications with precision and ease.

Get your free key: K22X-5KV9-MJ8Z-98RC for 300 days!
Download Now

Powerful Features for GPS Development

Import and manage GPX files

Seamlessly load and organize your GPS track data for comprehensive testing scenarios.

Feature Icon

Add and remove pins on the map

Interactively place and manage waypoints with intuitive map-based controls.

Stream real-time NMEA data over UDP

Broadcast authentic GPS data streams for real-time application testing and development.

Test geofencing and location-based events

Validate proximity triggers and location-aware features with precision boundary testing.

Vehicle movement simulation

Simulate realistic vehicle trajectories and movement patterns for automotive applications.

Command-line interface and real-time monitoring

Access powerful CLI tools and monitor GPS data streams with real-time feedback.

Experience the power of GPS simulation with Sebaxu

Advanced GPS Processing Example

Real-time NMEA data processing with geofencing and proximity detection capabilities.

Go
import (
"Laki/functions"
"Laki/structures"
"fmt"
"log"
"math"
"net"
"strings"
"time"
)
var lastPrint time.Time
func main() {
IP_address := "0.0.0.0"
Port := 5000
fmt.Println("Listening on UDP", IP_address, "Port:", Port)
conn, err := net.ListenUDP("udp", &net.UDPAddr{
IP: net.ParseIP(IP_address),
Port: Port,
})
if err != nil {
fmt.Println("Error reading from UDP:", err)
return
}
defer conn.Close()
buffer := make([]byte, 1024)
file_path := "./Logs/generated_path.txt"
zonePoints, err := functions.LoadAllPoints(file_path, 20)
if err != nil {
log.Fatal(err)
}
threshold := 5 // 5 meters
var hasBeenInZone bool
for {
n, _, err := conn.ReadFromUDP(buffer)
if err != nil {
panic("something went wrong")
continue
}
data := string(buffer[:n])
lines := strings.Split(data, "
")
for _, line := range lines {
line = strings.TrimSpace(line)
if line == "" || !strings.HasPrefix(line, "$GPRMC") {
continue
}
fmt.Println("RAW NMEA:", line)
parts := strings.Split(line, ",")
parsed_time, err := functions.ParseNmeaTime(parts[1]) // returns time.Time
if err != nil {
panic("error in parsing time")
}
latStr, latDir, lonStr, lonDir := parts[3], parts[4], parts[5], parts[6]
pointA := structures.Point{
Latitude: functions.ParseCoordinate(latStr, latDir),
Longitude: functions.ParseCoordinate(lonStr, lonDir),
}
speed := functions.KnotsTOKm(parts[7])
if speed == 0.0 {
fmt.Print("time : ", parsed_time, " | speed ", speed, "km | ")
fmt.Printf("Coordinates: %s
", pointA.String())
} else if parsed_time.Sub(lastPrint) >= time.Second { // Changed here to >=
lastPrint = parsed_time
fmt.Print("time : ", parsed_time, " | speed ", speed, "km | ")
fmt.Printf("Coordinates: %s
", pointA.String())
}
// ... rest of the processing
}
}
}

Download Sebaxu

Windows (10/11, 64-bit) • 26 MB

Download from itch.io

Completely free • No registration required

Help Keep This Project Online

This GPS simulation service costs $5/month to keep running online. I can't always afford the server costs, but your donations on itch.io help keep this project alive and free for everyone.

Support via itch.io donations when you download