Add upgrade script for pyMC Repeater: automate updates, service management, and error handling

This commit is contained in:
Lloyd
2025-10-27 22:35:15 +00:00
parent 3bb2dca587
commit 6f2aeddc2e
2 changed files with 154 additions and 0 deletions
+66
View File
@@ -26,6 +26,47 @@ My hope is that **pyMC_repeater** serves as a solid, approachable foundation tha
The repeater daemon runs continuously as a background process, forwarding LoRa packets using `pymc_core`'s Dispatcher and packet routing.
Supported Hardware (Out of the Box)
The following hardware is currently supported out-of-the-box:
Waveshare LoRaWAN/GNSS HAT
Hardware: Waveshare SX1262 LoRa HAT
Platform: Raspberry Pi (or compatible single-board computer)
Frequency: 868MHz (EU) or 915MHz (US)
TX Power: Up to 22dBm
SPI Bus: SPI0
GPIO Pins: CS=21, Reset=18, Busy=20, IRQ=16
HackerGadgets uConsole
Hardware: uConsole RTL-SDR/LoRa/GPS/RTC/USB Hub
Platform: Clockwork uConsole (Raspberry Pi CM4/CM5)
Frequency: 433/915MHz (configurable)
TX Power: Up to 22dBm
SPI Bus: SPI1
GPIO Pins: CS=-1, Reset=25, Busy=24, IRQ=26
Additional Setup: Requires SPI1 overlay and GPS/RTC configuration (see uConsole setup guide)
Frequency Labs meshadv-mini
Hardware: FrequencyLabs meshadv-mini Hat
Platform: Raspberry Pi (or compatible single-board computer)
Frequency: 868MHz (EU) or 915MHz (US)
TX Power: Up to 22dBm
SPI Bus: SPI0
GPIO Pins: CS=8, Reset=24, Busy=20, IRQ=16
Frequency Labs meshadv
Hardware: FrequencyLabs meshadv-mini Hat
Platform: Raspberry Pi (or compatible single-board computer)
Frequency: 868MHz (EU) or 915MHz (US)
TX Power: Up to 22dBm
SPI Bus: SPI0
GPIO Pins: CS=21, Reset=18, Busy=20, IRQ=16, TXEN=13, RXEN=12
...
## Screenshots
@@ -84,7 +125,28 @@ To reconfigure radio and hardware settings after installation, run:
```bash
sudo bash setup-radio-config.sh /etc/pymc_repeater
sudo systemctl restart pymc-repeater
```
## Upgrading
To upgrade an existing installation to the latest version:
```bash
# Navigate to your pyMC_Repeater directory
cd pyMC_Repeater
# Run the upgrade script
sudo ./upgrade.sh
```
The upgrade script will:
- Pull the latest code from the main branch
- Update all application files
- Upgrade Python dependencies if needed
- Restart the service automatically
- Preserve your existing configuration
## Uninstallation
@@ -162,3 +224,7 @@ Pre-commit hooks will automatically:
## License
This project is licensed under the MIT License - see the LICENSE file for details.