Attento alla libreria Ethernet che usi, se è quella standard di Arduino:
https://www.arduino.cc/en/Reference/EthernetBegin
la versione col DHCP non specifichi IP ma solo il MAC address ritorna un intero, se vale 1 hai ricevuto IP nel tempo prestabilito dalla libreria, 0 no, quindi puoi decidere se ritentare la ricezione del IP oppure fermati e segnalarlo in qualche modo la situazione.
La versione con IP statico non ha il problema del timeout del DHCP ma devi essere sicuro che il server DHCP non assegni a nessun altro dispositivo IP che hai deciso per il microcontrollore.
MAC address e IP
15 messaggi
• Pagina 2 di 2 • 1, 2
0
voti
[12] Re: MAC address e IP
ma devi essere sicuro che il server DHCP non assegni a nessun altro dispositivo IP che hai deciso per il microcontrollore
Questo lo puoi risolvere mandando in rete una richiesta ARP con l'IP che vorresti usare Se qualcuno risponde è già occupato. Secondo me se è una cosa che userai solo tu nella tua rete hai già risolto. Se lo può usare uno qualsiasi dagli un IP default strano e aggiungi una paginetta di configuraizone dove uno può mettere l'ip che vuole.
Anche perché non è detto che una rete qualsiasi abbia un server DHCP. La cosa pulita sarebbe: cercare un server DHCP, se lo trova abbiamo finito e gli arriverà l'IP dal server. See non lo trova gli assegni l'IP standard che hai previsto tu e generi uan richeista ARP per capire se c'è qualcuno che ha lo stesso l'IP in rete (se è strano probabilmente no ma non si sa mai...). Se non è occupato hai finito se è occupato devi segnalarlo im qualche modo e non puoi fare nulla.
-

luxinterior
4.311 3 4 9 - Master EY

- Messaggi: 2690
- Iscritto il: 6 gen 2016, 17:48
1
voti
[13] Re: MAC address e IP
Se usi il DHCP e vuoi assegnare un ip predefinito ad un client non devi fare altro che segnalare l'eccezione al server DHCP nel caso ci fosse, altrimenti asegna gli indirizzi in modo statico considerando tutte le regole di subnet, che in soldoni vuol dire non assegnare indirizzi non apparteneti alla tua rete lan.(ricordando che il primo indirizzo identifica la rete e l'ultimo è l'indirizzo di broadcast).
Esempio 172.16.22.x/24 usa indirizzi da 172.16.22.1 a 172.16.22.254
Ciao
Esempio 172.16.22.x/24 usa indirizzi da 172.16.22.1 a 172.16.22.254
Ciao
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
0
voti
[14] Re: MAC address e IP
grazie a tutti per le risposte.
Ancora non sono venuto a capo del problema.
Adesso ho un altro dubbio.
Forse il problema non è l'indirizzo ip né il MAC address.
Arduino riesce ad acquisure correttamente l'ip dal DHCP e a connettersi appena lo collego alla rete.
Il problema è che poi mi manda tutta la rete in blocco (alcune volte non funziona più internet nemmeno sui PC collegai alla rete e sempre arduino smette di connettersi). Ho provato su reti diverse con router diversi quindi il problema è arduino. Ho cambiato la scheda di rete di arduino e succede la stessa cosa.
Lo schema di collegamento è il seguente.
non è che sto sbagliando ad assegnare i pin e che quindi scheda di rete e modulo MFRC522 mandano tutto in tilt?
Ho provato a caricare questo sketch di esempio e sembra funzionare tutto anche dopo ore che è collegato.
grazie per l'attenzione
Ancora non sono venuto a capo del problema.
Adesso ho un altro dubbio.
Forse il problema non è l'indirizzo ip né il MAC address.
Arduino riesce ad acquisure correttamente l'ip dal DHCP e a connettersi appena lo collego alla rete.
Il problema è che poi mi manda tutta la rete in blocco (alcune volte non funziona più internet nemmeno sui PC collegai alla rete e sempre arduino smette di connettersi). Ho provato su reti diverse con router diversi quindi il problema è arduino. Ho cambiato la scheda di rete di arduino e succede la stessa cosa.
Lo schema di collegamento è il seguente.
- Codice: Seleziona tutto
* MFRC522 Arduino
* Reader/PCD Uno/101
* Signal Pin Pin
* * -----------------------------------------------------------------------------------------
* RST/Reset RST 9
* SPI SS SDA(SS) 4/
* SPI MOSI MOSI 11
* SPI MISO MISO 12
* SPI SCK SCK 13
pinMode(2, OUTPUT); //led verde
pinMode(6, OUTPUT); //buzzer
#include <Wire.h> //lcd
#include <LiquidCrystal_I2C.h> //lcd
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
#include<SPI.h>
#include<MFRC522.h>
#include<SoftwareSerial.h>
#include <Ethernet.h>
#define SS_PIN 4 //FOR RFID SS PIN BECASUSE WE ARE USING BOTH ETHERNET SHIELD AND RS-522
#define RST_PIN 9
//#define No_Of_Card 3
byte mac[] = { 0x54, 0xA0, 0x50, 0xE0, 0x73, 0x37 };
char server[] = "www.xxx.it"; //YOUR SERVER
IPAddress ip(10,10,10,180);
EthernetClient client;
SoftwareSerial mySerial(8,9);
MFRC522 rfid(SS_PIN,RST_PIN);
MFRC522::MIFARE_Key key;
non è che sto sbagliando ad assegnare i pin e che quindi scheda di rete e modulo MFRC522 mandano tutto in tilt?
Ho provato a caricare questo sketch di esempio e sembra funzionare tutto anche dopo ore che è collegato.
- Codice: Seleziona tutto
/*
Web client
This sketch connects to a website (http://www.google.com)
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe, based on work by Adrian McEwen
*/
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128); // numeric IP for Google (no DNS)
char server[] = "www.xxx.it"; // name address for Google (using DNS)
// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192, 168, 0, 177);
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// try to congifure using IP address instead of DHCP:
Ethernet.begin(mac, ip);
}
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
// if you get a connection, report back via serial:
if (client.connect(server, 80)) {
Serial.println("connected");
// Make a HTTP request:
client.println("GET /news.asp HTTP/1.1");
client.println("Host: www.xxx.it");
client.println("Connection: close");
client.println();
} else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
}
void loop() {
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
// do nothing forevermore:
while (true);
}
}
grazie per l'attenzione
15 messaggi
• Pagina 2 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




