Python Skript geschickt programmieren

Gast #5598431
Lesenswert?
• ▲
▼
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 #5598554
Lesenswert?
• ▲
▼
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.
#5598684
Lesenswert?
• ▲
▼
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
#5598927
Lesenswert?
• ▲
▼
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.