Beiträge von matze1

    Also alle vorgeschlagenen Varianten zeigen mir an, dass der Host nicht erreichbar ist (Raspi wo der Broker läuft, ist aus)

    Code
    OSError: [Errno 113] No route to host

    Da ist das mit der Schleife schon besser, habe das ganze so komplett durchgetestet, das Programm läuft durch, sobald wieder publish gesendet wird, wird es am subscriber angezeigt, egal ob der Broker zwischen durch erreichbar ist oder nicht.

    Vielen dank für eure Hilfen.

    So mein Programmcode sieh jetzt folgendermaßen aus.

    Ich habe das ganze in ein try -Block gebracht, wenn der Broker nicht mehr erreichbar ist, wird das mqtt neu gestartet.

    Das Programm soll auf weitere Nachrichten warten.

    Wenn das Internet am "Server" nicht unterbrochen wird, wird auch das client Programm, der die Nachrichten empfängt, nicht unterbrochen.

    Weder mit der "time" Variante noch mit loop_forever().

    Wenn aber am "Server" das Internet unterbricht, beendet sich das Programm am Clienten.

    Ich kann z.B. 1000 mal das Wort "hallo" schicken, es wird am client immer angezeigt wenn das Internet am "Server" steht.

    Hallo, ich habe das Modul "paho-mqtt" installiert, wo ich Daten verschicken kann, der Empfänger ist ein MQTT Broker, wenn ich am Server diesen Code habe:

    Code
    import paho.mqtt.client as mqtt
    
    
    string = "hallo"
    client = mqtt.Client()                
    client.connect("localhost", 1111, 60)
    client.publish("topic", string)
    client.disconnect()

    und beim Client:

    habe, dann bricht die Verbindung immer ab, wenn der Server - auch kurzzeitig - vom Internet getrennt wird.

    auch wenn ich client.loop() oder client.loop_forever() nehme.

    Kann man das mittels mqtt regeln, oder muss man im Code etwas bauen (try, etc.)?

    Also das mit dem "Serial read" lasse ich mal lieber, die Ursachen scheinen etwas tiefgründiger zu sein, ich habe mal zu Testzwecken in der config.tx

    das

    Code
    core_freq=250

    eingetragen, das brachte etwas Besserung, aber keine wesentliche.

    Ich betreibe es jetzt mit einen FTDI USB Adapter, das funktioniert wenigstens.

    Code
    sudo systemctl disable hciuart

    habe ich ausgeführt und

    Code
    dtoverlay=disable-bt

    habe ich in der config.txt eingetrgen (natürlich anschl. reboot durchgeführt).

    Hat alles nichts gebracht.

    Mein relaise ist:

    Code
    cat /etc/os-release
    PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="10"
    VERSION="10 (buster)"
    VERSION_CODENAME=buster

    Edit: original sollte die Ausgabe des Serials's es so aussehen (auf dem pi 2):

    2 v=3060&c=147&t=1980&h=0&f=1&sy=1&rssi=-445&fo=5310&be=0

    aber die Ausgabe auf dem Pi 4 sieht so aus:

    =3036&c=205&t=252&h=50&f=1&sy=&rssi=-510&fo=55&be=0

    also stimmt hinten und vorne nicht, ich habe noch etwas über die Takt-Frequenz gelesen... das man da etwas machen muss(?)

    Hier geht es nicht um die exakten Werte wie "t=1980" sondern das auch einfach Zahlen fehlen.

    wie es im /boot/overlays/README steht

    Ja das sollte doch der Abschnitt sein:

    Code
    Name:   uart0
    Info:   Change the pin usage of uart0
    Load:   dtoverlay=uart0,<param>=<val>
    Params: txd0_pin                GPIO pin for TXD0 (14, 32 or 36 - default 14)
    
            rxd0_pin                GPIO pin for RXD0 (15, 33 or 37 - default 15)
    
            pin_func                Alternative pin function - 4(Alt0) for 14&15,
                                    7(Alt3) for 32&33, 6(Alt2) for 36&37

    Nur habe ich es ja so konfiguriert,

    Ich wollte auf dem Raspi 4 die Serielle Schnittstelle rx und tx ( BCM 14 und 15) freigeben, dafür habe ich folgende Einträge in der /boot/config.txt gemacht:

    Code
    enable_uart=1
    dtoverlay=disable-bt
    dtoverlay=uart0,txd0_pin=14
    dtoverlay=uart0,rxd0_pin=15

    Leider gibt es beim Auslesen ("/dev/ttyAMA0") wirres Zeug aus.

    Bei dem Raspi 2 hat es wunderbar funktioniert.

    Jetzt die allgemeine Frage, wie steuert man die Serielle Schnittstelle tx und rx (BCM 14 und 15) beim Raspi 4 richtig an?

    Ich muss nochmal wegen einer Fehlermeldung fragen.

    Ich bekomme immer den Fehler:

    Code
    'python-telegram-bot is using upstream urllib3. This is allowed but not '
    UserWarning: python-telegram-bot is using upstream urllib3. This is allowed but not supported by python-telegram-bot maintainers.

    urllib3 ist bereits installiert und es wird mit python3 ausgeführt, woran liegt das? Der Text wird allerdings verschickt.