Configurer le Wi-Fi sans clavier ni écran (mode autonome)

Comment utiliser ces ports USB du Raspberry Pi, gérer les problèmes qu'ils génèrent

Modérateur : Francois

Répondre
Avatar du membre
cranberry314
Messages : 4
Enregistré le : ven. 3 juin 2016 22:40

Configurer le Wi-Fi sans clavier ni écran (mode autonome)

Message par cranberry314 » jeu. 5 janv. 2017 21:43

Bonjour,
Voilà, je suis à la recherche d'une solution pour configurer le Wi-Fi sans clavier ni écran, le but est de rendre un rpi facilement accessible part le commun des mortels :D
Mon idée était d'utiliser un smartphone en connexion Usb avec un script en python pour la config sur le rpi et une appli sur Android.
Pour Python, je pense trouver mais pour l'appli, je sèche un peu...

Maintenant, si quelqu'un a une idée autre, je suis preneur :lol:

Merci d'avance

Alexidreaming
Raspinaute
Messages : 211
Enregistré le : mar. 16 août 2016 20:55
Contact :

Re: Configurer le Wi-Fi sans clavier ni écran (mode autonome)

Message par Alexidreaming » lun. 20 févr. 2017 17:32

Salut, tu as une connexion Internet par câble?

Tu peux télécharger une app de connexion SSH pour ensuite le configurer via la ligne de commande
Le pro du déterrage de topic est là!

Alexidreaming

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Configurer le Wi-Fi sans clavier ni écran (mode autonome)

Message par dyox » lun. 20 févr. 2017 19:36

Bonsoir,
Je me suis fais un script pour ce genre de situation, que je partage.

Code : Tout sélectionner

#!/bin/bash

#objectif		        : Configurer une IP statique dans dhcpcd.conf avec wlan0
#logiciel		       	: bash
#cible               	: Raspberry Pi
#matériels de test   	: Raspberry Pi 3
#OS                 	: raspian PIXEL du 2016-09-23
#date de création 		: 27/10/2016
#date de mise à jour	: 17/11/2016
#version      			: 1.0
#auteur	      			: dyox
#références   			: 
#remarques    			: Pour fonctionner, il faut être root
#					      Il faut rendre le fichier exécutable avec "sudo chmod +x static_IP.sh"
#                      	  Pour exécuter le fichier, il faut faire "sudo ./static_IP.sh"
#apprentissage	   		: redirection avec "echo -e"+">>" et "echo"+"tee -a"
#				   		  les fonctions
#		          		  condition pas root : $EUID -ne 0 ou $(id -u) != 0
#		          		  le REPLY

# A MODIFIER
INTERFACE="wlan0"
IP="A MODIFIER/24"
ROUTEUR="A MODIFIER"
DNS="A MODIFIER"
SSID="A MODIFIER"
PSK="A MODIFIER"
# WPA2
KEY="WPA-PSK"


# Etre sûr que ce script est lancé sur un Raspberry Pi
if ! uname -a | grep "raspberrypi" > /dev/null
then
	echo "Ce script ne fonctionne que sur un Raspberry Pi !"
	read -n 1 -p "Pressez n'importe quelle touche pour quitter"	
	echo
	exit
fi
# Etre sûr que ce script est lancé en tant que root
#if [ $EUID -ne 0 ];then
if [ $(id -u) != 0 ];then
	echo "Privilège insuffisant pour exécuter ce script !"
	echo "Relancez ce script  avec sudo"
	read -n 1 -p "Pressez n'importe quelle touche pour quitter"
	echo
	exit
fi

# Restauration si les fichiers "dhcpcd.conf" et "wpa_supplicant.conf" ont été précédemment sauvegardés
if [ -e dhcpcd.conf.bak ] && [ -e wpa_supplicant.conf.bak ];then
	echo "Les fichiers dhcpcd.conf et wpa_supplicant.conf ont été précédemment sauvegardés."
	read -n 1 -p "Voullez-vous restaurer ces fichiers ? (o/n)"
	echo
	if [[ ! $REPLY =~ ^[oO]$ ]];then
		exit
	else
# avant copie : -rw-rw-r-- root:netdev
		mv dhcpcd.conf.bak /etc/dhcpcd.conf
    chown root:netdev /etc/dhcpcd.conf
# avant copie : -rw------- root:root
		mv wpa_supplicant.conf.bak /etc/wpa_supplicant/wpa_supplicant.conf 
#		chown root:root /etc/wpa_supplicant/wpa_supplicant.conf  << cela ne sert à rien car lors de la copie, on est déjà root...et donc le .bak est root
		echo "Restauration finie !"
	fi
	exit
fi

# vérifie si dhcpcd.conf a déjà été sauvegardé
if [ ! -e dhcpcd.conf.bak ];then
	echo "Le fichier dhcpcd.conf n'étant pas déjà été sauvegardé, il est sauvegardé dans /home/ puis modifié."
	cp /etc/dhcpcd.conf dhcpcd.conf.bak 
	echo -e "

interface $INTERFACE
static ip_address=$IP
static routers=$ROUTEUR
static domain_name_servers=$DNS" >> /etc/dhcpcd.conf
else
	echo "Le fichier dhcpcd.conf a  déjà été sauvegardé et modifié. !"
fi

# fonction setWPA
# "scan_ssid=1" pour accrocher un ssid caché
setWPA(){
echo -e "
Network={
	ssid=$SSID
	scan_ssid=1
	psk=$PSK
	key_mgmt=$KEY
}" | tee -a /etc/wpa_supplicant/wpa_supplicant.conf > /dev/null
}

# vérifie si wpa_supplicant.conf a déjà été sauvegardé
if [ ! -e wpa_supplicant.conf.bak ];then
	echo "Le fichier wpa_supplicant.conf n'étant pas déjà été sauvegardé, il est sauvegardé dans /home/ puis modifié"
	cp /etc/wpa_supplicant/wpa_supplicant.conf wpa_supplicant.conf.bak
	setWPA 
# pour pouvoir y jeter un oeil!
#	chown pi:pi wpa_supplicant.conf.bak
else
	echo "Le fichier wpa_supplicant.conf a  déjà été sauvegardé et modifié !"
fi
echo -e "Fichiers /etc/dhcpcd.conf et /etc/wpa_supplicant/wpa_supplicant.conf modifiés !
Redémarrage du service dhcpcd"
#systemctl restart dhcpcd.service
service dhcpcd restart
exit
Il ne reste qu'à le modifier et le lancer au démarrage.
Je n'ai pas testé mais si on prend l'exemple de "cmdline.txt" lors du 1er boot qui lance automaquement l'extension de partition puis l'efface :

Code : Tout sélectionner

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh quiet splash plymouth.ignore-serial-consoles

Répondre

Retourner vers « Les ports USB »