Fröling: [ANNOUNCE] p4d - Visualisierung und Einstellung der S-3200 via COM1

Es gibt 4.961 Antworten in diesem Thema, welches 1.496.480 mal aufgerufen wurde. Der letzte Beitrag () ist von ranseyer.

  • das Paket wird von make dort abgelegt, ist im Makefile so eingerichtet, wo du es dann vor dem apt install Aufruf hin kopierst kannst du dir nach belieben aussuchen.

    Alles nur Warnungen, Installation und p4d laufen ja erst mal.

    OK.


    Dann weitere Frage.

    Wenn ich demnächst den RPi mit Raspberry Pi OS (64-bit) an die Heizung hänge, wie muss ich dann vorgehen, wenn es eine neue p4d-Version gibt?


    Mein Verständnis:


    1. Schritt

    Code
    # p4d-Repository klonen und im Ordner /usr/src/ ablegen
    cd /usr/src/
    sudo git clone https://github.com/horchi/linux-p4d


    2. Schritt

    Code
    # p4d zusammenbauen
    
    cd /usr/src/linux-p4d
    sudo make clean all


    Auf den Schritt kann ich doch verzichten, wenn ich ein Paket baue, oder?

    # p4d installieren

    sudo make install

    3. Schritt


    4.Schritt

    Code
    # Paket erstellen
    sudo make build-deb


    5. Schritt (x.xx je nach Versionsummer)

    Code
    # Paket installieren
    sudo apt install /root/debs/p4d-0.x.xx.deb


    Passt das so?

    Fröling Pelletskessel PE1 25 kW, Fröling Hygiene-Solarschichtspeicher H3 850, 4x Buderus Flachkollektor SKN4.0-w


    fraenk for friends Code: MATF103

  • Ich hatte mal wieder etwas Muse, mich der MicroSD mit Raspberry Pi OS (64-bit) zu widmen.

    Dort hatte ich vor einem Monat ein p4d-Paket für Raspberry Pi OS (64-bit) gebaut und installiert.

    Ich hatte mich an die Anleitung Installation by source (working for most linux plattforms) gehalten.


    Die einzige Änderung, die ich gemacht habe, war in der Datei ../contrib/DEBIAN/control.

    Dort habe ich Architecture: armhf durch Architecture: arm64 ersetzt.


    Frage an horchi

    Wäre es möglich, dass Du in Deinem Installationsskript /tmp/install-deb.sh eine if-Bedingung einbaust und die Architektur abfragst?

    Code
    ARCHITECTURE=$(dpkg --print-architecture)
    echo $ARCHITECTURE


    Denn dann könnte man auch auf Raspberry Pi OS (64-bit) automatisch mit Deinem Skript installieren.

    Du könntest z.B. zwei control-Dateien erstellen und auf diese im Skript verweisen.

    Beispiel:

    ../contrib/DEBIAN/control.armhf

    ../contrib/DEBIAN/control.arm64


    Und eine if-Bedingung ins Skript einbauen.


    Nur mal so als Vorschlag.


    Man muss das ganze natürlich noch testen.

    Fröling Pelletskessel PE1 25 kW, Fröling Hygiene-Solarschichtspeicher H3 850, 4x Buderus Flachkollektor SKN4.0-w


    fraenk for friends Code: MATF103

  • Hallo in die Runde,


    bevor ich mit einem kleinen Bastelprojekt loslege, habe ich mal eine Frage. Ich habe mir "versehentlich" einen NanoPi Neo gekauft. Das gute stück hat ein kleines OLED Display und 3 Buttons, über die man sich ein paar Systeminformationen anzeigen lassen und das System ausschalten kann. Der Formfaktor ist wirklich genial klein. Ich spiele nun mit dem Gedanken meinen p4d Raspberry 4 durch dieses Gerät zu ersetzen. Der rPi 4 erscheint mir für dieses Projekt sowieso ziemlich überdimensioniert.

    NanoPi NEO 512M Allwinner H3 Quad-Core Cortex-A7

    Das Gerät ist mit Armbian und mit UbuntuCore kompatibel. Ich habe die Hoffnung, dass ich mit Armbian einfach horchi's raspberry script ausführen kann und so p4d ohne großen Aufwand zum Laufen bekomme.


    Code
    uname -a
    Linux nanopineo 5.15.48-sunxi #22.05.3 SMP Wed Jun 22 07:35:10 UTC 2022 armv7l GNU/Linux



    Wie seht ihr das? Wie stehen meine Chancen. Armbian ist als Stretch, Buster und Bullseye verfügbar. Verwendet hier schon jemand Bullseye? Läuft das? Oder soll ich doch lieber auf Buster gehen?


    Danke und viele Grüße Hoppel

  • Ja klar. Ich werde es sowieso ausprobieren. Die SD-Karte neu aufzusetzen dauert ja nur 10 Minuten. Ich wollte jedoch verstehen, was eigentlich die Anforderung ist, damit das Script funktioniert. Muss es Raspberry Pi OS (Raspbian) sein? Oder geht es grundsätzlich auch mit einem Standard Debian? Mit Ubuntu funktioniert es evtl. eher nicht?

  • Zunächst einmal vielen Dank an horchi für die Arbeit mit der Auslese der S3200. Habe das ganze jetzt mal aus den Quellen auf meinen Raspberry 3B mit Bullseye aufgesetzt um damit unsere "Fröling PE1" auszulesen. Die serielle Verbindung (USB FTDI an /dev/ttyUSB0) habe ich geprüft, indem ich "COM2 wird als Modbus Schnittstelle verwendet" auf "Nein" gesetzt habe. Dann sprudeln die Daten über die serielle Schnittstelle auf den Raspi. Für die Verwendung mit p4d setze ich

    ParameterWert
    COM2 wird als Modbus Schnittstelle verwendetJa
    Modbus Adresse
    2
    Modbus Protokoll (1 - RTU / 2 - ASCII)
    2 (ASCII)
    Modbus Protokoll Version 2014 verwenden?
    Ja

    Damit erhalte ich dann nur die sich wiederholdende Meldung

    Code
    Aug 17 17:38:40 raspberrypi p4d: Read word failed, aborting 
    Aug 17 17:38:40 raspberrypi p4d: Error reading serial interface, reopen now! 

    Stelle ich die "Verwendung von COM2 als Modbus Schnittstelle" auf "Nein", erhalte ich

    Code
    Aug 17 17:01:20 raspberrypi p4d: Got wrong communication id 1a24 expected 02fd
    Aug 17 17:01:20 raspberrypi p4d: Got 139 unexpected bytes
    Aug 17 17:01:20 raspberrypi p4d: Error reading serial interface, reopen now!

    Macht ja auch Sinn, es kommen einfach irgendwelche (unerwarteten) Daten über die Schnitstelle rein.


    Ich habe auch die anderen Parameter der obigen Tabelle geändert - aber erhalte immer "Read word failed, aborting".


    Irgendetwas übersehe ich anscheinend, nur was?

  • Zunächst einmal vielen Dank an horchi für die Arbeit mit der Auslese der S3200. Habe das ganze jetzt mal aus den Quellen auf meinen Raspberry 3B mit Bullseye aufgesetzt um damit unsere "Fröling PE1" auszulesen. Die serielle Verbindung (USB FTDI an /dev/ttyUSB0) habe ich geprüft, indem ich "COM2 wird als Modbus Schnittstelle verwendet" auf "Nein" gesetzt habe. Dann sprudeln die Daten über die serielle Schnittstelle auf den Raspi.

    Über COM2 sprudeln die falschen Daten.

    COM1 ist die richtige Wahl.

    An COM1 steckt auch immer der Kundendienst das Notebook an.

    Fröling Pelletskessel PE1 25 kW, Fröling Hygiene-Solarschichtspeicher H3 850, 4x Buderus Flachkollektor SKN4.0-w


    fraenk for friends Code: MATF103

  • Jetzt ist der Groschen bei mir gefallen... Ich dachte die ganze Zeit, dass p4d über die Modbus Schnittstelle (COM2) die Daten abgreift - ist ja dokumentiert. Aber zur Anfangszeit von p4d vor 2014 war das wohl noch nicht so - daher läuft p4d über COM1. Steht ja auch überall in der Doku zu p4d :S


    Danke!

  • Hallo Leute,

    habe mich jetzt auch mal dran gemacht und wollte meine Heizungsdaten abfragen.

    Auf meinen "probier" Raspi 3 mit 1GB mit Bullseye hat alles ganz gut geklappt.

    Allerdings auf meinen eigentlichen Pi 4 mit 4GB und Buster komme ich nicht auf die Weboberfläche von P4D

    Installation hat mit anfangs schwierigkeiten dann aber geklappt


    pi@pi:~ $ systemctl status p4d

    ● p4d.service - P4d Control Deamon

    Loaded: loaded (/etc/systemd/system/p4d.service; enabled; vendor preset: enabled)

    Active: active (running) since Tue 2022-08-30 17:50:34 CEST; 4min 14s ago

    Process: 752 ExecStart=/usr/bin/p4d (code=exited, status=0/SUCCESS)

    Main PID: 759 (p4d)

    Tasks: 1 (limit: 4915)

    CGroup: /system.slice/p4d.service

    └─759 /usr/bin/p4d




    Aug 30 17:54:48 pi p4d[759]: SQL-Error in 'connecting to database' - Access denied for user 'p4'@'localhost' (1698)

    Aug 30 17:54:48 pi p4d[759]: Fatal, lost connection to mysql server, aborting pending actions

    Aug 30 17:54:48 pi p4d[759]: Error, connecting to database at 'localhost' on port (3306) failed

    Aug 30 17:54:48 pi p4d[759]: Error: Initial database connect failed

    Aug 30 17:54:48 pi p4d[759]: SQL-Error in 'connecting to database' - Access denied for user 'p4'@'localhost' (1698)

    Aug 30 17:54:48 pi p4d[759]: Fatal, lost connection to mysql server, aborting pending actions

    Aug 30 17:54:48 pi p4d[759]: Error, connecting to database at 'localhost' on port (3306) failed

    Aug 30 17:54:48 pi p4d[759]: Could not access database 'localhost:3306'

    Aug 30 17:54:48 pi p4d[759]: Could not access database 'localhost:3306' (tried to open errors)

    Aug 30 17:54:48 pi p4d[759]: Retrying in 10 seconds



    steh jetzt aber etwas auf dem Schlauch

  • Die Fehlermeldung bedeutet, daß P4D nicht auf die lokale Datenbank zugreifen kann. Diese sollte natürlich laufen. Bei einer Standardinstallation ist das die MariaDB.

    Code
    service mariadb status

    "Access denied" klingt allerdings verdächtig nach einem falschen Passwort für den Benutzer "p4". Schau mal in die "/etc/p4d/p4d.conf. Dort sollte ein "DbPass" eingetragen sein. Standardmäßig müßte dort "p4" stehen.


    Wenn das P4D Installationsskript korrekt gelaufen ist, dann sollte ein Alias verfügbar sein. Dieser heißt "p4db" und ist direkt ausführbar. Falls der Alias nicht existiert, dann kannst Du auf die Datenbank auch mit diesem Befehl zugreifen (der Befehl verbirgt sich hinter dem Alias):

    Code
    mysql -u p4 -D p4 -pp4

    Wenn der Login in die Datenbank funktioniert, müßtest Du dieses Prompt bekommen:

    Code
    MariaDB [p4]>

    Mit "\q" und Enter kommst Du wieder aus dem Prompt heraus.

  • bei mir existiert nur eine "/etc/p4d/daemon.conf"

    und da ist dies drin


    # ----------------------------------------

    # parameters to connect the MySQL database


    DbHost = localhost

    DbPort = 3306

    DbName = p4

    DbUser = p4

    DbPass = p4

  • Oh, hat Jörg die umbenannt. Ich nutze noch eine ältere Version vom P4D. Müßte ich mal updaten...


    Jedenfalls stehen die gleichen Parameter drin, wie früher in der p4d.conf. Schau doch mal, ob die Datenbank läuft und ob Du auf sie zugreifen kannst. Wenn das nicht funktioniert, kann es auch der P4D nicht.

  • pi@pi:~ $ service mariadb status

    ● mariadb.service - MariaDB 10.3.34 database server

    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:

    Active: active (running) since Wed 2022-08-31 19:49:30 CEST; 20h ago

    Docs: man:mysqld(8)

    systemd
    How systemd is configured on MariaDB packages and how to alter its configuration.
    mariadb.com

    Process: 505 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run

    Process: 519 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_

    Process: 528 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR=

    Process: 751 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START

    Process: 753 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCC

    Main PID: 602 (mysqld)

    Status: "Taking your SQL requests now..."

    Tasks: 32 (limit: 4915)

    CGroup: /system.slice/mariadb.service

    └─602 /usr/sbin/mysqld


    Warning: Journal has been rotated since unit was started. Log output is incomple



    sieht denk ich ganz gut aus, nur die letzte Zeile versteh ich nicht

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!