USSD Commander is a Python-based application designed for interacting with USSD (Unstructured Supplementary Service Data) sessions using a modem. It provides a graphical user interface (GUI) built with Tkinter, allowing users to send and receive USSD codes, manage modem connections, and handle responses in both plain text and PDU (Protocol Data Unit) format.
- Modem Management: Detects and manages multiple modems connected to the system.
- USSD Session Handling: Initiate, respond, and close USSD sessions.
- PDU and Text Mode: Supports both PDU and plain text formats for USSD communication.
- Interactive GUI: A user-friendly interface for interacting with USSD codes and responses.
- Serial Communication: Utilizes the serial library for modem communication.
To use the USSD Commander, you need to have Python installed on your system. Additionally, the application depends on several Python libraries like tkinter, serial, and custom PDU converters.
-
Install Python: Ensure that Python is installed. You can download it from Python's official website.
-
Install Dependencies: Run the following command to install necessary libraries:
pip install pyserial
Note:
tkinterusually comes pre-installed with Python. If it's missing, you may need to install it separately based on your operating system. -
Clone Repository or Download Code: Get the application code by cloning the repository or downloading the source code.
-
Run the Application: Navigate to the directory containing the script and run:
python ussd_commander.py
- Start the Application: Run the script to launch the USSD Commander GUI.
- Select Modem: Use the dropdown menu to select the connected modem.
- Connect: Click the 'Connect' button to establish a connection with the selected modem.
- Send USSD Code: Enter a USSD code in the input field and press 'Send'.
- Manage Session: Use the GUI buttons to respond, cancel, or clear USSD sessions.
Here's a simple example of how to use the application:
- Launch the USSD Commander.
- Select your modem from the dropdown list.
- Click 'Connect' to initiate a connection.
- Enter a USSD code (e.g.,
*123#) in the input field. - Click 'Send' to transmit the code.
- View the response in the display area.
Contributions to the USSD Commander are welcome. Please feel free to fork the repository, make changes, and submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.