INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ethernetshield am Netz oder nicht
29.11.2015, 14:41 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2015 14:57 von Wampo.)
Beitrag #1
Ethernetshield am Netz oder nicht
Hy zusammen,
wie kann ich denn herrausfinden ob mein Arduino bzw. das Ethernetshield nach draussen kommunizieren kann??

habe jetzt schon ein paar Codes ausprobiert die sich z.b. auf Facebook verlinken, auf email verlinken oder auf eine wetterseite verlinken und jeweil was abfragen sollen.

Allerdings bekomme ich bei keinem der Codes irgendwelche Antworten von den Servern.

Liegt irgendwas an den Einstellungen meiner Frit.BOX ? POrtweiterleitung ect.??

HIer mal ein Code der bei mir nicht läuft bzw ich keine Rckmeldung bekomme.
Code:
/*
Facebook monitor

This sketch connects to Facebook using an Ethernet shield. It parses the XML
returned, and looks for <fan_count>this is a tweet</fan_count>

You can use the Arduino Ethernet shield, or the Adafruit Ethernet shield,
either one will work, as long as it's got a Wiznet Ethernet module on board.

This example uses the DHCP routines in the Ethernet library which is part of the
Arduino core from version 1.0 beta 1

This example uses the String library, which is part of the Arduino core from
version 0019.

This example uses a Display Shield to display de results of the call to facebook.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13


*/
#include <SPI.h>
#include <Ethernet.h>


// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] ={ 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip ( 192, 168, 178, 30 );

// initialize the library instance:
EthernetClient client;
const unsigned long requestInterval = 12000;  // delay between requests
char serverName[] = "graph.facebook.com";  // facebook URL
int port = 80;                         //Port from Facebooks Server
boolean requested;                   // whether you've made a request since connecting
unsigned long lastAttemptTime = 0;            // last time you connected to the server, in milliseconds
String currentLine = "";            // string to hold the text from server
String fbcount = "";                  // string to hold the tweet
boolean readingFbcount = false;       // if you're currently reading the tweet

void setup()
{
  // reserve space for the strings:
  currentLine.reserve(256);
  fbcount.reserve(100);

  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial)
  {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // attempt a DHCP connection:
  Serial.println("Attempting to get an IP address using DHCP:");
  if (!Ethernet.begin(mac))
  {
    // if DHCP fails, start with a hard-coded address:
    Serial.println("failed to get an IP address using DHCP, trying manually");
    Ethernet.begin(mac, ip);
  }
  Serial.print("My address:");
  Serial.println(Ethernet.localIP());
  connectToServer();

}

void loop()
{
  if (client.connected())
  {
    if (client.available())
    {
      // read incoming bytes:
      char inChar = client.read();
Serial.print(inChar);
      // add incoming byte to end of line:
      currentLine += inChar;

      // if you get a newline, clear the line:
      if (inChar == '\n')
      {
        currentLine = "";
      }
      // if the current line ends with <fan_count>, it will
      // be followed by the tweet:
      if ( currentLine.endsWith("<fan_count>"))
      {
        // tweet is beginning. Clear the tweet string:
        readingFbcount = true;
        fbcount = "";
      }
      // if you're currently reading the bytes of the facebook count,
      // add them to the tweet String:
      if (readingFbcount)
      {
        if (inChar != '<')
        {
          fbcount += inChar;
        }
        else
        {
          // if you got a "<" character,
          // you've reached the end of the facebo:
          readingFbcount = false;
          Serial.println(fbcount);
          

          // close the connection to the server:
          client.stop();
        }
      }
    }
  }
  else if (millis() - lastAttemptTime > requestInterval)
  {
    // if you're not connected, and two minutes have passed since
    // your last connection, then attempt to connect again:
    connectToServer();
  }
}

void connectToServer()
{
  // attempt to connect, and wait a millisecond:
  Serial.println("connecting to server...");
  String content = "";
  if (client.connect(serverName, port))
  {
    Serial.println("making HTTP request...");
    // make HTTP GET request to Facebook:
    // https://graph.facebook.com/v2.0/900415456?fields=updated_time
    client.println("GET /restserver.php?format=xml&method=fql.multiquery&pretty=0&queries={%22page_info%22%3A%22select%20name%2Cfan_count%2Cpage_url%2Ctype%20​from%20page%20where%20page_id%20IN%20(FM5m55od9jg)%22}&sdk=joey HTTP/1.1");
    //client.println("GET /v2.0/900415456?fields=updated_time HTTP/1.1");
    // declare correct server
    client.print("HOST: " + content.concat(serverName));
    client.println();
  }
  // note the time of this connect attempt:
  lastAttemptTime = millis();
}
Greez Wampo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2015, 15:54
Beitrag #2
RE: Ethernetshield am Netz oder nicht
Hi,
was ich da bei dir im Code vermisse ist die Initialisierung und Steuerung von dem CS Pin auf Port 10. Vergleiche hierzu doch mal meinen Code aus dem Megalogger den ich hier mal veröffentlicht habe. Denn das Thema poppt hier immer wieder hoch und schein immer das selbe zu sein.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2015, 16:20 (Dieser Beitrag wurde zuletzt bearbeitet: 29.11.2015 16:38 von Wampo.)
Beitrag #3
RE: Ethernetshield am Netz oder nicht
Wird Chipselect nicht mit der Lib Ethernet.h ausgeführt und nur wenn man auf Speicherkarte Schreiben will muss mal Chipselect ändern?

Komischerweise kann ich mit PING die jeweiligen Server Anpingen, also auch ohne CS definiert zu haben.

Aber vielen dank ich probier das mal aus.

greez Wampo

Also gerade eben nochmal ausprobiert, die gleiche reaktion wie vorher auch.

Wie schon gesagt ich denke wenn man nicht zwischen SD Karte und Ethernet hin und her wechselt dann ist Chipselect denke ich von Haus aus auf dem Ethernet Controller. Denn ich Starte ja unter anderem auch die Library für SPI und da ist 10, 11, 12, 13 ja vorgegeben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2015, 16:49
Beitrag #4
RE: Ethernetshield am Netz oder nicht
(29.11.2015 16:20)Wampo schrieb:  Wird Chipselect nicht mit der Lib Ethernet.h ausgeführt und nur wenn man auf Speicherkarte Schreiben will muss mal Chipselect ändern?

Komischerweise kann ich mit PING die jeweiligen Server Anpingen, also auch ohne CS definiert zu haben.

Aber vielen dank ich probier das mal aus.

greez Wampo

Also gerade eben nochmal ausprobiert, die gleiche reaktion wie vorher auch.

Wie schon gesagt ich denke wenn man nicht zwischen SD Karte und Ethernet hin und her wechselt dann ist Chipselect denke ich von Haus aus auf dem Ethernet Controller. Denn ich Starte ja unter anderem auch die Library für SPI und da ist 10, 11, 12, 13 ja vorgegeben.

...dazu müßte man die Lib sezieren...Tatsache ist das es bei mir Anfangs auch nicht gefunzt hat...und seit ich den CS von Hand organisiere läuft die ETH und die SD Sache ohne Probleme. Den Ping wird wohl der ETH Kontroller von sich aus erledigen....Ping geht bei mir auch und ich habe diesbezüglich auch keinen Code im Sketsch drin.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2015, 17:02
Beitrag #5
RE: Ethernetshield am Netz oder nicht
Okay, danke fr den Tip.

Werde einfach den ETH Controller immer per CS anwählen.

Wählst du dann auch SD mit HIGH ab oder ziehst du nur ETH auf LOW?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2015, 17:09
Beitrag #6
RE: Ethernetshield am Netz oder nicht
Als schöner Online Test bietet sich auch der Sketch von Arne an dieser greift auf einen Server zu und gibt die eigene WAN Adresse zurück:

http://www.arduinoforum.de/arduino-Threa...sse-im-WAN

Hier könnte ihre Werbung stehen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.11.2015, 17:23
Beitrag #7
RE: Ethernetshield am Netz oder nicht
(29.11.2015 17:02)Wampo schrieb:  Okay, danke fr den Tip.

Werde einfach den ETH Controller immer per CS anwählen.

Wählst du dann auch SD mit HIGH ab oder ziehst du nur ETH auf LOW?

gerne doch...

Na die Selectiererei geht doch hieraus hervor... Auszug aus dem Megalogger...
Code:
//################# Chip-Select ansteuern ###################################
void selETH() {     // waehlt den Ethernetcontroller aus
  
digitalWrite(SDselect, HIGH);
digitalWrite(ETHselect, LOW);

}
//####################################
void selSD() {      // waehlt die SD-Karte aus
  
digitalWrite(ETHselect, HIGH);
digitalWrite(SDselect, LOW);

}

//#################################
void selCLK() {      // waehlt die RTC aus bzw. sperrt Ethernet und SD-Karte
  
digitalWrite(SDselect, HIGH);
digitalWrite(ETHselect, HIGH);

}
...denke das ist Selbsterklärend..
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.11.2015, 21:53 (Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2015 21:54 von Wampo.)
Beitrag #8
RE: Ethernetshield am Netz oder nicht
Okay, ja habs schon gesehen das du SD auch abwählst. Meinte es eher so das wenn du die SD Karte gar nicht brauchst ob du sie auch abwählst?!

Übrigens bekomme ich jetzt eine Verbindung mit dem besagtem Facebook Sketch der die Likes auf einer seite Zählt eine Verbindung hin.
Schuld bzw. nicht funktion war der nachfolgende Code Schnipsel, der Anscheinend den Server nicht klar Definiert hat.

Code:
if (client.connect(serverName, port))
  {
    Serial.println("making HTTP request...");
    // make HTTP GET request to Facebook:
    // https://graph.facebook.com/v2.0/900415456?fields=updated_time
     client.println("GET /v2.0/900415456?fields=updated_time HTTP/1.1");
    // declare correct server
    client.print("HOST: " + content.concat(serverName));   // <-- Dieser Part Funktioniert nicht, muss wie im nächsten code aussehen
    client.println();
  }
Code:
client.println("GET /restserver.php.............. HTTP/1.1"); //gekürzt
    client.println("HOST: api-read.facebook.com");
    client.println("Connection: close");
    client.println();
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  USB-Gerät wird nicht erkannt kpc 1 53 06.12.2016 09:22
Letzter Beitrag: hotsystems
  Bluetooth-Steuerung mit elegoo uno funktioniert nicht Matthias_Arduino 0 145 01.11.2016 19:47
Letzter Beitrag: Matthias_Arduino
  Pin 5 an Pro Micro funktioniert nicht scritch 1 169 07.09.2016 13:54
Letzter Beitrag: ardu_arne
  Gartenbewässerung mit Arduino und/oder ESP8766 alpenpower 6 679 02.09.2016 19:30
Letzter Beitrag: NetRap
  Nema 17 Schrittmotor läuft an a4988 nicht fagus 9 580 04.08.2016 20:12
Letzter Beitrag: fagus
  LCD 1602 mit HD44780 TWI Controller funktioinert nicht mehr emduino 2 229 26.07.2016 20:42
Letzter Beitrag: hotsystems
  Uno gehen zwei digital Pins nicht edlosijagen 15 592 07.07.2016 19:22
Letzter Beitrag: Bitklopfer
  USB neu programmieren oder Daten schreiben Mathias 15 818 17.05.2016 16:12
Letzter Beitrag: Mathias
  IFLZ44N schaltet nicht korrekt? torsten_156 22 1.016 25.04.2016 13:53
Letzter Beitrag: Bitklopfer
  HC-06 Bluetooth verbindung geht nicht BennIY 0 651 21.03.2016 20:32
Letzter Beitrag: BennIY

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste