This commit is contained in:
Your Name
2025-06-20 11:44:33 +02:00
parent 0dcbbf667e
commit ee5fa90474
2 changed files with 65 additions and 15 deletions

View File

@@ -110,17 +110,20 @@ install_python_packages() {
local pip_packages=(
"pymodbus"
"pyserial"
"sqlite3"
"requests"
"schedule"
"RPi.GPIO"
"gpiozero"
"smbus2"
"adafruit-circuitpython-bme280"
"sensirion-shdlc-sfa3x"
"crcmod"
"psutil"
)
for package in "${pip_packages[@]}"; do
print_status "Installing Python package: $package..."
if pip3 install "$package"; then
if pip3 install "$package" --break-system-packages; then
print_success "$package installed"
else
print_warning "Failed to install $package (may already be installed)"
@@ -130,23 +133,38 @@ install_python_packages() {
print_success "Python packages installation completed"
}
# Setup directory structure
setup_directories() {
print_step "Setting up directory structure..."
# Clone repository
clone_repository() {
print_step "Cloning ModuleAir Pro 4G repository..."
# Create main directory if it doesn't exist
if [ ! -d "/var/www/moduleair_pro_4g" ]; then
sudo mkdir -p /var/www/moduleair_pro_4g
print_success "Created /var/www/moduleair_pro_4g directory"
else
print_warning "Directory /var/www/moduleair_pro_4g already exists"
# Remove existing directory if it exists
if [ -d "/var/www/moduleair_pro_4g" ]; then
print_warning "Directory /var/www/moduleair_pro_4g already exists - removing..."
sudo rm -rf /var/www/moduleair_pro_4g
fi
# Create subdirectories
# Clone the repository
if sudo git clone http://gitea.aircarto.fr/PaulVua/moduleair_pro_4g.git /var/www/moduleair_pro_4g; then
print_success "Repository cloned successfully"
else
print_error "Failed to clone repository"
exit 1
fi
# Set proper permissions
sudo chown -R www-data:www-data /var/www/moduleair_pro_4g
sudo chmod -R 755 /var/www/moduleair_pro_4g
print_success "Repository permissions set"
}
# Setup directory structure
setup_directories() {
print_step "Setting up additional directories and files..."
# Create additional directories
local dirs=(
"sqlite"
"logs"
"services"
"matrix/input"
)
@@ -155,10 +173,32 @@ setup_directories() {
print_success "Created directory: $dir"
done
# Create required log files
local files=(
"logs/app.log"
"logs/loop.log"
"matrix/input_NPM.txt"
"matrix/input_MHZ16.txt"
"wifi_list.csv"
)
for file in "${files[@]}"; do
sudo touch "/var/www/moduleair_pro_4g/$file"
print_success "Created file: $file"
done
# Copy config template if it exists
if [ -f "/var/www/moduleair_pro_4g/config.json.dist" ]; then
sudo cp /var/www/moduleair_pro_4g/config.json.dist /var/www/moduleair_pro_4g/config.json
print_success "Configuration file created from template"
else
print_warning "config.json.dist not found - skipping config file creation"
fi
# Set proper permissions
sudo chown -R www-data:www-data /var/www/moduleair_pro_4g
sudo chmod -R 755 /var/www/moduleair_pro_4g
print_success "Directory permissions set"
print_success "Directory permissions updated"
}
# Configure Apache
@@ -411,6 +451,7 @@ main() {
update_system
install_dependencies
install_python_packages
clone_repository
setup_directories
configure_apache
enable_hardware