ahoy icon indicating copy to clipboard operation
ahoy copied to clipboard

Feature Request: Documentation: WT32-ETH01 support LAN Port in Settings

Open Matten-Matten opened this issue 1 year ago • 103 comments

Hardware

  • [ ] ESP8266
  • [x] ESP32
  • [ ] Raspberry Pi

Modelname: WT32-ETH01 Retailer URL: WT32-ETH01

nRF24L01+ Module

  • [x] nRF24L01+ you verified this is a Plus model capable of the required 256kBit/s mode
  • [ ] square dot indicates original Nordic Semicon chip
  • [ ] round dot indicates copy-cat / counterfeit SI labs chip

Antenna:

  • [x] circuit board
  • [ ] external antenna (SMA)

Power Stabilization:

  • [x] 100uF Electrolytic Capacitor connected between +3.3V and GND (Pin 1 & 2) of the NRF Module
  • [ ] Voltage stabilizing motherboard

Version / Git SHA:

Version: 0.6.0 Github Hash: _______

Build & Flash Method:

  • [x] AhoyDTU Webinstaller
  • [ ] VSCode - Platform IO
  • [ ] Arduino
  • [ ] ESP Tools

Debugging:

  • [ ] USB Serial Log (attached)
  • [ ] Setup settings (use our templates ... to be added)

Hallo, ist die Implementierung einer Konfiguration eines LAN Port möglich? ähnlich wie bei OpenDTU

gruß matten matten

EDIT PINOUT wt32-eth01 Pinout

Matten-Matten avatar Apr 15 '23 08:04 Matten-Matten

In openDTU sieht es in der WebUi wie folgt aus.

OpenDTU-ETHernet

Matten-Matten avatar Apr 15 '23 10:04 Matten-Matten

Kann man die fehlende Reaktion auf diese Anfrage so interpretieren, dass es sonst kein Interesse von anderen Usern besteht und diese Anfrage nicht umgesetzt wird?

VitBeck avatar Apr 24 '23 10:04 VitBeck

Ich brauch das auch demnächst, könnte auch den Code beisteuern da bei meiner Anlage kein WLan möglich ist. Das dauert aber

geronet1 avatar Apr 24 '23 11:04 geronet1

Also ich hätte auch Interesse, bringe mich gerade im PlatformIO um... Bei uns is Nachts WLAN aus^^

peff74 avatar Apr 24 '23 11:04 peff74

I am also interested in. Alternatively connecting to a wiz5500/ wiz5100 could even do the job and I could keep the esp8266 based Wemos D1.

roobbb avatar Apr 24 '23 12:04 roobbb

ist schon in der Pipeline, habe leider aktuell aber nicht allzu viel Zeit. Ich hoffe es sehr bald veröffentlichen zu können

lumapu avatar Apr 25 '23 18:04 lumapu

Would be great! Actually I'm working with WIFI for testing but in the planned installation LAN would be preferred :-)

MadMax-git avatar May 09 '23 18:05 MadMax-git

hier die erste Version, ist auch im Branch eth als source verfügbar.

Edit: diese Version ist fehlerhaft, repariert in nächstem Beitrag 230509_ahoy_0.6.12_eth.zip

lumapu avatar May 09 '23 19:05 lumapu

Update, die erste Version war fehlerhaft, leider falsch benannt, sollte 06.12 heißen

230509_ahoy_0.5.12_eth.zip

lumapu avatar May 09 '23 20:05 lumapu

WT32-ETH01 ist bestellt :-)

MadMax-git avatar May 09 '23 21:05 MadMax-git

@lumapu, danke für die erste vorab version, ich hab die bin via webinterface geupdatet, leider verbindet der esp sich nicht mit dem Netzwerk. weder WIFI noch Ethernet.

Ich muss mal schauen das ich den via serial neu flashe.

Edit: Via serial die stable Version auf den ESP32 ETH geflasht und er ist wieder erreichbar.

Ist die 0.6.12_ETH auch für den ESP32 ?

Gruß matten matten

Matten-Matten avatar May 09 '23 22:05 Matten-Matten

So, der WT32-ETH01 ist gekommen. Leider bei mir auch keine Verbindung: weder WLAN noch ETH. Hab die (falsche) 0.5.12 und die (richtige) 0.6.12 probiert.

Mit der stable und der Dev 0.6.12 geht zumindest eine Verbindung mittels AP AHOY-DTU, allerdings schaffe ich es nicht mit meinem Netz zu verbinden (in dem Fall nicht wichtig, Ziel ist ja LAN aber wollte es mal "fallen lassen"). Es wird zwar gemeldet, dass die Einstellungen gespeichert wurden aber nach dem Neustart (auch schon "hart" probiert), trotzdem keine Verbindung...

Hmm, eben noch mal probiert, weil ich mal die Console (USB) mitlaufen lassen wollte und: jetzt habe ich ihn zumindest mittels WLAN ins Netz bekommen. Also die 0.6.12_eth Ich bin verwirrt.

Ich teste dann mal noch mal mit LAN und USB-Console... ...vorher mal noch mit WLAN OHNE USB-Console.

Also: per WLAN geht wohl. Ich musste nach dem Speichern der WIFI-Daten mein Notebook "zwangsweise" mit meinem Netzwerk verbinden, sonst wurde wohl immer mit dem AP AHOY-DTU verbunden und der ESP probiert dann gar nicht mit dem eingestellten WLAN zu verbinden? Wenn ich vor dem (Re)Boot (nach WIFI-Einstellungen) mein WLAN ändere, geht es.

Leider (weiterhin) keine Verbindung mit LAN :-
Auch nach Factory-Reset nicht (weil ich hatte ja WLAN schon konfiguriert, nicht dass das "reinspuckt")... In der Console erscheint auch nichts was auf LAN (Probleme) hindeutet.

EDIT: ich werde dann mal ein NRF-Modul dranbasteln... Welche Pins sollte ich nehmen? Aktuell würde ich die von OpenDTU (da gibt es eine config-json) nehmen: https://github.com/tbnobody/OpenDTU/blob/master/docs/DeviceProfiles/wt32-eth01.json EDIT: ok, grad gesehen, ist wie "oben" ;-) EDIT: per WLAN läuft :-) (jetzt hoffe ich nur, ich hab auch die richtige Version aufgespielt, wobei ich es ja extra noch mal per OTA-Update gemacht habe und schon sehr sicher die 0.6.12_eth genommen habe / weil mich wundert, dass es "plötzlich" [zumindest per WLAN] geht / gibt es eine Möglichkeit das herauszufinden? Weil die Version heißt in der Oberfläche auch "nur" 0.6.12 Dev)

Danke für die Mühe!

Kann ich sonst was tun?

Gruß, Joachim

MadMax-git avatar May 12 '23 11:05 MadMax-git

ich habe es selbst noch nicht testen können und plane einen Aufbau mit W5500 an einem ESP32, evtl. gibt es hier Erkenntnisse die dir weiterhelfen

lumapu avatar May 16 '23 20:05 lumapu

Zu der Frage nach dem Interesse: ich hätte es ;-) Da bei mir im Haus alle Infrastruktur-Technik grundsätzlich über LAN/Cat6 läuft, ist mir die WLAN-Geschichte beim ansonsten genialen AhoyDTU ein echter Dorn im Auge. Das Olimex-Board habe ich gerade bekommen, wollte eigentlich OpenDTU drauf flashen - aber jetzt warte ich erst einmal die Entwicklung hier ab. Bin nur Anwender und Bastler, aber kein Entwickler. Insofern profitiere ich von den genialen Codern, die solche Dinge der Allgemeinheit zur Verfügung stellen. An dieser Stelle einen herzlichen Dank dafür ;-)

Gerd-Watzmann avatar May 18 '23 12:05 Gerd-Watzmann

Hab soeben erfolgreich getestet. Source eth kompiliert für lolin32 lite. Zusammengesteckt mit einem W5500 gemäß config.h. Zugriff via Ethernet klappt. Debug vom serial monitor schaut so aus:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13192
load:0x40080400,len:3028
entry 0x400805e4
I: Initializing FS ..
I:  .. done
[    44][E][vfs_api.cpp:105] open(): /littlefs/settings.json does not exist, no permits for creation
W: failed to load json, using default config
I: Settings valid: false
I: RF24 Amp Pwr: RF24_PA_I: LOW
I: Radio Config:
SPI Frequency		= 1 Mhz
Channel			= 3 (~ 2403 MHz)


Model			= nRF24L01+


RF Data Rate		= 250 KBPS


RF Power Amplifier	= PA_LOW


RF Low Noise Amplifier	= Enabled


CRC Length		= 16 bits


Address Length		= 5 bytes


Static Payload Length	= 32 bytes


Auto Retry Delay	= 1000 microseconds


Auto Retry Attempts	= 15 maximum


Packets lost on
    current channel	= 0


Retry attempts made for
    last transmission	= 0


Multicast		= Disabled


Custom ACK Payload	= Disabled


Dynamic Payloads	= Enabled


Auto Acknowledgment	= Enabled


Primary Mode		= RX


TX address		= 0xe7e7e7e7e7


pipe 0 (closed) bound	= 0xe7e7e7e7e7


pipe 1 ( open ) bound	= 0x0807988601


pipe 2 (closed) bound	= 0xc3


pipe 3 (closed) bound	= 0xc4


pipe 4 (closed) bound	= 0xc5


pipe 5 (closed) bound	= 0xc6


I: mEth setup...I: [ETH]: Register for events...
I: [ETH]: begin...
[ETH]: Got event...

ETH Started
done...
I: (#0) resetPayload
I: (#1) resetPayload
I: (#2) resetPayload
I: (#3) resetPayload
I: (#4) resetPayload
I: (#5) resetPayload
I: (#6) resetPayload
I: (#7) resetPayload
I: (#8) resetPayload
I: (#9) resetPayload
I: (#0) resetPayload
I: (#1) resetPayload
I: (#2) resetPayload
I: (#3) resetPayload
I: (#4) resetPayload
I: (#5) resetPayload
I: (#6) resetPayload
I: (#7) resetPayload
I: (#8) resetPayload
I: (#9) resetPayload
D: regularTickers
E (1219) gpio: gpio_install_isr_service(449): GPIO isr service already installed
[ETH]: Got event...
ETH Connected
[ETH]: Got event...
ETH MAC: FE:ED:DE:AD:BE:EF, IPv4: 192.168.0.110
FULL_DUPLEX, 100Mbps
D: onNetwork
D: regularTickers
D: updateNtpTime
ETH.linkUp()=down
ETH.localIP()=192.168.0.110
Go on? Yes...
D: updateNtpTime: checking udp "connection"...
D: updateNtpTime: About to (re)connect...
D: updateNtpTime: Connected...
D: updateNtpTime: prepare packet...
D: updateNtpTime: send packet...
D: updateNtpTime: about to handle ntp packet...
I: [NTP]: 2023-05-18 18:45:20 UTC

Ntp sync wollte noch nicht klappen. Tiefer habe ich bisher nicht getestet. Wenn ich den Code richtig verstehe, ist alles auf den Wiz5500 ausgelegt (https://github.com/khoih-prog/AsyncUDP_ESP32_W5500). Das WT32-ETH01-Board funktioniert damit nicht (?). Vielleicht hilft das weiter 😀

roobbb avatar May 18 '23 19:05 roobbb

habe auch gesehen, dass das WT32 einen anderen LAN Chip verwendet, aber das kann man bestimmt auch integrieren.

lumapu avatar May 19 '23 13:05 lumapu

[ 44][E][vfs_api.cpp:105] open(): /littlefs/settings.json does not exist, no permits for creation W: failed to load json, using default config I: Settings valid: false

das ist komisch, ich sehe es bei mir auch. Man kann keine Einstellungen speichern. Was ich noch nicht verstehe wie das mit Ethernet zusammenhängt

lumapu avatar May 19 '23 13:05 lumapu

Im Framework vom esp32 kommt die ETH.h mit, welche sich um die LAN-Chips kümmert (per default LAN8720). Aber W5500 ist nicht dabei. Für den Esp8266 dürfte das deshalb generell nicht nützen. Ist wahrscheinlich einiges an Arbeit nötig, um die möglichen Konstellationen dann zu abstrahieren (Esp32 mit LAN8720, ESP32 mit W5500, Esp8622 mit W5500 etc.).

Wegen Settings hab ich an der settings.h ein paar Kleinigkeiten testweise auskommentiert, aber war anscheinend nix dabei, was die Ursache trifft.

In den Sourcen steckt enorm viel Arbeit drin. Ich steig da leider nur schwer durch. Sorry 😀

roobbb avatar May 19 '23 19:05 roobbb

mal wieder eine neue Version (Änderungen aus dev03 branch gemerged). Um den Settings load failed Fehler zu umgehen habe ich gemerkt, dass man einfach zuerst das Release aufspielen kann, einmal mit dem Wifi verbindet und speichert. Dann per Update das ETH Package drauf und alles funktoniert 😀

230527_ahoy_eth_esp32_0.6.15.bin.zip

lumapu avatar May 27 '23 00:05 lumapu

Eben ausprobiert aber ist wohl nur der w5500 Chip "aktiviert"... Der ist (wohl) im WT32-ETH01 nicht drin (?)... :-\

In der Console bekomme ich folgende Ausgabe: rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:8896 load:0x40080400,len:5828 entry 0x400806ac E (472) esp_core_dump_flash: No core dum���ѥѥ���found! E (472) esp_core_dump_flash: No core dump partition found! I: Initializing FS .. I: .. done I: Settings valid: true I: RF24 Amp Pwr: RF24_PA_I: LOW I: Radio Config: SPI Frequency = 1 Mhz Channel = 2 (~ 2402 MHz) Model = nRF24L01+ RF Data Rate = 2 MBPS RF Power Amplifier = PA_LOW RF Low Noise Amplifier = Enabled CRC Length = 8 bits Address Length = 5 bytes Static Payload Length = 32 bytes Auto Retry Delay = 250 microseconds Auto Retry Attempts = 3 maximum Packets lost on current channel = 0 Retry attempts made for last transmission = 0 Multicast = Disabled Custom ACK Payload = Disabled Dynamic Payloads = Disabled Auto Acknowledgment = Enabled Primary Mode = TX TX address = 0xe7e7e7e7e7 pipe 0 ( open ) bound = 0xe7e7e7e7e7 pipe 1 ( open ) bound = 0xc2c2c2c2c2 pipe 2 (closed) bound = 0xc3 pipe 3 (closed) bound = 0xc4 pipe 4 (closed) bound = 0xc5 pipe 5 (closed) bound = 0xc6 I: mEth setup...I: [ETH]: Register for events... I: [ETH]: begin... E (1200) w5500.mac: w5500_reset(301): Read MR failed E (1201) w5500.mac: emac_w5500_init(827): Reset w5500 failed E (1201) esp_eth: esp_eth_driver_install(214): init mac failed esp_eth_driver_install failed done... I: added inverter HM114183712345 I: (#0) resetPayload I: (#1) resetPayload I: (#2) resetPayload I: (#3) resetPayload I: (#4) resetPayload I: (#5) resetPayload I: (#6) resetPayload I: (#7) resetPayload I: (#8) resetPayload I: (#9) resetPayload I: (#0) resetPayload I: (#1) resetPayload I: (#2) resetPayload I: (#3) resetPayload I: (#4) resetPayload I: (#5) resetPayload I: (#6) resetPayload I: (#7) resetPayload I: (#8) resetPayload I: (#9) resetPayload W: WARNING! your NRF24 module can't be reached, check the wiring E (1269) gpio: gpio_install_isr_service(449): GPIO isr service already installed

Habe auf bereits laufendem ESP (Dev 0.6.12? oder stable 0.6.0?) per Web aktualisiert und auch mal per ESP-flasher.

Bin jetzt wieder auf 0.6.12 dev und warte... ...oder kann ich was tun? (außer programmieren, dazu steige ich [noch] zu wenig durch :-\ )

EDIT: Alternative: wie müsste ich denn ein W5500-Modul an einen ESP32 DEVKIT o.ä. (habe da ja noch welche) anschließen? Oder was gibt es da "fertig"?

MadMax-git avatar May 27 '23 13:05 MadMax-git

Der ist (wohl) im WT32-ETH01 nicht drin (?) ... EDIT: Alternative: wie müsste ich denn ein W5500-Modul an einen ESP32 DEVKIT o.ä. (habe da ja noch welche) anschließen?

Das WT32-ETH01-Board hat meist den LAN8720. Den wiz5500 m.W.n. generell nicht. Ich hab nur das Lolin32-lite-Board - Anschluss müsste mit Devkit analog klappen (dürfte ja mehr GPIO rausgeführt haben, als mein lite-Dingens).

Folgende Pin-Map habe ich verwendet:

ESP32 (Lolin32 lite) NRF24L01 W5500
Vcc 3.3V Vcc 3.3V Vcc 3.3V
GND GND GND
GPIO05 CS  
GPIO16 IRQ  
GPIO17 CE  
GPIO18 SCK  
GPIO19 MISO  
GPIO23 MOSI  
GPIO04   INT
GPIO12   MISO
GPIO13   MOSI
GPIO14   SCLK
GPIO15   SCS

AhoiDTU_lolin32+W5500

Edit: Pin-Map u. Grafik korrigiert

roobbb avatar Jun 05 '23 11:06 roobbb

@roobbb: DANKE! Ich hab mal so W5500 bestellt, mal sehen...

So, habe es mal schnell verdrahtet... ...und geflasht. Er meldet in der Console "ETH connected" und ich sehe auch MAC im NW auftauchen. Leider keine IP... Sollte das mit DHCP gehen? Sollte da mehr auftauchen?

Allerdings wird der NRF auch nicht erkannt, evtl. doch was an der Verkabelung?

Muss jetzt allerdings erst mal (wieder) pausieren... :-\

MadMax-git avatar Jun 06 '23 06:06 MadMax-git

Ich habe auch mal ein ESP32,W5500 und NRF verbunden (PINS wie von roobbb beschrieben). Firmware 0.6.9 geflasht NRF erfolgreich geprüft. Mit 230527_ahoy_eth_esp32_0.6.15 upgedatet. Console zeigt

21:19:56.406 -> [ETH]: Got event... 21:19:56.406 -> ETH Connected 21:26:56.396 -> [ETH]: Got event... 21:26:56.396 -> ETH Disconnected 21:26:58.399 -> [ETH]: Got event... 21:26:58.399 -> ETH Connected

wenn ich das LAN Kabel stecke/ziehe/stecke.

Keine IP. Auch nicht im DHCP Server zu sehen.

Noch eimal die 0.6.9 aufgespielt. Statische IP eingestellt. Wieder mit 230527_ahoy_eth_esp32_0.6.15 upgedatet. Keine Veränderung.

xFvPx avatar Jun 21 '23 19:06 xFvPx

Update: Ich habe noch einmal in die config.h geschaut. Firmware 0.6.9 geflasht, NRF CE von PIN 4 auf 17 geändert. Mit 230527_ahoy_eth_esp32_0.6.15 upgedatet. W5500 INT von PIN 22 auf 4 geändert. 16:07:06.965 -> [ETH]: Got event... 16:07:06.965 -> ETH MAC: FE:ED:DE:AD:BE:EF, IPv4: 192.168.176.90 16:07:06.965 -> FULL_DUPLEX, 100Mbps 16:07:06.965 -> ETH.linkUp()=down 16:07:06.965 -> ETH.localIP()=192.168.176.90 16:07:06.965 -> Go on? Yes... 16:07:06.965 -> I: [NTP]: 2023-06-22 14:07:06 UTC

Webserver ist über LAN erreichbar. Kommunikation zum WR läuft. Daten gehen auch zum MQTT Broker.

Mal schauen ob es stabil bleibt. Limit habe ich nicht getestet.

xFvPx avatar Jun 22 '23 14:06 xFvPx

@xFvPx : Danke für Deine Rückmeldung. Die config.h hatte ich auch konsultiert. Ich hab nochmal bei meinem Aufbau geschaut und mit Schrecken bemerkt, dass ich beim Malen von Schaubild + Map tatsächlich die Pins verwechselt habe 😱. Sorry für die Verwirrung. Kann leider nicht sagen, wie ich das wieder geschafft habe 🙄. Hab beides korrigiert, damit keiner mehr drüber stolpern muss. Hoffe, ich hab keinen neuen Bock drin ...

roobbb avatar Jun 23 '23 06:06 roobbb

Also WT32-ETH01 geht noch nicht? Aber W5500 geht? Dann bestell ich mir den mal.

geronet1 avatar Jun 23 '23 07:06 geronet1

Ich meine, der WT32-ETH01 klappt noch nicht, weil dazu noch Anpassungen im Code nötig wären. W5500 ist aber im Branch "eth" bereits vorgesehen. Im Versuchsaufbau hat das auch geklappt mit obiger Einschränkung:

Um den Settings load failed Fehler zu umgehen habe ich gemerkt, dass man einfach zuerst das Release aufspielen kann, einmal mit dem Wifi verbindet und speichert. Dann per Update das ETH Package drauf und alles funktoniert

Zu tieferen oder längeren Tests bin ich leider nicht mehr gekommen. xFvPx ist da bereits weiter.

roobbb avatar Jun 23 '23 07:06 roobbb

WT32-ETH01 habe ich nicht getestet. W5500 läuft seit gestern. Bis jetzt absolut stabil.

eine Kleinigkeit: die beiden MQTT states sind nicht ok: grafik

xFvPx avatar Jun 23 '23 21:06 xFvPx

DSC_0525 So habe es nun auch hinbekommen... Bei mir kam hinzu, dass das NRF-Modul für diesen Aufbau defekt war :-| Langzeittest muss noch ein wenig warten... :-|

Hab es mal auf Lochraster aufgebaut und läuft seit einigen Tagen problemlos :-)

Mit dem WT32-ETH01 wäre es zwar kompakter aber so ist das auch ganz nett... ...und für das WT32-ETH01 findet sich bestimmt eine Aufgabe ;-)

DANKE!! :-)

MadMax-git avatar Jun 24 '23 20:06 MadMax-git

Einen ganz herzlichen Dank!!

Dank Euch bin ich jetzt einen ganzen Schritt weitergekommen, und für ahoyDTU nicht mehr auf WLAN angewiesen. Das "Rattennest" als Versuchsaufbau funktioniert, und wird jetzt auf einer Lochrasterplatine ordentlich aufgebaut.

Eine kleine Anmerkung hätte ich aber noch:

Obwohl ich im Web-Interface immer eine statische IP-Adresse vergebe (mit DNS, submask und gateway) zieht sich der ESP32 beim Booten immer eine Adresse vom DHCP-Server. Das ist jetzt zwar kein Beinbruch, denn ich kann ihm ja routerseitig eine feste IP4-Adresse zuweisen. Aber offenbar wird die IP-Konfiguration von der Weboberfläche nicht für LAN übernommen. Dies nur als Hinweis - ich könnte den Code ja selber korrigieren, aber dafür reichen meine Fähigkeiten leider nicht ;-)

Prototyp

Gerd-Watzmann avatar Jul 27 '23 17:07 Gerd-Watzmann