Jump to content

Python-script auf Red-Brick laden


fedex

Recommended Posts

ich versuche mit einem Python skript etwas an einen mqtt broker zu publishen.

#!/usr/bin/env python

import time

 

import paho.mqtt.client as mqtt

 

 

def on_connect(client, userdata, flags, rc):

    print("Connected with result code " + str(rc))

 

client = mqtt.Client()

client.on_connect = on_connect

 

client.connect("vmiot01srv", 1883, 60)

 

client.loop_start()

 

while True:

    time.sleep(2)

    client.publish("test/sensor", "test123")

 

 

 

Die Fehlermedung im log ist die selbe:

-------------------------------------------------------------------------------

Traceback (most recent call last):

  File "pub-single.py", line 30, in <module>

    import paho.mqtt.publish as publish

ImportError: No module named paho.mqtt.publish

Link zu diesem Kommentar
Share on other sites

ImportError: No module named paho.mqtt.client

 

und

 

ImportError: No module named paho.mqtt.publish

 

sind zwei verschiedene Fehler.

 

Irgendwas stimmt da mit deiner paho-mqtt Installation nicht. Bist du sicher, dass du das richtig installiert hast?

 

Ich habe das hier gerade mal getestet und es funktioniert bei mir.

 

Hast du vielleicht

 

pip install paho-mqtt

 

ohne sudo ausgeführt?

Link zu diesem Kommentar
Share on other sites

Okay ich habe folgendes getestet:

 

- frisches RED Brick 1.7er Image

 

- über WLAN USB Stick eine Internetverbindung hergestellt

 

- im Brick Viewer den Consolen Tab aufgerufen und verbunden, alles weitere passiert auf dem RED Brick

 

- in python scheitert "import paho.mqtt.client" wie erwartet, da paho-mqtt noch nicht installiert ist

 

- paho-mqtt mittels "sudo pip install paho-mqtt" installiert, ohne sudo lädt pip das Package zwar runter kann es dann aber wegen fehlender Rechte nicht installieren

 

- jetzt funktioniert "import paho.mqtt.client" in python

 

Sprich es funktioniert wie erwartet.

 

Ich verstehe nicht, wie pip das bei dir ohne root Rechte installiert haben soll.

 

Welchen Fehler bekommst du denn, wenn du "sudo pip install paho-mqtt" ausführst?

Link zu diesem Kommentar
Share on other sites

sorry für mein Unwissen ;)

 

ich hatte das paho-mqtt nicht auf dem Linux system von meinem Red Brick sondern auf meinem windows Rechner installiert...

 

das Problem das die Instalaltion auf dem Red Brick nicht funktioniert liegt jetzt daran das ich noch keinen Zugriffsrechte auf das Internet habe...

 

gäbe es denn eine Möglichkeit den paho-mqtt-proxy ohne Internet auf den Red Brick zu laden?

Link zu diesem Kommentar
Share on other sites

Ahhh!

 

Okay, du kannst hier am Ende der Seite die paho-mqtt-1.1.tar.gz Datei herunterladen:

 

https://pypi.python.org/pypi/paho-mqtt

 

Diese muss du dann auf's RED Brick übertragen. Am einfachsten lädst du sie mit deinem Programm mit hoch.

 

Dann auf dem RED Brick (im Brick Viewer RED Brick Console Tab) in das bin Verzeichnis deines Programms wechseln:

 

cd programs/<id>/bin

 

<id> ist der Identifier deines Programms der in Brick Viewer angezeigt wird.

 

Dort die paho-mqtt-1.1.tar.gz Datei eintpacken

 

tar -xvf paho-mqtt-1.1.tar.gz

 

Ins entpackte Verzeichnis wechseln:

 

cd paho-mqtt-1.1

 

und per setup.py installieren:

 

sudo python setup.py install

Link zu diesem Kommentar
Share on other sites

  • 2 months later...

Broker_host = localhost

Broker_port = 1883

Wenn ich paho-mqtt mit der setup.py installiert habe, wie und wo starte ich dann den brick-mqtt-proxy?

ich habe es versucht indem ich das brick-mqtt-proxy script mit meinen Programm auf den Red Brick geladen habe. aber wie kann ich es starten?

 

meine Programm log sieht so aus:

Unbenannt1.jpg.f6eea736702f437c9adb0c10fa228777.jpg

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...