Le traitement des données est une tâche importante pour les administrateurs système et les développeurs. La ligne de commande programmée est un outil puissant qui permet aux utilisateurs d’effectuer des tâches complexes et de récupérer des informations précieuses. Dans cet article, nous allons examiner comment utiliser la ligne de commande programmée pour récupérer l’adresse IP de l’interface wifi wlan0. Nous verrons comment utiliser des commandes simples pour obtenir cette information et comment l’utiliser pour configurer et gérer votre réseau.
Processing Ligne de commande programmée : récupérer l’adresse IP de l’interface wifi wlan0
Description
- Ce petit programme montre comment récupérer l’adresse IP de l’interface wifi wlan0 à partir de Processing, sous Ubuntu. Ici, on récupère la sortie console de l’instruction ifconfig qui permet d’obtenir la liste des interfaces du système.
- La sortie console est ensuite analysée : les lignes voulues sont prises en compte et l’adresse IP est extraite.
- L’utilité potentielle de ce programme est notamment sur un PC embarqué sous Ubuntu, de connaître et d’afficher sur un LCD au démarrage par exemple l’adresse IP automatique qui est attribuée au PC par le routeur DHCP sur un réseau wifi.
Ressources utiles
- L’instruction ifconfig : faire man ifconfig dans une console sous Ubuntu (Applications > Accessoires > Terminal).
Le programme
// généré avec le générateur de code Processing
// www.mon-club-elec.fr
// par X. HINAULT – Juillet 2011 – tous droits réservés
/////////////// Description du programme ////////////
// Ce programme fait exécuter la commande système ifconfig
// et extrait l’adresse ip de l’interface wlan0 (interface réseau wifi)
// XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX
// inclusion des librairies utilisées
// déclaration objets
String[] command ;
String inputString;
String adresseIP;
int compt=0; // variable de comptage des passages
// déclaration variables globales
// XXXXXXXXXXXXXXXXXXXXXX Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX
void setup(){ // fonction d’initialisation exécutée 1 fois au démarrage
} // fin fonction Setup
// XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX
void draw() { // fonction exécutée en boucle
getIP();
print(« Adresse IP wlan0: « );
println(inputString);
while(true); // stoppe boucle draw
} // fin de la fonction draw()
// XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX
void getIP() {
// le paquet espeak doit etre installé sous Ubuntu (depuis la logithèque)
command = new String[1];
// espeak -v fr -s 140 « lecture texte espeak »
// espeak -v fr -s 80 -p 30 \ »moteur droit en marche avant\ »
command[0] = « ifconfig »;
//command[1] = « »;
//command[2]= » »;
//command[3]= » »;
//command[4]= » »;
//command[5]= » »;
//command[6]= » »;
//command[7]= » »;
//— exécution de la ligne de commande
try {
Process p = exec(command); // exécute la commande
//— récupère la sortie de la commande dans la console de Processing
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String ligne = null;
while ((ligne = in.readLine()) != null) { // lit la sortie console ligne à ligne
System.out.println(ligne); // affiche la ligne courante issue de la console
//—– prise en compte de la ligne qui suit ligne avec chaine caractère wlan0 —
if (compt==1) { // si un premier passage a eu lieu
// mis avant détection wlan0 pour éviter prise en compte lors 1er passage
inputString=ligne; // on mémorise la ligne
compt=2; // incrémente compt pour éviter prise en compte des lignes non voulues
//—- traitement de la chaine de la deuxième ligne = extraction de l’IP
inputString=trim(inputString);
String[] subString = split(inputString, ‘:’); // coupe entre les :
inputString=subString[1]; // garde la sous-chaine :192….Bcast:
String[] subString2 = split(inputString, ‘ ‘); // coupe entre les :
inputString=subString2[0]; // garde la sous-chaine d’adresse IP
}
//———- recherche la première ligne qui concerne l’interface —
String[] testString = match(ligne, « wlan0 »); // recherche la chaine dans la ligne
if (testString != null) { // si le tableau n’est pas vide = si la chaine a été trouvée
inputString=ligne;
compt=1;
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
Articles similaires:
- Processing Synthèse vocale avec espeak : annonce vocale de l’adresse IP de l’interface wifi.
- Processing Synthèse vocale avec espeak : annonce vocale de l’adresse IP de l’interface wifi et éthernet sous Ubuntu.
- GLAP-Box : Afficher l’adresse IP wifi utilisée sur un écran LCD
- Processing : Jouer un son avec Mplayer
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.OutilsProcessingLigneCommande
Articles Liés
- Javascript : Graphique Dygraphs simple
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…
- Javascript : Afficher 6 widgets graphiques fournis par une librairie graphique externe.
Le Javascript est un langage de programmation très populaire qui permet aux développeurs de créer…
- Javascript : Graphique Dygraphs : afficher date à partir unixtime
Le langage de programmation Javascript est très populaire et est utilisé pour créer des applications…