Forum: Mikrocontroller und Digitale Elektronik AVR Netio Ethersex Atmege1284p Webserver Problem


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bodo B. (gelbwichtel)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
nachdem ich mich jetzt den ganzen Tag diverse Konfigurationen 
ausgetestet und das Problem minimiert habe, muss ich euch mal um Hilfe 
bitten. Ich weiß nicht mehr weiter.

Mein Problem: Ich setze seit Jahren auf einem NetIO Ehersex ein, um ca. 
20 1W Temperatursensoren und Ein-Ausgänge in FHEM (auf Raspberry) 
auszuwerten. Unter anderem überwache ich die digitalen Ports und steuere 
über ECMDSend den Raspi mit FHEM an. Mit dem Atmega32 gab es keine 
Probleme. Nach Umsteigen auf den m1284p stellt sich jetzt Folgendes dar:
 - Sobald ich in Ethersex unter Applications wie gewohnt "Watch IO 
changes (and react) aktiviere, ist der NETIO nicht mehr anzupingen, 
somit läuft auch der WEBServer nicht mehr.
 - Deaktiviere ich diese Option, so geht ping durch, der WEB-Server 
läuft und die Sensoren können ausgelesen werden
 - Unter ECMD ist "Send via TCP" aktviert
 - Die Fuses habe ich wie folgt gesetzt:
   -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m bzw.
   -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m

Vielleicht hat jemand noch einen Ti, ansonsten werde ich mich wohl 
wieder mit dem viel zu kleinen ATMEGA32 rumquälen müssen.

Vielen Dank vorab

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bodo B. schrieb:

> Vielleicht hat jemand noch einen Ti, ansonsten werde ich mich wohl
> wieder mit dem viel zu kleinen ATMEGA32 rumquälen müssen.

Du könntest den Fehler suchen, der das beobachtete Fehlverhalten 
bewirkt. So würde ICH es machen. Ich allerdings kann auch tatsächlich 
selber programmieren...

Und zufällig habe ich auch Erfahrung mit dem Ethersex-Code auf einem 
Mega1284P und kann dir deshalb sagen, dass dieser selber grundsätzlich 
erstmal keinerlei Probleme damit hat, jedenfalls nicht in allem, was 
irgendwie mit den Funktionalitäten zu tun hat, die ein generischer 
Webserver benötigt.

Sprich: der Bug liegt mit an Sicherheit grenzender Wahrscheinlichkeit 
irgendwo in dem Teil, den du selber konfiguriert oder programmiert (oder 
wahrscheinlicher: aus ungeeigneter Quelle mit Ethersex zusammenkopiert) 
hast.

Vermutlich engt das den Suchraum doch ganz erheblich ein...

von Bodo B. (gelbwichtel)


Bewertung
0 lesenswert
nicht lesenswert
Hallo C-Hater,
Danke für deine Antwort.
Es liegt am NetIO selbst oder am enc28j60, muss ich noch genauer 
checken. Bin mal vom Testboard auf das Produktivboard gewechselt, danach 
war der NetIO ansprechbar.

Aber hast du noch einen Tip für mich, wie ich mit Folgendem weiterkomme?

Folgendes Settings:
  (AVR) Target Architecture
  (ATmega1284p) Target MCU
  (16000000) MCU frequency
  (Netio) Hardware/Periphery Class

  (Full-featured) I/O abstraction model (Port I/O)

  [*] ECMD (Ethersex Command) support  --->

      [*] TCP/Telnet
          (2701)  TCP Port
      --- Generate ECMD commands
      [*]   Send via TCP
      [-]   Send via UDP

  [*] Watch IO changes (and react)  --->

In der watchcat steht folgendes drin:

ECMDTCP(PA4, RISING, 
192.168.178.221,{portChanged2('NETIO02','4','off','1')}\n\n)
ECMDTCP(PA4, FALLING, 
192.168.178.221,{portChanged2('NETIO02','4','on','1')}\n\n)

Das Kommando kann ich per nc schicken

echo "{portChanged2('NETIO02','4','off','1')}"  | nc 192.168.178.221 
7072 -q 1  2>/dev/null

und FHem reagiert darauf.

Wenn ich den ADC Port von Hi of Low ziehe und dann wieder auf Hi, so 
sehe ich die Zustandänderung im Browser.

Aber das ECMDTCP-Kommando wird nicht abgesetzt.

Hab ich hier noch einen Konfigurationsfehler ? Wie kann ich das weiter 
untersuchen ?

LG
Bodo

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.