TPE - Voitures autonomes
Configuration du point d'accès wifi.
La configuration du point d'accès wifi nous permettra de nous connecter directement au Raspberry au travers du protocole SSH (voir le point précédent). Nous évitons ainsi l'usage d'un point d'accès supplémentaire comme une Box ou autre. Pour réaliser la configuration, nous nous sommes aidés des sites suivants :
"https://code4pi.fr/2017/05/creer-hotspot-wifi-raspberry/"
"https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/"
Dans un premier temps, au travers de l'interface graphique, nous connectons la carte wifi interne à internet en passant par la box de la maison. Ceci nous permet la mise à jour du système et l'installation des packages.
La commande "ping 8.8.8.8" nous montre que nous sommes connectés à internet.
La commande "ifconfig" nous montre l'adresse IP actuelle du Rasperry et nous pouvons tester la connexion SSH car notre PC est connecté au même réseau que le Raspberry.
Pour commencer, nous mettons à jour les sources des packages.
sudo apt-get update
Nous allons installer hostapd le « moteur » du point d’accès et udhcpd un serveur DHCP permettant d’attribuer automatiquement les adresses IP aux périphériques :
sudo apt-get install hostapd udhcpd
Pour que les clients sans-fil connectés à notre point d’accès Raspberry Pi puissent communiquer il leur faut une adresse IP. On configure donc un serveur DHCP pour délivrer automatiquement ces adresses.
sudo nano /etc/udhcpd.conf
Nous changeons les lignes suivantes :
start 192.168.11.20
end 192.168.11.50
interface wlan0
opt dns 192.168.11.1
option subnet 255.255.255.0
opt router 192.168.11.1
option lease 864000
Nous éditons le fichier /etc/default/udhcpd et nous commentons la ligne suivante pour activer le DHCP:
sudo nano /etc/default/udhcpd
DHCPD_ENABLED="no" en # DHCPD_ENABLED="no"
Nous désactivons le client DHCP pour l'interface wlan0 en ajoutant la ligne denyinterfaces wlan0 à la fin du fichier /etc/dhcpcd.conf mais avant tout ligne interface.
sudo nano /etc/dhcpcd.conf
denyinterfaces wlan0
Nous éditons le fichier de configuration /etc/network/interfaces et nous modifions la configuration pour l'interface wlan0 afin de lui attribuer une adresse IP fixe:
sudo nano /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.11.1
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
Nous appliquons ensuite la configuration en redémarrant le client DHCP et l’interface wlan0 :
sudo service dhcpcd restart
sudo ifdown wlan0
sudo ifup wlan0
A ce stade, le Raspberry n'a plus de connexion internet et se trouve sur son propre réseau "192.168.11.*".
Nous éditons le fichier de configuration /etc/hostapd/hostapd.conf
sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=Raspi_Car (nom du point d'accès)
hw_mode=g
channel=6
country_code=FR
ieee80211n=1
wmm_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=****** (notre mot de passe)
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
Nous pouvons vérifier le fonctionnement :
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Le réseau "Raspi_Car" apparaît dans la liste des connexions wifi disponibles sur l'ordinateur.
Nous indiquons dans le fichier /etc/default/hostapd l’emplacement de notre configuration en renseignant le paramètre DAEMON_CONF :
sudo nano /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Nous activons le Hotspot WiFi et le serveur DHCP :
sudo service hostapd start
sudo service udhcpd start
Nous pouvons maintenant tester la connexion à partir d'un ordinateur.
1. Connexion au point d'accès wifi "Raspi_Car"
2. Commande ms dos : ipconfig : la carte wifi de l'ordinateur a obtenu une adresse "192.168.11.*"
3. Commande ms dos : ping 192.168.11.1 : le Raspberry répond
4. Putty : Connexion SSH au Raspberry à partir du PC
Afin de rendre complètement autonome notre Raspberry, nous utiliserons la carte interne Wifi pour les connexions directes (du PC au Raspberry) et une clé USB wifi pour les connexions internet d'installation et de mise à jour.
La clé wifi USB permet au Raspberry de se connecter au réseau internet. La commande "ifconfig" nous montre les deux adresses IP :
wlan0 : 192.168.11.1 > adresse IP de la carte interne du Raspberry permettant la connexion point à point avec l'ordinateur.
wlan1 : 192.168.1.* > adresse IP obtenue de la box internet de la maison.