ciao a tutti ragazzi volevo chiedervi una cosa, ho un arduino uno a cui proprio oggi ho aggiunto la scheda arduino ethernet solo che ho un problema........l'ho collegato tramite cavo lan al mio router di alice solo che non lo vede...... devo configurare qualcosa? siccome ho altri computer collegati e li riconosce in automatico pensavo che riconosceva in automatico anche arduino,grazie a tutti in anticipo
È normale.
Devi programmare Arduino perche ci sia una trasmissione di dati.
Ciao Uwe
Se utilizzi la sola libreria ethernet la scheda funziona ma il router non lo mette nella lista degli ip o mac connessi, ma se da arduino gli fai fare un dhcp o ping verso il gateway lo vede e lo aggiunge.
grazie mille pablos ma scusa la mia ignoranza come faccio a fare il procedimento che mi hai scritto? mi sono appena inserito nel mondo di arduino e non sono ancora pratico....... =(
ciao ragazzi sono riuscito a caricare la libreria su arduino ed ora il mio router lo vede !! il mio prossimo passo era provare ad accendere un led col il mio tablet ed allora mi sono registrato su domotichome ho inserito tutti i dati ed alla fine mi da una libreria da caricare su arduino ma durante la fase si caricamento si blocca e appare questa schermata :
Uploaded with ImageShack.us
secondo voi cosa può essere?
il MAC e' scritto in modo sbagliato
deve essere in questa forma
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x98, 0xC9 };
e comunque dovresti assegnare quello che e' presente sull'etichetta posta nella Ethernet shield
ok ,l'ho fatto ho copiato quello dietro la scheda e l'ho inserito ,solo che ora viene visualizzato questo messaggio:
Uploaded with ImageShack.us
perche' quello e' uno sketch (.pde ) fatto per una versione piu' vecchia dell' IDE.
La libreria nel frattempo e' un po' cambiata e alcune funzioni hanno cambiato nome.
Perche' non posti lo sketch o ci dici da dove lo hai preso, cosi' possiamo dirti cosa e' variato
io ho caricato questo sketch che ho trovato in internet l'ho caricato ed ha iniziato a riconoscermi l'arduino dal mio router:
#include <SPI.h>
#include <Ethernet.h>
#include <Dns.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x98, 0xE9 };
EthernetClient client;
char server[] = "www.arduino.cc";
int serverport = 80;
void setup() {
// start serial port:
Serial.begin(115200);
// give the ethernet module time to boot up:
delay(1000);
// start the Ethernet connection using a fixed IP address and DNS server:
//Ethernet.begin(mac, ip, ipdns, ipgw, mask);
Ethernet.begin(mac);
// print the Ethernet board/shield's IP address:
Serial.print("My IP address: ");
Serial.println(Ethernet.localIP());
}
void loop() {
DNSClient dns;
// OPENDNS
IPAddress dns_ip(208, 67, 222, 222);
IPAddress out_ip;
dns.begin(dns_ip);
dns.getHostByName(server, out_ip);
Serial.println(out_ip);
delay(5000);
}
scusate la mia ignoranza o le mie domande che per voi possono essere banali ma sono alle prime armi
Con lo sketch precedente Arduino chiede al router di assegnargli un indirizzo ip, il gatway e la maschera di sottorete. e' normale che lo vada.
quando posti codice sul forum ricordati di inserirlo tra i tag [code ] che appaiono premendo il tastino # che si trova sopra le faccine, dopo la macchina da scrivere.
Cosi appare in questo modo:
#include <SPI.h>
#include <Ethernet.h>
#include <Dns.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x98, 0xE9 };
EthernetClient client;
char server[] = "www.arduino.cc";
int serverport = 80;
void setup() {
// start serial port:
Serial.begin(115200);
// give the ethernet module time to boot up:
delay(1000);
// start the Ethernet connection using a fixed IP address and DNS server:
//Ethernet.begin(mac, ip, ipdns, ipgw, mask);
Ethernet.begin(mac);
// print the Ethernet board/shield's IP address:
Serial.print("My IP address: ");
Serial.println(Ethernet.localIP());
}
void loop() {
DNSClient dns;
// OPENDNS
IPAddress dns_ip(208, 67, 222, 222);
IPAddress out_ip;
dns.begin(dns_ip);
dns.getHostByName(server, out_ip);
Serial.println(out_ip);
delay(5000);
}
Ok allora per risovere il problema cosa dovrei fare?
Pare che il progetto Domotichome si sia un po' arenato.
Nel forum, l'ultimo messaggio è del gennaio 2011 e il codice creato non è più compatibile con le nuove versioni dell'IDE.
Invece dell'immagine dell'IDE, potresti postare il codice? Naturalmente usando i tag CODE che trovi premendo il pulsante # sopra le faccine.
ok , ti faccio vedere il code generato da domotichome
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 90-A2-DA-0D-98-E9 };
byte ip[] = { 192 ,168 ,1 ,5 };
byte gateway[] = { 192 ,168 ,1 ,1 };
byte subnet[] = { 255 ,255 ,255 ,0 };
Server server(80);
String readString = String(30);
void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
delay(1000);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
Serial.begin(9600);
}
void loop(){
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 30)
{
readString = readString + c;
}
if (c == '\n') {
Serial.print(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
if(readString.startsWith("GET /?out=5&status=1"))
{Serial.print("\n 5 HIGH \n");
digitalWrite(5, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(5);
client.print("\"}");
}
if(readString.startsWith("GET /?out=5&status=0"))
{Serial.print("\n 5 LOW \n");
digitalWrite(5, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(5);
client.print("\"}");
}
if(readString.startsWith("GET /?out=all"))
{
Serial.print("\n OUT ALL\n");
client.print("{\"ip\" : \"192.168.1.5\", ");
client.print("\"devices\" : ");
client.print("[{ \"type\" : \"plug\", \"name\" : \"luce led\", \"out\" : \"");
client.print("5");
client.print("\"}");
client.print("]}");
}
readString="";
client.stop();
}
}
}
}
}
Questo, adesso, è compatibile col nuovo IDE 1.0.3.
Compila, ma non l'ho caricato su Arduino. Quindi non è testato.
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0x90, 0xA2, 0xDA, 0x0D, 0x98,0xE9 };
byte ip[] = {
192 ,168 ,1 ,5 };
byte gateway[] = {
192 ,168 ,1 ,1 };
byte subnet[] = {
255 ,255 ,255 ,0 };
EthernetServer server(80);
String readString = String(30);
void setup(){
Ethernet.begin(mac, ip, gateway, gateway, subnet);
delay(1000);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
Serial.begin(9600);
}
void loop(){
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 30)
{
readString = readString + c;
}
if (c == '\n') {
Serial.print(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
if(readString.startsWith("GET /?out=5&status=1"))
{
Serial.print("\n 5 HIGH \n");
digitalWrite(5, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(5);
client.print("\"}");
}
if(readString.startsWith("GET /?out=5&status=0"))
{
Serial.print("\n 5 LOW \n");
digitalWrite(5, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(5);
client.print("\"}");
}
if(readString.startsWith("GET /?out=all"))
{
Serial.print("\n OUT ALL\n");
client.print("{\"ip\" : \"192.168.1.5\", ");
client.print("\"devices\" : ");
client.print("[{ \"type\" : \"plug\", \"name\" : \"luce led\", \"out\" : \"");
client.print("5");
client.print("\"}");
client.print("]}");
}
readString="";
client.stop();
}
}
}
}
}
Guarda anche quest'altro topic --> Problema login arduino ethernet - Software - Arduino Forum
ok grazie mille ora provo ad inserirlo poi faccio sapere se è andato tutto a buon fine
per il problema del sync guarda qui --> http://arduino.cc/forum/index.php/topic,131955.0.html
grazie mille paolop ho risolto tutti e due i problemi ora si sincronizza e funziona anche da domodihome!!!
Se ti interessa c'è questo altro topic con problematiche simili alle tue. --> http://arduino.cc/forum/index.php/topic,138543.0.html