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
Dumheit oder doch ein Fehler im System ?
01.09.2016, 08:11
Beitrag #1
Dumheit oder doch ein Fehler im System ?
Moin moin,

Wieder bin ich was am testen da ich ein Projekt umbauen möchte. ( siehe Hier )

Jetzt teste ich hier grade was mit dem UNO , ENC28J60 und mit einen Display Modul.

Der aufbau basiert auf vorlage die ich Hier gefunden habe.

Uno und ENC28J60 zusammen funktionieren .. ETH Shield wird erkannt , IP wird zugewiesen , passt.
Beim einbinden des LCD ( über i2c ) geht das netzwerk nicht mehr
Code:
Vorher
IP Address        : 192.168.10.43
Subnet Mask       : 255.255.255.0
Default Gateway IP: 192.168.10.1
DNS Server IP     : 192.168.10.1

Nacher
IP Address        : 0.0.0.0
Subnet Mask       : 0.0.0.0
Default Gateway IP: 0.0.0.0
DNS Server IP     : 0.0.0.0

Sketch
Code:
#include <UIPEthernet.h> // Used for Ethernet
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// **** ETHERNET SETTING ****
// Arduino Uno pins: 10 = CS, 11 = MOSI, 12 = MISO, 13 = SCK
// Ethernet MAC address - must be unique on your network - MAC Reads T4A001 in hex (unique in your network)
byte mac[] = {
  0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };                                      
// For the rest we use DHCP (IP address and such)

EthernetClient client;
char server[] = "192.168.10.111";
int  interval = 5000;

LiquidCrystal_I2C lcd(0x27,20,4);  

void setup() {

  // Display test
  lcd.init();
  lcd.backlight();
  lcd.setCursor(1, 0);
  lcd.print("Holl die wurst Hermann ");

  Serial.begin(9600);
  Ethernet.begin(mac);

  Serial.println("Tweaking4All.com - Temperature Drone - v2.0");
  Serial.println("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
  Serial.print("IP Address        : ");
  Serial.println(Ethernet.localIP());
  Serial.print("Subnet Mask       : ");
  Serial.println(Ethernet.subnetMask());
  Serial.print("Default Gateway IP: ");
  Serial.println(Ethernet.gatewayIP());
  Serial.print("DNS Server IP     : ");
  Serial.println(Ethernet.dnsServerIP());
}

void loop() {
  
  // Der teil ist erstmal un und wichtig
  if (client.connect(server, 80)) {
    Serial.println("-> Connected");
    // Make a HTTP request:
    client.print( "GET /testserver/arduino_temperatures/add_data.php?");
    client.print("serial=");
    client.print( "wurstblinker" );
    client.print("&&");
    client.print("temperature=");
    client.print( "12.3" );
    client.println( " HTTP/1.1");
    client.print( "Host: " );
    client.println(server);
    client.println( "Connection: close" );
    client.println();
    client.println();
    client.stop();
  }
  else {
    // you didn't get a connection to the server:
    Serial.println("--> connection failed/n");
  }

  delay(interval);
}

Frage, hatte auch jemand das problem und hat einer eine Lösung event. für mich ?
Bin irgendwie ratlos

Gruss
Gandi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2016, 08:24
Beitrag #2
RE: Dumheit oder doch ein Fehler im System ?
Ich habe bisher noch keine Erfahrung mit dem ENC28J60 gesammelt, aber wie sieht es denn mit den Ressourcen auf dem Uno aus ?

Der ENC28J60 hat meines Wissens keine eigene Intelligenz und benötigt somit sehr viel Ressourcen des Uno. Dann könnte es mit dem Display schon eng werden.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2016, 09:24 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2016 09:26 von Gandalf.)
Beitrag #3
RE: Dumheit oder doch ein Fehler im System ?
Platz ist eigendlich noch genug gewesen

Binäre Sketchgröße: 24.736 Bytes (von einem Maximum von 32.256 Bytes)

ich werde das noch mal mit dem Mega testen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2016, 09:32
Beitrag #4
RE: Dumheit oder doch ein Fehler im System ?
(01.09.2016 09:24)Gandalf schrieb:  Platz ist eigendlich noch genug gewesen

Binäre Sketchgröße: 24.736 Bytes (von einem Maximum von 32.256 Bytes)

ich werde das noch mal mit dem Mega testen

Meist ist der dynamische Speicher das Problem, wie sieht es da aus ?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2016, 09:40
Beitrag #5
RE: Dumheit oder doch ein Fehler im System ?
Vom Speicher her sieht es gut aus !

was ich glaube oder vermute ist, das es ein Adressenkonflikt ist.

sobald ich das auskommentiere, bekomme ich eine netzwerkadresse zugewisen

Code:
// LiquidCrystal_I2C lcd(0x27,20,4);

aber ich hab da auch schon rumgedoctort
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2016, 09:47 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2016 10:07 von hotsystems.)
Beitrag #6
RE: Dumheit oder doch ein Fehler im System ?
Mit Adressenkonflikt kann es nichts zu tun haben.
Das ETH-Modul wird per SPI, das Display per I2C angesprochen.

Du könntest höchstens andere Libraries (ETH und I2C) testen.

Edit:

Also alles was ich eben nochmal darüber gelesen habe, viele haben Probleme mit dem Ram.

Du solltest alle deine Festen Texte wie z.B.
Code:
Serial.println("Tweaking4All.com - Temperature Drone - v2.0");
per F-Makro aus dem Ram verbannen, das machst du so:

Code:
Serial.println(F("Tweaking4All.com - Temperature Drone - v2.0"));

Geht mit allen "Print-Anweisungen" aber nur mit echten Strings, nicht mit Variablen.

Dabei wird Ram freigemacht und im Flash abgelegt.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2016, 21:18 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2016 21:21 von hotsystems.)
Beitrag #7
RE: Dumheit oder doch ein Fehler im System ?
Hier kannst du das Thema noch mal nachlesen.
F-Makro
Und da geht es auch mit Variablen, die Texte enthalten.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.09.2016, 10:16 (Dieser Beitrag wurde zuletzt bearbeitet: 03.09.2016 10:16 von amithlon.)
Beitrag #8
RE: Dumheit oder doch ein Fehler im System ?
Hallo,

da der ENC28J60 "dumm" ist, muß der TCP-Stack komplett vom AVR erledugt werden. Damit ist diese Kombinantion vom Prinzip ein Speicherfresser.
Auf dem Mega328 mit seinen 2k Ram ist es grenzwertig aber machbar.

In libraries\arduino_uip-master\utility in der Datei uipethernet-conf.h kann man an den Resource noch ewas drehen.
UDP ausschalen wenn man es ohnehin nicht nutzen will.
Das sind meine aktuellen EInstellungen:
Code:
/* for TCP */
#define UIP_SOCKET_NUMPACKETS    3
#define UIP_CONF_MAX_CONNECTIONS 2

/* for UDP
* set UIP_CONF_UDP to 0 to disable UDP (saves aprox. 5kb flash) */
#define UIP_CONF_UDP             0
#define UIP_CONF_BROADCAST       0
#define UIP_CONF_UDP_CONNS       0
[/code]
Damit läuft ein Test bei mir auf einem Nano mit ENC28J60-Adapter und einem BM280 seit Tagen stabil.
Installiert ist der PbSubClient, Protokoll damit MQTT, hier läuft ohnehin eon MQTT-Broker auf einem RasPI.

Auf einem modifizierten AVR-NetIO mit einem Mega1284 (128k Flash, 16k Ram) kann man sich dagegen richtig austoben.

Ich hatte das hier schonmal gepsotet:
https://www.arduinoforum.de/arduino-Thre...=avr-netio

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Modellbahn in Klein oder Groß fraju 2 1.852 20.07.2015 12:40
Letzter Beitrag: fraju
Rainbow Hochleistungs-Rechteckgenerator für Silberkolloid oder EMP JoeDorm 4 2.305 05.06.2014 19:57
Letzter Beitrag: rkuehle
  Autoradio/Car PC realisierbar oder zu komplex Simons 0 2.092 25.05.2014 12:08
Letzter Beitrag: Simons
  Ardumower Kostenloses Mähroboter System ardumower.de 2 5.803 20.02.2014 12:31
Letzter Beitrag: ardumower.de
  c0ldwater - arduino messaging system c0ldwater 7 2.675 09.02.2014 18:17
Letzter Beitrag: Sloompie
  360° Pan - Tilt System - Welche Komponenten Viatorus 1 2.570 25.12.2013 11:06
Letzter Beitrag: tesacrep
  WebServer mit Ethernet Shield--->Fehler im Programm Wampo 0 2.021 22.08.2013 13:13
Letzter Beitrag: Wampo

Gehe zu:


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