88 lines
2.2 KiB
Markdown
88 lines
2.2 KiB
Markdown
Voici une solution complète pour votre Raspberry Pi :
|
|
|
|
1. **Système d'exploitation minimal** :
|
|
Installez Raspberry Pi OS Lite (version sans interface graphique) :
|
|
```bash
|
|
sudo apt update && sudo apt upgrade -y
|
|
sudo apt purge wolfram-engine libreoffice* -y
|
|
sudo apt clean && sudo apt autoremove -y
|
|
```
|
|
|
|
2. **Optimisation du boot** :
|
|
Editez `/boot/cmdline.txt` et ajoutez ces paramètres :
|
|
```
|
|
quiet splash logo.nologo consoleblank=0 loglevel=0
|
|
```
|
|
|
|
3. **Script Python** (`/home/pi/smile_request.py`) :
|
|
```python
|
|
import os
|
|
import requests
|
|
|
|
try:
|
|
response = requests.get(
|
|
'https://timelapse.kerboul.me/api/smile',
|
|
headers={'accept': 'image/jpeg'},
|
|
timeout=10
|
|
)
|
|
|
|
if response.status_code == 200:
|
|
print("Requête réussie!")
|
|
# Pour la maquette, attente d'une entrée utilisateur
|
|
input("Appuyez sur Entrée pour éteindre...")
|
|
else:
|
|
print(f"Erreur: {response.status_code}")
|
|
|
|
except Exception as e:
|
|
print(f"Erreur: {str(e)}")
|
|
finally:
|
|
os.system('sudo shutdown -h now')
|
|
```
|
|
|
|
4. **Auto-start avec systemd** :
|
|
Créez le service `/etc/systemd/system/smile.service` :
|
|
```ini
|
|
[Unit]
|
|
Description=Smile API Request Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/bin/python3 /home/pi/smile_request.py
|
|
WorkingDirectory=/home/pi
|
|
User=pi
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
|
|
5. **Permissions sudo sans mot de passe** :
|
|
Editez `/etc/sudoers` avec `sudo visudo` et ajoutez :
|
|
```
|
|
pi ALL=(ALL) NOPASSWD: /sbin/shutdown
|
|
```
|
|
|
|
6. **Activation et finalisation** :
|
|
```bash
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable smile.service
|
|
sudo apt install python3-requests -y
|
|
```
|
|
|
|
**Fonctionnement** :
|
|
- Démarrage ultra-rapide en mode console (~10-15s)
|
|
- Exécution automatique du script
|
|
- Requête HTTP GET avec gestion d'erreur
|
|
- Extinction après exécution (avec confirmation manuelle pour test)
|
|
|
|
**Pour tester sans redémarrer** :
|
|
```bash
|
|
python3 /home/pi/smile_request.py
|
|
```
|
|
|
|
**Personnalisation possible** :
|
|
- Modifier le timeout dans le script Python
|
|
- Ajouter un délai avant extinction avec `shutdown -h +1`
|
|
- Sauvegarder l'image reçue (ajouter un traitement de réponse)
|
|
|
|
Cette configuration permet un cycle complet démarrage->requête->extinction en moins de 30 secondes (selon la connexion réseau). |