A simulated space communication system demonstrating client-server architecture with error handling, packet transmission, and satellite communications.
This project simulates a space communication system between an Earth station (client) and a Satellite (server). It implements various networking concepts including:
- TCP/IP communication
- Packet transmission and acknowledgment
- Error detection and correction
- Signal interference simulation
- Logging and monitoring
Network simulation showing packet flow between Earth station and Satellite
High-level architecture diagram of the communication system
earth_client.py- Earth station that sends messagessatellite_server.py- Satellite server that receives transmissionsutils.py- Utility functions for error handling and network operationslogger_config.py- Logging configuration and setupsatellite.py- Base satellite class implementation
- Real-time signal strength visualization
- Packet acknowledgment system
- Automatic reconnection attempts
- Error detection using checksums
- Simulated atmospheric interference
- Comprehensive logging system
- Python 3.6+
- Standard library modules (socket, json, logging)
- Start the satellite server:
python satellite_server.py- Launch the earth client:
python earth_client.py- Follow the prompts to input the satellite server IP and message to transmit
The system includes:
- Packet corruption detection
- Automatic retransmission
- Connection loss recovery
- Timeout handling
All communications are logged to the logs directory with:
- Timestamp information
- Error reports
- Transmission status
- Signal quality metrics
Developed by Sameer