Python Skript geschickt programmieren

Gast #5598431
Hallo,
ich habe mehrere Android Nano Boards, die über das Netzwerk 
MQTT-Nachrichten versenden. Als Empfänger gibt es ein Raspberry Pi, der 
mit folgendem python-Code alle Nachrichten empfangen soll:
1
import paho.mqtt.client as mqtt
2
def on_connect(client, userdata, flags, rc):
3
   client.subscribe("#")
4

5
def on_message(client, userdata, msg):
6
   print(msg.topic + " " + str(msg.payload))
7

8
client = mqtt.Client()
9
client.on_connect = on_connect
10
client.on_message = on_message
11

12
client.connect("localhost",1883,60)
13

14
client.loop_forever()

Dies funktioniert leider sehr, sehr unzuverlässig. Ich erhalte teilweise 
die Nachrichten, aber nicht von allen Boards. Von manchen gar nicht 
mehr, obwohl sie laufen und senden.

1.Was kann ich verbessern?
2.Wie ist der Code, überfordert der meinen Raspberry? Ich habe mehrere 
Python Skripte die parallel was auf meinem Raspberry überwachen sollen.
Gast
Ist die Architektur, dass der Raspi als Broker agiert und die ardu's 
sind Clients? Oder hab ich das falsch verstanden?

Was heißt Netzwerk?
Ethernet? W-LAN?

Habe mit meinem Raspi und MQTT 0 Probleme.
Hallo,

Chris schrieb:
> Habe mit meinem Raspi und MQTT 0 Probleme.

Hier läuft Mosquitto als Broker auf dem RasPi-3, dazu FHEM und MPD 
sendet lokal einen ICECast-Stream, das lastet den RasPi im Durchschnitt 
mit 50% aus.
MQTT-Clients sind u.a. ca. 12 ESP8266, auch da geht nichts verloren 
solange das WLAN da ist. WLAN macht allerdings mein Kabel-Router, nicht 
der RasPi.

Gruß aus Berlin
Michael
sunshineh schrieb:
> Hallo,
> ich habe mehrere Android Nano Boards,
kenn ich nicht - Link?
> die über das Netzwerk
> MQTT-Nachrichten versenden. Als Empfänger gibt es ein Raspberry Pi, der
> mit folgendem python-Code alle Nachrichten empfangen soll:
>
>
1
> ... snip
2
>
>
> Dies funktioniert leider sehr, sehr unzuverlässig. Ich erhalte teilweise
> die Nachrichten, aber nicht von allen Boards. Von manchen gar nicht
> mehr, obwohl sie laufen und senden.
Woher weißt du das die senden?
>
> 1.Was kann ich verbessern?
An dem was ich oben sehe nichts
> 2.Wie ist der Code, überfordert der meinen Raspberry?
was sagt denn die Prozessorauslastung? Bei sowas wie oben dreht der nur 
Däumchen.
> Ich habe mehrere
> Python Skripte die parallel was auf meinem Raspberry überwachen sollen.

Hast du mal mit einem Client auf dem PC geschaut ob die Nachrichten 
ankommen?

Sascha

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.