Arduino und ENC28J60

Hallo Forum :slight_smile:

Ich versuche im Moment meinen Arduino Mega 2560 mit meinem MQTT Server sprechen zu lassen. Hierzu habe ich mir den ENC28J60 geholt (http://www.ebay.de/itm/181472180677?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT). Jedoch funktioniert das ganze überhaupt nicht.
Ich benutze diesen Code

/*
 Basic MQTT example 
 
 - connects to an MQTT server
 - publishes "hello world" to the topic "outTopic"
 - subscribes to the topic "inTopic"
 */

#include <SPI.h>
#include <Ethernet.h>
#include "PubSubClient.h"

// Update these with values suitable for your network.
byte mac[]    = {  
  0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
byte server[] = { 
  192, 168, 0,   1 };
byte ip[]     = { 
  192, 168, 0, 100 };

void callback(char* topic, byte* payload, unsigned int length) {
  // handle message arrived
}

EthernetClient ethClient;
PubSubClient client(server, 1883, callback, ethClient);

void setup()
{
  Ethernet.begin(mac, ip);
  if (client.connect("arduinoClient")) {
    client.publish("outTopic","hello world");
    client.subscribe("inTopic");
  }
}

void loop()
{
  client.loop();
}

Nur der ENC28J60 leuchtet zwar, aber sendet nichts bzw. in der Topic wird nichts gepostet.

Könnt ihr mir da weiterhelfen ?

Pram:
Jedoch funktioniert das ganze überhaupt nicht.

Ja, und das ist völlig logisch, weill die Library

#include <Ethernet.h>

zur Ansteuerung eines W5100 Ethernet-Controllers dient, wie er auf einem Arduino-kompatiblen “Ethernet-Shield” enthalten ist.

Und Du verwendest einen dazu komplett inkompatiblen “ENC28J60” Netzwerkadapter.

Hinweis: Es gibt auch Libraries zur Ansteuerung des “dummen” Netzwerkadapters “ENC28J60”.
Aber die müßte man vorher sowohl von Drittanbietern herunterladen und installieren (gehören nicht zur Arduino-Software dazu) als auch in seinem Sketch verwenden, damit es funktionieren kann.

Danke jurs für die Antwort … hab es jetzt geschafft. Es funktioniert mit dem folgendem Code (wenn das jemanden noch interessiert) bzw. mit der arduino_uip library.

/*
 Basic MQTT example with Authentication
 
  - connects to an MQTT server, providing username
    and password
  - publishes "hello world" to the topic "outTopic"
  - subscribes to the topic "inTopic"
*/

#include <SPI.h>
#include <UIPEthernet.h>
#include "PubSubClient.h"

// Update these with values suitable for your network.
byte mac[]    = {  0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
byte server[] = { 192, 168, 0, 1  };
byte ip[]     = { 192, 168, 0, 100 };

void callback(char* topic, byte* payload, unsigned int length) {
  // handle message arrived
}

EthernetClient ethClient;
PubSubClient client(server, 1883, callback, ethClient);

void setup()
{
  Ethernet.begin(mac, ip);
  if (client.connect("arduinoClient", "testuser", "testpass")) {
    client.publish("outTopic","hello world");
    client.subscribe("inTopic");
  }
}

void loop()
{
  client.loop();
}