0 Votes

Code source wiki de Raspberry Pi

Version 1.1 par john le 2026/09/18 20:12

Masquer les derniers auteurs
john 1.1 1 == Système ==
2
3 |=Élément|=Valeur
4 |Machine|Raspberry Pi 4
5 |OS|Debian 13, sans environnement graphique
6 |Cible systemd|##multi-user.target##
7 |Réseau|Wi-Fi
8 |Stockage des sauvegardes|SSD USB
9
10 == Services ==
11
12 === Conteneurs ===
13
14 |=Service|=Rôle
15 |AdGuard Home|DNS local, blocage, réécriture DNS
16 |OLED Stats|Statistiques sur l'écran OLED du boîtier
17 |Portainer + Portainer Agent|Gestion Docker
18 |Watchtower|Mise à jour automatique des images
19
20 === Natifs ===
21
22 |=Service|=Rôle
23 |meshtasticd|Nœud Meshtastic LoRa (HAT SX1262 en SPI)
24 |Jellyfin|Serveur multimédia
25 |MariaDB|Base de données
26 |fail2ban|Blocage des tentatives SSH
27 |smartmontools|Surveillance du SSD
28 |sysstat, acct|Statistiques système, comptabilité des processus
29 |chkrootkit, Lynis|Audit nocturne par timer
30 |led-anim|Animation du bandeau LED
31
32 == Outils ==
33
34 Plakar (dépôt), uhubctl, yt-dlp et client meshtastic (pipx), outils RTL-SDR.
35
36 == Configuration ==
37
38 === Wi-Fi : désactiver l'économie d'énergie ===
39
40 Le lien décroche sur les gros transferts SFTP quand l'économie d'énergie est active :
41
42 {{code language="bash"}}
43 sudo nmcli connection modify "<SSID>" 802-11-wireless.powersave 2
44 sudo nmcli connection up "<SSID>"
45 {{/code}}
46
47 === SSD USB sur pont ASMedia ===
48
49 Le pont se déconnecte sous forte charge en mode UAS. Forcer le mode usb-storage en ajoutant à la ligne unique de ##/boot/firmware/cmdline.txt## (identifiants donnés par ##lsusb##) :
50
51 {{code}}
52 usb-storage.quirks=<VID>:<PID>:u
53 {{/code}}
54
55 Montage à la demande dans ##/etc/fstab##, sans bloquer le démarrage si le disque est absent :
56
57 {{code}}
58 UUID=<UUID> <POINT_MONTAGE> <FS> defaults,nofail,x-systemd.automount 0 2
59 {{/code}}
60
61 Empêcher l'écriture sur la carte SD quand le SSD n'est pas monté (à faire sur le point de montage vide) :
62
63 {{code language="bash"}}
64 sudo chattr +i <POINT_MONTAGE>
65 {{/code}}
66
67 === SPI pour le module LoRa ===
68
69 Dans ##/boot/firmware/config.txt## :
70
71 {{code language="ini"}}
72 dtparam=spi=on
73 dtoverlay=spi0-0cs
74 {{/code}}
75
76 === meshtasticd ===
77
78 Les réglages vont dans ##/etc/meshtasticd/config.d/## : ces fichiers survivent aux mises à jour du paquet, contrairement à ##config.yaml##.
79
80 ##99-lora.yaml##, valeurs pour le HAT Waveshare SX126X :
81
82 {{code language="yaml"}}
83 Lora:
84 Module: sx1262
85 DIO2_AS_RF_SWITCH: true
86 CS: 21
87 IRQ: 16
88 Busy: 20
89 Reset: 18
90 SX126X_ANT_SW: 6
91 {{/code}}
92
93 ##98-webserver.yaml## :
94
95 {{code language="yaml"}}
96 Webserver:
97 Port: 443
98 RootPath: /usr/share/meshtasticd/web
99 {{/code}}
100
101 === Outils Python ===
102
103 {{code language="bash"}}
104 sudo apt install pipx
105 pipx install meshtastic
106 pipx install yt-dlp
107 pipx ensurepath
108 {{/code}}
109
110 Mise à jour : ##pipx upgrade-all##.
111
112 === led-anim ===
113
114 Le script dépend de ##rpi_ws281x##, installé dans un venv dédié :
115
116 {{code language="bash"}}
117 sudo python3 -m venv /opt/led-anim/venv
118 sudo /opt/led-anim/venv/bin/pip install rpi_ws281x
119 {{/code}}
120
121 Il doit tourner en root : ##rpi_ws281x## accède directement au DMA et au PWM.
122
123 === Portainer Agent ===
124
125 L'agent doit être à la même version que le Portainer qui le pilote : épingler son tag sur celui du serveur plutôt que ##latest##.
126
127 === Services désactivés ===
128
129 ModemManager (sonde les ports série et peut perturber un nœud Meshtastic en USB), bluetooth, hciuart.