update
This commit is contained in:
11
README.md
11
README.md
@@ -11,7 +11,16 @@ Version Pro du ModuleAir avec CM4, SaraR4 et ecran Matrix LED p2 64x64.
|
|||||||
- **Base de données SQLite**: Stockage local avec nettoyage automatique
|
- **Base de données SQLite**: Stockage local avec nettoyage automatique
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
## General
|
|
||||||
|
## Script
|
||||||
|
|
||||||
|
´´´
|
||||||
|
wget http://gitea.aircarto.fr/PaulVua/moduleair_pro_4g/raw/branch/main/installation.sh
|
||||||
|
chmod +x installation.sh
|
||||||
|
./installation.sh
|
||||||
|
´´´
|
||||||
|
|
||||||
|
## Detailed
|
||||||
```
|
```
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install git gh apache2 sqlite3 php php-sqlite3 libsqlite3-dev python3 python3-pip jq g++ autossh i2c-tools python3-smbus -y
|
sudo apt install git gh apache2 sqlite3 php php-sqlite3 libsqlite3-dev python3 python3-pip jq g++ autossh i2c-tools python3-smbus -y
|
||||||
|
|||||||
@@ -110,17 +110,20 @@ install_python_packages() {
|
|||||||
local pip_packages=(
|
local pip_packages=(
|
||||||
"pymodbus"
|
"pymodbus"
|
||||||
"pyserial"
|
"pyserial"
|
||||||
"sqlite3"
|
|
||||||
"requests"
|
"requests"
|
||||||
"schedule"
|
"schedule"
|
||||||
"RPi.GPIO"
|
"RPi.GPIO"
|
||||||
|
"gpiozero"
|
||||||
"smbus2"
|
"smbus2"
|
||||||
"adafruit-circuitpython-bme280"
|
"adafruit-circuitpython-bme280"
|
||||||
|
"sensirion-shdlc-sfa3x"
|
||||||
|
"crcmod"
|
||||||
|
"psutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
for package in "${pip_packages[@]}"; do
|
for package in "${pip_packages[@]}"; do
|
||||||
print_status "Installing Python package: $package..."
|
print_status "Installing Python package: $package..."
|
||||||
if pip3 install "$package"; then
|
if pip3 install "$package" --break-system-packages; then
|
||||||
print_success "$package installed"
|
print_success "$package installed"
|
||||||
else
|
else
|
||||||
print_warning "Failed to install $package (may already be installed)"
|
print_warning "Failed to install $package (may already be installed)"
|
||||||
@@ -130,23 +133,38 @@ install_python_packages() {
|
|||||||
print_success "Python packages installation completed"
|
print_success "Python packages installation completed"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Setup directory structure
|
# Clone repository
|
||||||
setup_directories() {
|
clone_repository() {
|
||||||
print_step "Setting up directory structure..."
|
print_step "Cloning ModuleAir Pro 4G repository..."
|
||||||
|
|
||||||
# Create main directory if it doesn't exist
|
# Remove existing directory if it exists
|
||||||
if [ ! -d "/var/www/moduleair_pro_4g" ]; then
|
if [ -d "/var/www/moduleair_pro_4g" ]; then
|
||||||
sudo mkdir -p /var/www/moduleair_pro_4g
|
print_warning "Directory /var/www/moduleair_pro_4g already exists - removing..."
|
||||||
print_success "Created /var/www/moduleair_pro_4g directory"
|
sudo rm -rf /var/www/moduleair_pro_4g
|
||||||
else
|
|
||||||
print_warning "Directory /var/www/moduleair_pro_4g already exists"
|
|
||||||
fi
|
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=(
|
local dirs=(
|
||||||
"sqlite"
|
"sqlite"
|
||||||
"logs"
|
"logs"
|
||||||
"services"
|
|
||||||
"matrix/input"
|
"matrix/input"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -155,10 +173,32 @@ setup_directories() {
|
|||||||
print_success "Created directory: $dir"
|
print_success "Created directory: $dir"
|
||||||
done
|
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
|
# Set proper permissions
|
||||||
sudo chown -R www-data:www-data /var/www/moduleair_pro_4g
|
sudo chown -R www-data:www-data /var/www/moduleair_pro_4g
|
||||||
sudo chmod -R 755 /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
|
# Configure Apache
|
||||||
@@ -411,6 +451,7 @@ main() {
|
|||||||
update_system
|
update_system
|
||||||
install_dependencies
|
install_dependencies
|
||||||
install_python_packages
|
install_python_packages
|
||||||
|
clone_repository
|
||||||
setup_directories
|
setup_directories
|
||||||
configure_apache
|
configure_apache
|
||||||
enable_hardware
|
enable_hardware
|
||||||
|
|||||||
Reference in New Issue
Block a user