Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]
Librairie Ethernet : Classe IPAdress

IPAddress


Description

  • Ce constructeur crée un objet représentant une adresse IP au format xxx.xxx.xxx.xxx
  • On pourra utiliser un tel objet aussi bien pour désigner une adresse IP qu'un masque de réseau.

Syntaxe


IPAdress ipLocale(192,168,1,100);

Paramètres

  • les 4 groupes de chiffres de l'adresse IP séparés par des ,

Valeur renvoyée

Aucune

Exemple



// --- Programme Arduino 1.01 ---

// Auteur du Programme : X. HINAULT - Tous droits réservés
// Programme écrit le : 11/9/2012.

// ////////////////////  PRESENTATION DU PROGRAMME ////////////////////

// -------- Que fait ce programme ? ---------
 /* Programme Ethernet minimum pour Arduino */

// --- Fonctionnalités utilisées ---

// Utilise le module Ethernet Arduino

// -------- Circuit à réaliser ---------

// Le module Ethernet est à enficher broche à broche sur la carte Arduino
// Connecter broche SCLK du module Ethernet sur la broche 13
// Connecter broche MISO du module Ethernet sur la broche 12
// Connecter broche MOSI du module Ethernet sur la broche 11
// Connecter broche Select Ethernet du module Ethernet sur la broche 10
// Connecter broche Select SD Card du module Ethernet sur la broche 4
// Le module Ethernet est compatible avec la carte Mega via le connecteur ICSP


// /////////////////////////////// 1. Entête déclarative ///////////////////////
// A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets utiles...

// --- Déclaration des constantes ---

// --- Inclusion des librairies ---

#include <SPI.h> // librairie SPI - obligatoire avec librairie Ethernet
#include <Ethernet.h> // librairie Ethernet

// --- Déclaration des constantes utiles ---

// --- Déclaration des constantes des broches E/S numériques ---


// --- Déclaration des constantes des broches analogiques ---

// --- Déclaration des variables globales ---

//--- l'adresse mac = identifiant unique du shield
// à fixer arbitrairement ou en utilisant l'adresse imprimée sur l'étiquette du shield
byte mac[] = {  0x90, 0xA2, 0xDA, 0x00, 0x1A, 0x71 };

//----- l'adresse IP fixe à utiliser pour le shield Ethernet ---
IPAddress ipLocal(192,168,1,100); // l'adresse IP locale du shield Ethernet
// ATTENTION : il faut utiliser une adresse hors de la plage d'adresses du routeur DHCP
// pour connaitre la plage d'adresse du routeur : s'y connecter depuis un navigateur à l'adresse xxx.xxx.xxx.1
// par exemple : sur livebox : plage adresses DHCP entre .10 et .50 => on peut utiliser .100 pour le shield ethernet

//----- l'adresse IP du serveur DNS à utiliser ---
//IPAddress serveurDNS(8,8,8,8); // l'adresse du serveur DNS - Google DNS : 8.8.8.8

//----- l'adresse de la passerelle réseau ---
// la passerelle est le poste connecté à internet - typiquement le routeur à l'adresse xxx.xxx.xxx.1
//IPAddress passerelle(192,168,1,1); // l'adresse du poste de connexion à internet ou de la box

//----- masque de sous réseau
//IPAddress masque(255, 255, 255, 0 ); // idem masque sous-réseau des autres postes du réseau et de la box : 255.255.255.0 par défaut


// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---


// ////////////////////////// 2. FONCTION SETUP = Code d'initialisation //////////////////////////
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter 1 seule fois au démarrage du programme ---

// ------- Initialisation fonctionnalités utilisées -------  

Serial.begin(115200); // Initialise connexion Série

//---- initialise la connexion Ethernet avec l'adresse MAC du module Ethernet, l'adresse IP Locale
//----  +/- l'adresse IP du serveurDNS , l'adresse IP de la passerelle internet et le masque du réseau local

//Ethernet.begin(mac); // forme pour attribution automatique DHCP - utilise plus de mémoire Flash (env + 6Ko)
Ethernet.begin(mac, ipLocal); // forme conseillée pour fixer IP fixe locale
//Ethernet.begin(mac, ipLocal, serverDNS, passerelle, masque); // forme complète

delay(1000); // donne le temps à la carte Ethernet de s'initialiser

Serial.print("L'adresse IP du shield Ethernet est :" );

Serial.println(Ethernet.localIP());

/* Equivalent détaillé
Serial.print(Ethernet.localIP()[0]), Serial.print(".");
Serial.print(Ethernet.localIP()[1]), Serial.print(".");
Serial.print(Ethernet.localIP()[2]), Serial.print(".");
Serial.print(Ethernet.localIP()[3]);
*/


/*
Serial.print(ipLocal[0]), Serial.print(".");
Serial.print(ipLocal[1]), Serial.print(".");
Serial.print(ipLocal[2]), Serial.print(".");
Serial.print(ipLocal[3]);
*/


} // fin de la fonction setup()
// ********************************************************************************

////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()


while(1); // stop loop

} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************


// ////////////////////////// FONCTIONS DE GESTION DES INTERRUPTIONS ////////////////////


// ////////////////////////// AUTRES FONCTIONS DU PROGRAMME ////////////////////


// ////////////////////////// Fin du programme ////////////////////
 

Commentaires utilisateurs

  • La fonction print supporte l'objet IPAdress
  • On peut accéder à chaque groupe de l'objet IPAdress comme pour un tableau par ipLocale[0], etc...

Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.

Cette page est une traduction de la page originale suivante : http://arduino.cc/en/Reference/EthernetIPAddress