This project provides emulators for different types of ammeters: Greenlee, ENTES, and CIRCUTOR. Each ammeter emulator runs on a separate thread and can respond to current measurement requests.
Ammeters/main.py: Main script to start the ammeter emulators and request current measurements.Circutor_Ammeter.py: Emulator for the CIRCUTOR ammeter.Entes_Ammeter.py: Emulator for the ENTES ammeter.Greenlee_Ammeter.py: Emulator for the Greenlee ammeter.base_ammeter.py: Base class for all ammeter emulators.client.py: Client to request current measurements from the ammeter emulators.
config/config.yaml: Configuration file for the ammeter emulators.
examples/run_test.py: super lyze example for run test don't use it.
src/testing/AmmeterTester.py: Class to test the ammeter emulators.
utils/config.py: Configuration settings.logger.py: Logging setup.Utils.py: Utility functions, includinggenerate_random_float.
- Port: 5000
- Command:
MEASURE_GREENLEE -get_measurement - Measurement Logic: Calculates current using voltage (1V - 10V) and (0.1Ω - 100Ω).
- Measurement method : Ohm's Law: I = V / R
- Port: 5001
- Command:
MEASURE_ENTES -get_data - Measurement Logic: Calculates current using magnetic field strength (0.01T - 0.1T) and calibration factor (500 - 2000).
- Measurement method : Hall Effect: I = B * K
- Port: 5002
- Command:
MEASURE_CIRCUTOR -get_measurement - Measurement Logic: Calculates current using voltage values (0.1V - 1.0V) over a number of samples and a random time step (0.001s - 0.01s).
- Measurement method : Rogowski Coil Integration: I = ∫V dt
To start the ammeter emulators and request current measurements, run the main.py script:
python main.py