Danke gemu2015
Benutzt hier jemand den Entpreller? Oder geht es evtl. auch ohne und man setzt die Pollzeiten wie sunburstc geschrieben hat nur auf negativ?
Danke gemu2015
Benutzt hier jemand den Entpreller? Oder geht es evtl. auch ohne und man setzt die Pollzeiten wie sunburstc geschrieben hat nur auf negativ?
Danke für die Antworten.
Hier nochmal in Ruhe mein Vorgehen:
Wemos D1 mini mit TEKT5400S (15cm Kabel ohne Pullup direkt an RX und GND)
Ich habe jeweils nur einen Zähler im Descriptor definiert :
Zuerst der Q3B mit Descriptor (SML) :
;EHZ363
>D
>B
->sensor95 r
>M 1
+1,3,s,0,9600,SML
1,77070100010800ff@1000,Verbrauch,KWh,Total_in,4
1,77070100020800ff@1000,Einspeisung,KWh,Total_out,4
1,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,0
1,77070100000009ff@#,Zähler Nr,,Meter_number,0
#
Alles anzeigen
an die Front Info-IR des Q3B befestigt -> Ausgabe erfolgt
Dann zum Q3D umgezogen und den Descrptor auf (OBIS) geändert :
;EHZ161
>D
>B
->sensor95 r
>M 1
+1,3,o,0,9600,OBIS
1,1-0:1.8.0*255(@1,Verbrauch,KWh,Total_in,4
1,1-0:2.8.0*255(@1,Einspeisung,KWh,Total_out,4
1,1-0:21.7.0*255(@1,Verbrauch P1,W,Power_p1,0
1,1-0:41.7.0*255(@1,Verbrauch P2,W,Power_p2,0
1,1-0:61.7.0*255(@1,Verbrauch P3,W,Power_p3,0
1,=m 3+4+5 @1,Aktueller Verbrauch,W,Power_curr,0
1,1-0:0.0.0*255(@#),Zähler Nr,,Meter_number,0
#
Alles anzeigen
an der oberen IR-Diode des Q3D (siehe Foto) -> keine Ausgabe
(das ganze 3x wiederholt)
Eigentlich kann es am TEKT5400S nicht liegen, da ja der Q3B auslesen wird!?
Es sei denn die obere IR des Q3Ds hat andere Specs als die Front-IR des Q3B. ich werde mal den von URBANsUNITED empfohlenen BPW78a organisieren und am Wochenende noch einmal einen Versuch starten....
Gruss Thomas
PS: Der sehr hilfsbereite Herr Easymeter hatte mir folgendes geschrieben:
Zitat
Ein Q3D –Zähler ist ein einfacheres Zählermodell. Die D0-Schnittstelle ist permanent aktiv, alle 2 Sekunden sollten dort Datentelegramme ausgesendet werden. Das Datenformat entspricht aber nicht dem SML-Protokoll des Q3B. Der Q3D gibt die Daten quasi als Klartext mit OBIS-Kennziffern aus – 9600bd, 7 E 1 .
+ die Spezifikationen als PDF
Alles anzeigenDanke für die Antworten.
Hier nochmal in Ruhe mein Vorgehen:
Wemos D1 mini mit TEKT5400S (15cm Kabel ohne Pullup direkt an RX und GND)
Ich habe jeweils nur einen Zähler im Descriptor definiert :
Zuerst der Q3B mit Descriptor (SML) :
Code Alles anzeigen;EHZ363 >D >B ->sensor95 r >M 1 +1,3,s,0,9600,SML 1,77070100010800ff@1000,Verbrauch,KWh,Total_in,4 1,77070100020800ff@1000,Einspeisung,KWh,Total_out,4 1,77070100100700ff@1,Aktueller Verbrauch,W,Power_curr,0 1,77070100000009ff@#,Zähler Nr,,Meter_number,0 #
an die Front Info-IR des Q3B befestigt -> Ausgabe erfolgt
Dann zum Q3D umgezogen und den Descrptor auf (OBIS) geändert :
Code Alles anzeigen;EHZ161 >D >B ->sensor95 r >M 1 +1,3,o,0,9600,OBIS 1,1-0:1.8.0*255(@1,Verbrauch,KWh,Total_in,4 1,1-0:2.8.0*255(@1,Einspeisung,KWh,Total_out,4 1,1-0:21.7.0*255(@1,Verbrauch P1,W,Power_p1,0 1,1-0:41.7.0*255(@1,Verbrauch P2,W,Power_p2,0 1,1-0:61.7.0*255(@1,Verbrauch P3,W,Power_p3,0 1,=m 3+4+5 @1,Aktueller Verbrauch,W,Power_curr,0 1,1-0:0.0.0*255(@#),Zähler Nr,,Meter_number,0 #
an der oberen IR-Diode des Q3D (siehe Foto) -> keine Ausgabe
(das ganze 3x wiederholt)
Eigentlich kann es am TEKT5400S nicht liegen, da ja der Q3B auslesen wird!?
Es sei denn die obere IR des Q3Ds hat andere Specs als die Front-IR des Q3B. ich werde mal den von URBANsUNITED empfohlenen BPW78a organisieren und am Wochenende noch einmal einen Versuch starten....
Gruss Thomas
PS: Der sehr hilfsbereite Herr Easymeter hatte mir folgendes geschrieben:
+ die Spezifikationen als PDF
Hast mal mit einer Kamera geschaut, ob du sie blinken siehst durch die Kamera? Nicht das der Port garnichts sendet.
Hast mal mit einer Kamera geschaut, ob du sie blinken siehst durch die Kamera? Nicht das der Port garnichts sendet.
Nein noch nicht. Werde ich aber am Wochenende, sobald ich wieder in physischer Reichweite meiner Zähler bin, gern probieren.
Alles anzeigenHabe mal die SML Dokumentation von Tasmota ins Deutsche übersetzt (mit DEEPL, ist sehr zu empfehlen)
dann hier ein paar Erläuterungen zum Modbus
Beispiel:
>D
>B
=>sensor53 r
>M 1
+1,3,m,0,9600,MODBUS,1,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010
nach der üblichen Zählerdefintion kommt hier der Pin für den TX Anschluss Pin (hier 1)
danach die Anzahl von 100ms Einheiten zu der jedes Register ausgelesen wird, hier 1, also alle 100ms ein Register
danach kommen alle MODBUS Register in HEX Kodierung
01 = MODBUS Adresse
04 = MODBUS Cmd hier Register auslesen,
0000 = Register Adresse in Hex, hier also Register 0 auslesen.
Jetzt kommen die üblichen Decoder Zeilen
dort steht also die Antwort vom Zähler
01 = Zähler Adresse
04 = Zähler CMD
ffffffff = float Zahl, die der Zähler zurück liefert, manche Zähler haben eine reverse Byte Order da gibt man FFffFFff an
xxxx = Checksumme die intern berechnet wird
@ Abschluss des Decoder Vergleich Strings
i0: = Index des Registerblocks im Sendedescriptor, also hier das erste angeforderte Register.
danach wie gehabt.
1,010404ffffffffxxxx@i0:1,Voltage P1,V,Voltage_P1,2
1,010404ffffffffxxxx@i1:1,Voltage P2,V,Voltage_P2,2
1,010404ffffffffxxxx@i2:1,Voltage P3,V,Voltage_P3,2
1,010404ffffffffxxxx@i3:1,Current P1,A,Current_P1,2
1,010404ffffffffxxxx@i4:1,Current P2,A,Current_P2,2
1,010404ffffffffxxxx@i5:1,Current P3,A,Current_P3,2
1,010404ffffffffxxxx@i6:1,active Power P1,W,Power_P1,2
1,010404ffffffffxxxx@i7:1,active Power P2,W,Power_P2,2
1,010404ffffffffxxxx@i8:1,actibe Power P3,W,Power_P3,2
#
sollen mehrere Zähler am selben Bus ausgelesen werden, gibt man einfach alle Register des 2 Zähler ebenfalls an dann aber mit einer anderen Geräteadresse, also z.B. 2 (muss man im Menü des Zählers einstellen)
+1,3,m,0,9600,MODBUS,1,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010,02040000, etc
man kann aber auch 2 Zähler an 2 Bussen auslesen, dann braucht man halt 4 IO Pins
und 2 Descriptor und Decodersätze
+1,3,m,0,9600,MODBUS,1,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010
+2,12,m,0,9600,MODBUS,14,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010
etc.
Ich habe da noch zwei Fragem zu, bei den Decoderzeilen:
1,010404ffffffffxxxx@i0:1,Voltage P1,V,Voltage_P1,2
1> Meter, 01>ModbusZählerNr, 04>FunctionCode, 04>???
Und bei den Countern, wieso muss 3,1-0:1.8.0*255(..... der rot markierte Bereich genau so sein?
die 4 ist die Anzahl der Bytes
das ist sozusagen der Fingerabdruck von Countern (willkürlich gewählt) die ja asynchron gesetzt werden.
dieser String wird zusammen mit dem Counter Wert in den seriellen Puffer kopiert wo er dann vom Decoder "gefunden" wird.
Alles anzeigenHabe mal die SML Dokumentation von Tasmota ins Deutsche übersetzt (mit DEEPL, ist sehr zu empfehlen)
dann hier ein paar Erläuterungen zum Modbus
Beispiel:
>D
>B
=>sensor53 r
>M 1
+1,3,m,0,9600,MODBUS,1,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010
nach der üblichen Zählerdefintion kommt hier der Pin für den TX Anschluss Pin (hier 1)
danach die Anzahl von 100ms Einheiten zu der jedes Register ausgelesen wird, hier 1, also alle 100ms ein Register
danach kommen alle MODBUS Register in HEX Kodierung
01 = MODBUS Adresse
04 = MODBUS Cmd hier Register auslesen,
0000 = Register Adresse in Hex, hier also Register 0 auslesen.
Jetzt kommen die üblichen Decoder Zeilen
dort steht also die Antwort vom Zähler
01 = Zähler Adresse
04 = Zähler CMD
ffffffff = float Zahl, die der Zähler zurück liefert, manche Zähler haben eine reverse Byte Order da gibt man FFffFFff an
xxxx = Checksumme die intern berechnet wird
@ Abschluss des Decoder Vergleich Strings
i0: = Index des Registerblocks im Sendedescriptor, also hier das erste angeforderte Register.
danach wie gehabt.
1,010404ffffffffxxxx@i0:1,Voltage P1,V,Voltage_P1,2
1,010404ffffffffxxxx@i1:1,Voltage P2,V,Voltage_P2,2
1,010404ffffffffxxxx@i2:1,Voltage P3,V,Voltage_P3,2
1,010404ffffffffxxxx@i3:1,Current P1,A,Current_P1,2
1,010404ffffffffxxxx@i4:1,Current P2,A,Current_P2,2
1,010404ffffffffxxxx@i5:1,Current P3,A,Current_P3,2
1,010404ffffffffxxxx@i6:1,active Power P1,W,Power_P1,2
1,010404ffffffffxxxx@i7:1,active Power P2,W,Power_P2,2
1,010404ffffffffxxxx@i8:1,actibe Power P3,W,Power_P3,2
#
sollen mehrere Zähler am selben Bus ausgelesen werden, gibt man einfach alle Register des 2 Zähler ebenfalls an dann aber mit einer anderen Geräteadresse, also z.B. 2 (muss man im Menü des Zählers einstellen)
+1,3,m,0,9600,MODBUS,1,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010,02040000, etc
man kann aber auch 2 Zähler an 2 Bussen auslesen, dann braucht man halt 4 IO Pins
und 2 Descriptor und Decodersätze
+1,3,m,0,9600,MODBUS,1,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010
+2,12,m,0,9600,MODBUS,14,1,01040000,01040002,01040004,01040006,01040008,0104000a,0104000c,0104000e,01040010
etc.
Haben es heute mit einem Janitza B23-312 ausprobiert und nach ein paar anfänglichen Startschwierigkeiten lief alles wunderbar.
Vielen Dank nochmal.
Gruß
horst
Hallo in die Runde. Bin ganz frisch hier und habe ein Problem bei flashen des sonoff. Beim build kommt die Fehlermeldung : sonoff-DE Failed
Oder:. wemosd1-DE. Failed
Benutze Atom mit plattformio
Hallo in die Runde. Bin ganz frisch hier und habe ein Problem bei flashen des sonoff. Beim build kommt die Fehlermeldung : sonoff-DE Failed
Oder:. wemosd1-DE. Failed
Benutze Atom mit plattformio
userconfig_override-sample.ino in user_config_override.ino geändert? Wenn du ein stück hoch scrollst müsste eigentlich eine Fehlermeldung angezeigt werden.
Danke
Wo finde ich die ?
userconfig_override-sample.ino
Finde nur was mit Endung Sample.h
Danke
Wo finde ich die ?
userconfig_override-sample.ino
Finde nur was mit Endung Sample.h
Im Projektverzeichnis findest du das Verzeichnis "sonoff"darin enthalten ist die user_config_override_sample.h (sorry, hatte vorhin die falsche Endung) diese benennst du um in user_config_override.h Und trägst dort die Sachen ein die du ändern möchtest. Beispiele stehen am Anfang dieser Datei. Bei den Dingen die du ändern möchtest, nimmst du die "//" vorne vor weg. z.b.:
#define USE_SML_M
#ifndef USE_SCRIPT
#define USE_SCRIPT //# adds about 17k flash size, variable ram size
#endif
#ifdef USE_RULES
#undef USE_RULES
#endif
#define USE_SCRIPT_WEB_DISPLAY
#define USE_SCRIPT_JSON_EXPORT
#undef STA_SSID1
#define STA_SSID1 "DEINESSID" // [Ssid1] Wifi SSID
#undef STA_PASS1
#define STA_PASS1 "DEINWLANPW" // [Password1] Wifi password
Alles anzeigen
In der Platformio.ini nicht vergessen unter "upload_port" den Pfad zu deinem Wemos zu setzen.
Guten Abend,
Ich glaube das ist alles zu hoch für mich. Dem Sonoff eine Software auf zu spielen war vor Monaten für einen Rentner der keine Angst vor Neuem hat,
nicht das Problem.
Ich habe gedacht ich spiel mal eben was auf und schwupps habe ich meinen Zweiwegezähler Smart gemacht.
Hat sich jemand schon mal die Arbeit gemacht eine Anleitung für Einsteiger zu schreiben???
Würde mich freuen wenn mir einer helfe könnte.
Hast mal mit einer Kamera geschaut, ob du sie blinken siehst durch die Kamera? Nicht das der Port garnichts sendet.
Also die IR leuchtet brav alle 2 Sekunden.
Der BPW78a ist ebenfalls angeschlossen, allerdings wird trotzdem nichts angezeigt.
Die Ausgabe von sensor53 d1 :
Bei mir bleibt der Fehler :Sonoff: failed k
0 0:00:29.698
Stand der Dinge: 1. habe user_config_override.h umbenannt. (Hier bin ich mir nicht sicher was ich hier noch eintrage soll. Habe einen Zweiwegezähler EHZ)
2. in my_user_config.h meine SSID und Password eingegeben.
3. platformio.ino : default envs= DE sonoff und den com Pfad eingetragen.
Wo ist mein Gedankenfehler????
Danke in vorraus
Noch ne Frage: welche Datei nehme ich??? Habe die Universal6 sowie auch die 7.
Muss ich evt meine zuvor geflashte Version nehmen und einige Dateien dort hin einfügen.
Noch ne kurze Frage zur Nutzung der aktuellsten Scriptversion:
Muss ich
in der user_config_override.h setzen?
UPDATE 28.12.2019:
1. Grundsätzlich sollte die neuste Version im Git von Gemu verwendet werden, weil nur diese weiterentwickelt wird. Alternativ kann auch eine aktuelle Version des Original Githubs (https://github.com/arendst/Tasmota) verwendet werden.
2. Inzwischen heißt der Ordner nicht mehr sonoff sondern tasmota.
3. Falls in der Platform.ini "wemosd1" nicht vorhanden ist, ist es völlig in Ordnung tasmota-DE zu verwenden. Allerdings muss darauf geachtet werden, dass:
durch entfernen des vorannstehenden ";" aktiviert wird damit die Einstellungen die zuvor in der user_config_override vorgenommen wurden auch tatsächlich geladen werden.
4. Wenn "IF-ELSE" im Script benutzt werden soll muss in der user_config_override auch noch:
#define SUPPORT_IF_STATEMENT // Add support for IF statement in rules (+4k2 code, -332 bytes mem)
hinzugefügt werden. Weitere Möglichkeiten zur Funktionsanpassung des Scripters bitte dem TasmotaWiki entnehmen!
5. Ich werde versuchen, bei gezeiten eine neue Version dieser Beschreibung Online zu stellen.
Original Beitrag:
Auf, Gemu2015Github gehen und den aktuellen Code über den Downloadbutton runterladen (aktuellste Version).
PlatformIO herunterladen. (Ich nutze es im VSCode). Dementsprechend VSCode herunterladen, installieren und unter Extensions PlatformIO hinzufügen. Müsste auch alles beim Download des Programms im Browser angezeigt werden.
Nach dem erfolgreichen hinzufügen von PlatformIO in VSCode, VSCode neu starten. Es sollte sich direkt die Home seite von PIO öffnen.
Im File Explorer (am linken Bildschirmrand Button ganz oben) wirst du nun die in dem Ordner enthaltenen Dateien sehen.
Öffne den Ordner Sonoff und suche die Datei user_config_override_sample.h und benenne sie um in: "user_config_override.h"
Hier kannst du nun alle Einstellungen vornehmen die, die my_user_config.h überschreiben sollen.
Also Sie könnte z.b. so aussehen:
Was drin stehen sollte (user_config_override.h) :
#define USE_SML_M
#ifndef USE_SCRIPT
#define USE_SCRIPT //# adds about 17k flash size, variable ram size
#endif
#ifdef USE_RULES
#undef USE_RULES
#endif
#define USE_SCRIPT_WEB_DISPLAY
#define USE_SCRIPT_JSON_EXPORT
Zusätzlich könntest du direkt auch deine SSID und das WlanPasswort eingeben:
#undef STA_SSID1
#define STA_SSID1 "WIFISSID" // [Ssid1] Wifi SSID
#undef STA_PASS1
#define STA_PASS1 "WIFIPASS" // [Password1] Wifi password
Danach suchst du die PlatformIO.ini auf:
Dort, sofern du ein Wemos D1 Mini hast, folgendes aktivieren:
weiter unten im Code sollte irgendwo das hier stehen:
[env:wemosd1-DE]
platform = ${common.platform}
framework = ${common.framework}
board = d1_mini
board_build.flash_mode = ${common.board_build.flash_mode}
board_build.f_cpu = ${common.board_build.f_cpu}
build_unflags = ${common.build_unflags}
;build_flags = ${common.build_flags} -DMY_LANGUAGE=de-DE -Wl,-Tesp8266.flash.4m1m.ld
;build_flags = -DCONT_STACKSIZE=4096 -DNDEBUG -DMY_LANGUAGE=de-DE -DUSE_CONFIG_OVERRIDE -mtarget-align -Wl,-Tesp8266.flash.4m1m.ld -lstdc++ -lsupc++
build_flags = -DCONT_STACKSIZE=4096 -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH -DVTABLES_IN_FLASH -DMY_LANGUAGE=de-DE -DUSE_CONFIG_OVERRIDE -DUSE_LONG_FILE_NAMES=0 -DUSE_STANDARD_SPI_LIBRARY=1 -Wl,-Tesp8266.flash.4m1m.ld -lstdc++ -lsupc++
monitor_speed = ${common.monitor_speed}
upload_port = ${common.upload_port}
upload_resetmethod = ${common.upload_resetmethod}
upload_speed = ${common.upload_speed}
extra_scripts = ${common.extra_scripts}
;#define BR_MAX_RSA_SIZE 2048
;#define BR_MAX_EC_SIZE 256
Alles anzeigen
Als Port musst du dann den Port auswählen an dem du dein Wemos angeschlossen hast. Bei mir am Mac:
Übrigens, herausfinden kannst du den Port unter "Devices" im PlatformIO Menü.
Danach im gleichen Menü oben auf Upload gehen. Meist schlägt der erste Versuch fehl weil die Ordner noch nicht existieren. Einfach noch einmal auf Upload klicken.
Der Port darf während des Uploads nicht schon von einer anderen Software wie z.B. der Arduino Console belegt sein.
Auch sollten zu dem Zeitpunkt keine Teile an den RX/TX Pinnen verbunden sein.
Wenn das alles geglückt ist, die IP Adresse des WEMOS D1 Mini heraussuchen und im Browser eingeben.
Dort unter Einstellungen "Edit Script" den Code für seinen Zähler eingeben.
Leider kenne ich nicht die genaue Bezeichnung deines Zählers. Aber es gibt einige Beispiele unter: Tasmota Wiki SML und die Beschreibung, was die einzelnen Dinge zu bedeuten haben unter: Scripting
Weitere Beispiele, allerdings noch nicht für die Scripting -Version angepasst findest du in der alten Code Version: xsns_53_sml.ino ab ca. Zeile 170ff. Oder auch hier im Thread.
Gerne hierzu auch mal die Suche oder Google benutzen.
Der Unterschied der beiden Definitionen (Scripting und Programmcode) sollte sich beim Vergleich der beiden von selbst ergeben.
Findest du deinen Zähler in der alten Code Version und nicht in den Scripting Beispielen, musst du die alte Version umbauen zur neuen. Das sollte mit denn oben geposteten Links kein Problem darstellen.
Als Beispiel, meine Zähler (Strom,Wasser,Gas):
Scripting:
>D
>B
=>sensor53 r
>M 3
+1,3,s,16,9600,Strom
+2,12,c,0,-20,Wasser
+3,14,c,1,50,Gas
1,77070100010700ff@1,Aktueller Verbrauch,W,Power_curr,16
1,77070100010800ff@1000,Verbrauch,KWh,Total_in,4
2,1-0:1.8.0*255(@1000,Zählerstand,cbm,Count,3
3,1-0:1.8.0*255(@100,Zählerstand,cbm,Count,3
3,=h===========
#
Alles anzeigen
Code-Version auszug(Allerdings hier nur Strom):
#if METER==Q3B
#undef METERS_USED
#define METERS_USED 1
struct METER_DESC const meter_desc[METERS_USED]={
[0]={3,'s',0,SML_BAUDRATE,"SML",-1,1,0}};
const uint8_t meter[]=
"1,77070100010700ff@1," D_TPWRCURR ",W," DJ_TPWRCURR ",0|";
"1,77070100010800ff@1000," D_TPWRIN ",KWh," DJ_TPWRIN ",4"
#endif
Es ist für dich vermutlich Ratsam, erst einmal mit nur einem Zähler zu beginnen. Also:
Ab hier nun folgend deinen Zähler definieren.
Im Scripting Fenster oben ein Häkchen setzen um das Script zu aktivieren und abspeichern.
Ich hoffe ich konnte dir damit weiterhelfen.
Grüße.
Ich habe noch einmal alles neu gestartet (Dank an @sunburstc für die Anleitung). Den BPW78A und den TEKT5400S (mit und ohne Pullup) eingesetzt, doch das Ergebnis ist unverändert. Am Q3B mit SML ist alles gut, am Q3D mit OBIS werden weiterhin keine Werte angezeigt.
Hast Du den BPW78A direkt auf die obere IR-Diodenabdeckung geklebt? Oder mit Abstand? Habe zwar auch damit experimentiert, aber ohne Erfolg.
Wäre es u.U. möglich, dass Du (man) mir eine firmware baust?! Wären ja nur die WIFI Zugangsdaten, die Du von mir haben müsstest? Somit könnte ich den Fehler weiter eingrenzen.
Ich habe noch einmal alles neu gestartet (Dank an @sunburstc für die Anleitung). Den BPW78A und den TEKT5400S (mit und ohne Pullup) eingesetzt, doch das Ergebnis ist unverändert. Am Q3B mit SML ist alles gut, am Q3D mit OBIS werden weiterhin keine Werte angezeigt.
Hast Du den BPW78A direkt auf die obere IR-Diodenabdeckung geklebt? Oder mit Abstand? Habe zwar auch damit experimentiert, aber ohne Erfolg.
Wäre es u.U. möglich, dass Du (man) mir eine firmware baust?! Wären ja nur die WIFI Zugangsdaten, die Du von mir haben müsstest? Somit könnte ich den Fehler weiter eingrenzen.
Hast du mal geschaut, ob es vielleicht an einem anderen PIN funktioniert? Also Statt GPIO 3(RX) mal einen anderen zu nehmen? Zb. GPIO 14. D5.
das musst du allerdings dann auch im Script dementsprechend von 3 auf 14 ändern. Und such hier nochmal alles probieren.
der Hintergrund ist dieser:
Alles anzeigenMal kurz etwas anderes was evtl. für alle Interessant sein könnte.
Ich habe festgestellt, dass nicht alle meine Wemos D1 Minis in Kombination mit dem Fototransistor BPW78a am RX Pin funktionieren.
Es gibt eine ältere Version die v2. und eine neuere die v3/v3.1.
Laut Datenblatt besitzt die v2 je zwischen RX Pin und CH340C ein 470Ohm Widerstand. Der RX Pin ist direkt mit dem Eingang des ESP8266 verbunden. Das gleiche gilt auch für TX.
Ich habe nachgemessen, dem ist auch so.
Der CH340C liefert die 3,3 Volt über den 470Ohm Pullup Widerstand. Also im Prinzip so wie wir es auch bei den Countern machen.
Bei der v3 ist dies nicht der Fall. Zwar sind auch hier RX und TX Pin direkt mit dem ESP8266 Chip verbunden allerdings ist zwischen CH340C und RX Pin kein Widerstand. Beim TX Pin und CH340C hingegen schon. Das ist auch dem Datenblatt zu entnehmen. Allerdings befindet sich auf meinem v3 Board zwischen TX Pin und CH340C ein 4.7k statt den 470 Ohm Widerstand des Datenblattes.
Dadurch das also der CH340C RX Eingang direkt mit dem RX Eingang vom ESP8266 Chip und dem RX Pin verbunden ist, ist es meinen bisherigen Erkenntnissen nach, nicht möglich mit dem Fototransistor an RX bei V3 ein Signal zu übertragen.
Ich habe mal ein paar Bilder angefügt.
Die Datenblätter gibt es auf wemos.cc.
Hast du mal geschaut, ob es vielleicht an einem anderen PIN funktioniert? Also Statt GPIO 3(RX) mal einen anderen zu nehmen? Zb. GPIO 14. D5.
das musst du allerdings dann auch im Script dementsprechend von 3 auf 14 ändern. Und such hier nochmal alles probieren.
der Hintergrund ist dieser:
Danke für den Hinweis. Habe es gerade einmal mit dem Wemos und einmal mit einem NodeMCU V3 getestet, leider ohne Erfolg. Werde mich wohl um einem alternativen Zähler kümmern müssen...