Point d’accès Wi-Fi basé sur Raspberry Pi

J’ai réalisé un point d’accès Wi-Fi à partir d’une Raspberry Pi, reproduisant les services traditionnellement fournis par une box Internet, et en ajoutant quelques-uns supplémentaires.

La Raspberry Pi

Ce projet est réalisé sur une Raspberry Pi 3 B+, qui dispose des caractéristiques suivantes :

  • Processeur quad-core ARM Cortex-A53 (1,4 GHz)
  • 1 Go de mémoire RAM (LPDDR2)
  • Carte micro SD de 16 Go
  • 4 ports USB
  • 1 port Ethernet

Avec un étage d’électronique additionnel :

  • 1 barre de 10 LEDs
  • 2 LEDs simples (Verte, Rouge)
  • 2 boutons poussoirs

Le point d’accès est construit sur le système d’exploitation Debian, avec le service de point d’accès RaspAP, qui offre une interface de gestion complète.

L’interface d’administration offerte par le point d’accès

J’ai ajouté des services de FTP et SMB pour pouvoir partager des fichiers avec la Raspberry Pi depuis n’importe quelle machine en réseau, ainsi qu’une fonctionnalité de sauvegarde (différentielle compressée) automatique au branchement d’une clé USB.

Un exemple du code Python utilisé pour contrôler les LEDs : affichage de la progression de la sauvegarde.

1LED_VERTE = 6
2LED_ROUGE = 12
3LED_PINS = [4, 17, 18, 27, 22, 23, 24, 25]
4
5GPIO.setmode(GPIO.BCM)
6
7# Set LEDs pins as outputs
8GPIO.setup(LED_VERTE, GPIO.OUT)
9GPIO.setup(LED_ROUGE, GPIO.OUT)
10for pin in LED_PINS:
11 GPIO.setup(pin, GPIO.OUT)
12
13# Disable individual leds
14GPIO.output(LED_VERTE, GPIO.LOW)
15GPIO.output(LED_ROUGE, GPIO.LOW)
16
17# Get CLI parameters
18progress = int(sys.argv[1])
19
20# Enable progress bar leds
21for i, pin in enumerate(LED_PINS):
22 GPIO.output(pin, GPIO.HIGH if i < progress else GPIO.LOW)

Les codes utilisés pour installer et configurer le point d’accès, les services et le contrôle des LEDs sont disponibles sur le dépôt GitLab du projet.