Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Ferraris Zähler mit TCRT5000 und esp8266

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ferraris Zähler mit TCRT5000 und esp8266

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      so @Eisbaeeer last edited by

      @eisbaeeer Hat leider nicht zu einem besseren Verhalten geführt.

      Eisbaeeer 1 Reply Last reply Reply Quote 0
      • Eisbaeeer
        Eisbaeeer Developer @so last edited by

        @so ich installier morgen mal vscode auf meiner Ubuntu VM und teste das mal.

        S 2 Replies Last reply Reply Quote 0
        • S
          so @Eisbaeeer last edited by

          @eisbaeeer Ich nutze vscodium, falls du es genau nachvollziehen willst.

          1 Reply Last reply Reply Quote 0
          • S
            so @Eisbaeeer last edited by

            @eisbaeeer Hier noch mein log vom buid, vielleicht siehst du nochwas. Ich bin mir unsicher, ob da alles okay verlaufen ist. Ist allerdings ohne vorheriges 'clean'.

            so@soso  ~/workspace/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000/source/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000   master ● ? ⍟1  pio run
            Processing nodemcuv2 (platform: espressif8266@3.0.0; board: nodemcuv2; framework: arduino)
            --------------------------------------------------------------------------------------------------------------------------------------------------------------------
            Verbose mode can be enabled via `-v, --verbose` option
            CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
            PLATFORM: Espressif 8266 (3.0.0) > NodeMCU 1.0 (ESP-12E Module)
            HARDWARE: ESP8266 160MHz, 80KB RAM, 4MB Flash
            PACKAGES: 
             - framework-arduinoespressif8266 3.30000.210519 (3.0.0) 
             - tool-esptool 1.413.0 (4.13) 
             - tool-esptoolpy 1.30000.201119 (3.0.0) 
             - toolchain-xtensa 2.100200.0 (10.2.0)
            LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
            LDF Modes: Finder ~ chain, Compatibility ~ soft
            Running npm ci...
            npm <command>
            
            Usage:
            
            npm install        install all the dependencies in your project
            npm install <foo>  add the <foo> dependency to your project
            npm test           run this project's tests
            npm run <foo>      run the script named <foo>
            npm <command> -h   quick help on <command>
            npm -l             display usage info for all commands
            npm help <term>    search for help on <term>
            npm help npm       more involved overview
            
            All commands:
            
                access, adduser, audit, bin, bugs, cache, ci, completion,
                config, dedupe, deprecate, diff, dist-tag, docs, doctor,
                edit, exec, explain, explore, find-dupes, fund, get, help,
                hook, init, install, install-ci-test, install-test, link,
                ll, login, logout, ls, org, outdated, owner, pack, ping,
                pkg, prefix, profile, prune, publish, rebuild, repo,
                restart, root, run-script, search, set, set-script,
                shrinkwrap, star, stars, start, stop, team, test, token,
                uninstall, unpublish, unstar, update, version, view, whoami
            
            Specify configs in the ini-formatted file:
                /home/so/.npmrc
            or on the command line via: npm <command> --key=value
            
            More configuration info: npm help config
            Configuration fields: npm help 7 config
            
            npm@8.1.4 /usr/local/lib/node_modules/npm
            Running npx browserslist@latest --update-db...
            
            Entering npm script environment at location:
            /home/so/workspace/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000/source/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000/.pio/libdeps/nodemcuv2/ESP8266 IoT Framework/scripts
            Type 'exit' or ^D when finished
            
             Running npm run build...
            npm <command>
            
            Usage:
            
            npm install        install all the dependencies in your project
            npm install <foo>  add the <foo> dependency to your project
            npm test           run this project's tests
            npm run <foo>      run the script named <foo>
            npm <command> -h   quick help on <command>
            npm -l             display usage info for all commands
            npm help <term>    search for help on <term>
            npm help npm       more involved overview
            
            All commands:
            
                access, adduser, audit, bin, bugs, cache, ci, completion,
                config, dedupe, deprecate, diff, dist-tag, docs, doctor,
                edit, exec, explain, explore, find-dupes, fund, get, help,
                hook, init, install, install-ci-test, install-test, link,
                ll, login, logout, ls, org, outdated, owner, pack, ping,
                pkg, prefix, profile, prune, publish, rebuild, repo,
                restart, root, run-script, search, set, set-script,
                shrinkwrap, star, stars, start, stop, team, test, token,
                uninstall, unpublish, unstar, update, version, view, whoami
            
            Specify configs in the ini-formatted file:
                /home/so/.npmrc
            or on the command line via: npm <command> --key=value
            
            More configuration info: npm help config
            Configuration fields: npm help 7 config
            
            npm@8.1.4 /usr/local/lib/node_modules/npm
            Found 41 compatible libraries
            Scanning dependencies...
            Dependency Graph
            |-- <ArduinoJson> 6.18.5
            |-- <ESP8266 IoT Framework> 1.9.0
            |   |-- <ArduinoJson> 6.18.5
            |   |-- <ESP8266WiFi> 1.0
            |   |-- <ESP8266HTTPClient> 1.2
            |   |   |-- <ESP8266WiFi> 1.0
            |   |-- <DNSServer> 1.1.0
            |   |   |-- <ESP8266WiFi> 1.0
            |   |-- <EEPROM> 1.0
            |   |-- <LittleFS(esp8266)> 0.1.0
            |   |-- <ESP Async WebServer> 1.2.3
            |   |   |-- <ESPAsyncTCP> 1.2.2
            |   |   |-- <Hash> 1.0
            |   |   |-- <ESP8266WiFi> 1.0
            |   |   |-- <ArduinoJson> 6.18.5
            |-- <ESP Async WebServer> 1.2.3
            |   |-- <ESPAsyncTCP> 1.2.2
            |   |-- <Hash> 1.0
            |   |-- <ESP8266WiFi> 1.0
            |   |-- <ArduinoJson> 6.18.5
            |-- <PubSubClient> 2.8.0
            |-- <LittleFS(esp8266)> 0.1.0
            Building in debug mode
            
            warning: Calling missing SConscript without error is deprecated.
            Transition by adding must_exist=False to SConscript calls.
            Missing SConscript 'scripts/preBuild.py'
            File "/home/so/.platformio/penv/lib/python3.8/site-packages/platformio/builder/main.py", line 188, in <module>
            Retrieving maximum program size .pio/build/nodemcuv2/firmware.elf
            Checking size .pio/build/nodemcuv2/firmware.elf
            Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
            RAM:   [======    ]  55.3% (used 45320 bytes from 81920 bytes)
            Flash: [========= ]  89.3% (used 932264 bytes from 1044464 bytes)
            =================================================================== [SUCCESS] Took 6.66 seconds ===================================================================
            
            Eisbaeeer 1 Reply Last reply Reply Quote 0
            • Eisbaeeer
              Eisbaeeer Developer @so last edited by Eisbaeeer

              @so Dein Log sieht doch erstmal gut aus. Ich sehe keinen Fehler. Was funktioniert nicht?

              S 1 Reply Last reply Reply Quote 0
              • S
                so @Eisbaeeer last edited by

                @eisbaeeer
                34bd1a15-3fc9-4daf-a2de-1ae59de6ca1b-image.png

                Eisbaeeer 2 Replies Last reply Reply Quote 0
                • Eisbaeeer
                  Eisbaeeer Developer @so last edited by

                  @so ok, da fehlt tatsächlich der Webserver. Da hat das npm ci nicht funktioniert. Ich teste das morgen mal bei mir. Hab bisher nur auf Windows compiliert.

                  1 Reply Last reply Reply Quote 0
                  • Eisbaeeer
                    Eisbaeeer Developer @so last edited by

                    @so Also ich habe das gleiche Phänomen. Scheinbar compiliert er die Webseite mit den Configuration und dashboard items nicht. Das "sudo npm ci" läuft bei mir durch. Kannst du diesbezüglich ein issue aufmachen? https://github.com/maakbaas/esp8266-iot-framework/issues
                    Gruß Lars

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      so @Eisbaeeer last edited by

                      @eisbaeeer
                      Okay, hab ein Issue aufgesetzt.

                      1 Reply Last reply Reply Quote 0
                      • C
                        chr2002 last edited by

                        Hallo zusammen,

                        ich habe jetzt echt mal eine Frage : Wie zum Geier funktioniert dieses Ding ? 🙂
                        Ich habe zuerst versucht, das ganze mit der Lichtschranke in Gang zu bekommen. Leider funktioniert das bei meinem Zähler überhaupt nicht und ich werde wohl ohnehin einen Digitalen bekommen.

                        Jetzt habe ich noch einen weiteren Zähler, der hat einen Potenzialfreien S0 Kontakt per Optokoppler. Nun hätte ich versucht, statt des Digital Pins der Lichtschranke das Signal des S0 Kontaktes zu verwenden. Ich Schickte 3,3V zum S0 Eingang vom ESP und gehe vom S0 Ausgang auf den D1 Pin. Aber die Impulse werden nicht erkannt. Auch bringt ein Pulldown nix. Der Pulse Graph macht was er will.
                        Von der Lichtschranke kommt doch auch nur ein 3,3V Signal oder ein 0V per Pulldown (auf der Lichtschranke)

                        Oder liege ich da falsch.

                        Lg Chris

                        Eisbaeeer 1 Reply Last reply Reply Quote 0
                        • Eisbaeeer
                          Eisbaeeer Developer @chr2002 last edited by

                          @chr2002 Hallo Chris. Die Eingänge werden auf Ground gezogen. Versuche mal die Eingänge auf GND zu Brücken, dann solltest du einen Impuls bekommen. Den S0 kannst du mit der Schaltung auch verwenden.
                          Gruß Lars

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            chr2002 @Eisbaeeer last edited by

                            @eisbaeeer Das habe ich auch probiert. Also erst per Pullup gegen 3,3V und GND auf D1.
                            Dann auch mal ohne PullUP. Der Impuls geht mal auf Low, mal nicht. Und manchmal bleibt er auch auf Low, obwohl die Brücke zu gnd raus ist und der 10k Ohm Pullup gegen 3,3V drin ist.

                            1 Reply Last reply Reply Quote 0
                            • C
                              chr2002 last edited by

                              Oder ist da irgendein check drin, der eine Wartezeit zwischen den Impulsen vorraussetzt. Ich wenn ich eine ganze weile Warte, gibts einen Flankenwechsel. Wenn ich zu kurz hintereinander die Brücke gegen GND mache, passiert nichts. Danach geht aber iwie erstmal gar nichts mehr, auch wenn ich viel später wieder die Brücke setze.

                              1 Reply Last reply Reply Quote 0
                              • C
                                chr2002 last edited by

                                Ich bekomme den Graphen nichtmal zuverlässig auf LOW oder High, wenn ich eine Brücke setze. Da wird irgendwas wohl noch mit einbezogen. Hiermit geht also kein S0.

                                Eisbaeeer 1 Reply Last reply Reply Quote 0
                                • Eisbaeeer
                                  Eisbaeeer Developer @chr2002 last edited by Eisbaeeer

                                  @chr2002 Ähm ja, die Entprellzeit. Stell die mal niedriger, dann sollte das klappen.
                                  Screenshot_20211204-152845_Chrome.jpg

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    chr2002 @Eisbaeeer last edited by

                                    @eisbaeeer Auch schon probiert 😄 Leider ohne Erfolg. Der Graph macht immernoch was er will.

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      chr2002 last edited by chr2002

                                      Ich gebs auf. Hier ist was faul. ESPeasy zählt aber vernünftig. Keine Ahnung, am ESP liegt es nicht. Mit der Lichtschranke kommen auch keine anständigen Impulse zustande. Sehr seltsam. Vllt ist die 0.92 verbuggt ? Kann das sein ?

                                      Ich lasse das sein. Und werde eine anständige Wandlermessung hinter den Zähler packen 😄 Von dort per Modbus weiter.

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        Dan.Master @chr2002 last edited by Dan.Master

                                        @Eisbaeeer
                                        Hallo Lars,
                                        ich bin mal ein bisschen durch deinen Code gegangen.

                                        Ich baue gerade einen Ferraris Zähler mit Analogauswertung via Maxim MAX127 ADC mit 12Bit mit "programmierbarer" Hysterese auf der Basis deines Codes. Ich bin auch bei 80% des Projekts
                                        Grund:
                                        Ich hatte in der Vergangenheit das Problem das sich zwei ESP Wemos D1 nach 3-4 Monaten nicht mehr gemeldet haben. Nach neu flashen ging es immer so ein paar Wochen und später meldete sich der ganz Kram auch nach Neustart nicht.

                                        Wenn ich das ja soweit verstanden habe wir ja quasi in den "EEPROM" geschrieben den der ESP aber nicht hat und das durch den Flash emuliert wird.
                                        Die macht der ja über die beiden JSON "Strukturen" dash und configuration .
                                        Soweit ich das jetzt Überblicke wird bei jedem Impuls und neuem kW und bei der MQTT übertragen daten in den Flash geschrieben.
                                        Somit haben wir ja nach 2-3 Monaten die sicheren Schreibzyklen von (100.000) mal erreicht und haben das Risiko eines Speicherschädigung.
                                        Bei einer Schreibzeit alle 30s wären es 720 Zyklen am Tag. 100.000/720 = 138,8 Tage.
                                        Oder liege ich mit den häufigen Schreibzyklen auf dem falschem Weg?

                                        Ich habe die Quellen bzw die Beschreibung der Libs für des Dashboard.h und configuaration.h leider nicht auf Anhieb gefunden.
                                        Aber vielleicht liebe ich da auf dem Holzweg.

                                        Ich habe den Sinn der ProcInput1-4() Routinen nicht ganz verstanden mit array und modulo. Wozu hast du die mit im Programm?

                                        Gruß
                                        DerDani

                                        Eisbaeeer ? 2 Replies Last reply Reply Quote 0
                                        • Eisbaeeer
                                          Eisbaeeer Developer @Dan.Master last edited by

                                          @dan-master sagte in Ferraris Zähler mit TCRT5000 und esp8266:

                                          @Eisbaeeer
                                          Hallo Lars,
                                          ich bin mal ein bisschen durch deinen Code gegangen.

                                          Wenn ich das ja soweit verstanden habe wir ja quasi in den "EEPROM" geschrieben den der ESP aber nicht hat und das durch den Flash emuliert wird.
                                          Die macht der ja über die beiden JSON "Strukturen" dash und configuration .
                                          Soweit ich das jetzt Überblicke wird bei jedem Impuls und neuem kW und bei der MQTT übertragen daten in den Flash geschrieben.
                                          Somit haben wir ja nach 2-3 Monaten die sicheren Schreibzyklen von (100.000) mal erreicht und haben das Risiko eines Speicherschädigung.
                                          Bei einer Schreibzeit alle 30s wären es 720 Zyklen am Tag. 100.000/720 = 138,8 Tage.
                                          Oder liege ich mit den häufigen Schreibzyklen auf dem falschem Weg?

                                          Ja, das EEPROM wird emuliert und im flash gespeichert. ABER ich speichere nur bei vollen KWh ab. Ich habe dir mal die Stellen markiert:
                                          ecb9574e-ebe2-4f79-8877-b2f7b041f9e6-image.png

                                          Schau mal im Code nach "saveconfig", nur dann wird gespeichert.
                                          Gruß Lars

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @Dan.Master last edited by A Former User

                                            @dan-master sagte in Ferraris Zähler mit TCRT5000 und esp8266:

                                            Grund:
                                            Ich hatte in der Vergangenheit das Problem das sich zwei ESP Wemos D1 nach 3-4 Monaten nicht mehr gemeldet haben. Nach neu flashen ging es immer so ein paar Wochen und später meldete sich der ganz Kram auch nach Neustart nicht.
                                            Gruß
                                            DerDani

                                            Wie macht man das denn?

                                            btw....Ich nutze aber eine eigens compillierte und abgespeckte ESPeasy Version für den Counter.....mit 160 MHz Tacktung

                                            Von 9 D1 Mini und 2 NodeMCU ist mir bis Dato noch keiner abgeraucht.
                                            Alle mit Tasmota und ESPeasy geflasht....einer ist noch im Testmode mit ESPhome.

                                            Irgendwas muss ich wohl falsch machen......😁

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            620
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            esp8266 ferraris mqtt smartmeter sml tcrt5000
                                            49
                                            485
                                            105272
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo