![PointAccess_RaspberryPi_img2](https://framboiserobot.ca/wp-content/uploads/2019/08/PointAccess_RaspberryPi_img2-678x381.jpg)
Introduction
Ce document va vous guider étape par étape pour la configuration d’un Raspberry PI comme point d’accès. Cette configuration réseau va supporter le système de commande et contrôle d’un véhicule robotique mobile. Ce processus d’installation a été testé sur le Raspberry Pi Zéro, Pi 3 A+. La version stretch de Raspbian a été utilisée.
Référence
Robot, Raspberry Pi et le sans-fil
Documentation officielle
Setting up a Raspberry Pi as a Wireless Access Point
Setting up a Raspberry Pi headless
Configuration client
Les configurations du client sans-fil sont inscrites dans ce fichier;
/etc/wpa_supplicant/wpa_supplicant.conf
Vous devez spécifier les informations suivantes;
Le champ ssid est l’identifiant du point d’accès.
Le champ psk est le mot de passe.
country=CA ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid='moinpointdacces' psk='monmotdepasse' key_mgmt=WPA-PSK }
L’accès au réseau sans-fil est maintenant configuré. Le Raspberry Pi va se connecter au point d’accès lors du démarrage si celui-ci est accessible. Les opérations de mise à jour et les activités nécessitant un accès internet utiliseront cette interface.
Ajout d’une interface réseau
Le choix d’une interface réseau pour assurer la connectivité du point d’accès n’est pas simple. Il ne suffit pas d’être compatible avec Raspbian pour fonctionner correctement. Ce ne sont pas toutes les interfaces sans-fil qui supportent l’opération d’un point d’accès virtuel (SoftAP). Pour savoir si ce mode est disponible, entrez la commande suivante dans la console votre Raspberry Pi avec votre carte réseau insérée dans un port USB.
iw list (...) Supported interface modes: * IBSS * managed * AP * P2P-client * P2P-GO * P2P-device (...)
La mention AP doit être présente dans le résultat de la requête pour confirmer la compatibilité avec le mode Point d’accès.
J’utiliserai l’interface TPLink TL-WN823N pour cette démonstration. L’interface sans-fil native du Raspberry Pi peut fonctionner en mode point d’accès mais l’absence d’antenne extérieure et sa faible puissance limite son utilité pour le contrôle d’un véhicule robotique.
Vérification des interfaces disponibles
Il est important de s’assurer que le pilote de la carte réseau est installé. La commande ip link fera l’énumération de toutes les interfaces visibles par le noyau Linux du Raspberry Pi.
pi@raspberrypi:~ $ ip link (...) 4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc ... link/ether 50:3e:aa:01:24:93 brd ff:ff:ff:ff:ff:ff
L’interface wlan1 est reconnue par le système d’opération et pourra être utilisée pour supporter le fonctionnement du point d’accès hybride.
Configuration du point d’accès
1 – Mise à jour du système d’opération Raspbian.
sudo apt-get update && sudo apt-get upgrade
2 – Installation des logiciels dnsmask et hostapd.
Dnsmask est un logiciel qui offre les services d’infrastructure DHCP et DNS pour un réseau local. Hostapd est un serveur de point d’accès 802.11 et est responsable de l’établissement et du maintien de la connexion radio avec le client.
sudo apt-get -y install dnsmasq hostapd
Redémarrer le Raspberry Pi pour assurer l’application des nouvelles configurations.
sudo reboot
3 – Définir une adresse IP statique pour l’interface assignée au point d’accès.
Ouvrir le fichier /etc/dhcpcd.conf dans un éditeur de texte.
sudo nano /etc/dhcpcd.conf
Ajouter les informations suivantes dans le fichier.
interface wlan1 static ip_address=192.168.99.1/24 nohook wpa_supplicant
4 – Configurer le service d’adresse DHCP.
Sauvegarder le fichier original s’il existe.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
Créer un nouveau fichier pour la configuration qui sera active.
sudo nano /etc/dnsmasq.conf
Ajouter les informations concernant les paramètes d’attribution des addresses DHCP.
interface=wlan1 dhcp-range=192.168.99.50,192.168.99.100,255.255.255.0,24h
5 – Configurer les paramètres de connexion du point d’accès en ouvrant le document /etc/hostapd
/hostapd.conf dans un éditeur de texte.
sudo nano /etc/hostapd/hostapd.conf
Ajouter les informations suivantes dans le fichier.
interface=wlan1 driver=nl80211 ssid=rover hw_mode=g channel=6 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=motdepasse wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Configurer hostapd pour le démarrage.
sudo nano /etc/default/hostapd
Ajouter les informations suivantes à la fin du fichier
DAEMON_CONF="/etc/hostapd/hostapd.conf"
6 – Autoriser les services dnsmask et hostapd.
sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl start hostapd sudo systemctl start dnsmasq
Redémarrer pour appliquer la nouvelle configuration.
Vérification de la configuration
Connectez-vous au point d’accès virtuel du Raspberry Pi à partir de votre station de contrôle. Si cela réussi, votre système est prêt à recevoir un contrôleur de moteur. Les commandes suivantes vous permettront de vérifier les principaux paramètres qui sont appliqués.
pi@raspberrypi:~ $ iw wlan1 info Interface wlan1 ifindex 4 wdev 0x100000001 addr b8:27:eb:82:d4:2a [1] ssid rover [2] type AP wiphy 1 [3] channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz txpower 31.00 dBm pi@raspberrypi:~ $ ip addr show (...) 4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 50:3e:aa:01:24:93 brd ff:ff:ff:ff:ff:ff [4] inet 192.168.99.1/24 brd 192.168.99.255 scope global wlan1
Par ces 2 commandes, les 4 points de configurations suivant sont vérifiés
[1] Nom du point d’accès.
[2] mode de fonctionnement.
[3] Canal/fréquence radio.
[4] Adresse IP de l’interface.
Conclusion
Le lecteur intéressé constatera ici que les fonctions NAT ne sont pas appliquées. Le point d’accès n’est pas configuré pour jouer le rôle de passerelle. La station de contrôle qui se connecte au Raspberry Pi ne pourra accéder à internet par son entremise. Le Raspberry Pi peut toutefois accéder à internet par son interface client et son point d’accès désigné. Si celui-ci est hors de portée, internet n’est pas accessible. Le lien entre le robot et la station de contrôle est actif en tout temps.