Controller um requests-Pythonmodul erweitern?

Alles rund um COMPUTING inkl. Microcontroller & Co.
Everything about COMPUTING incl. Microcontrollers
Forumsregeln
Bitte beachte die Forumsregeln!

Controller um requests-Pythonmodul erweitern?

Beitragvon stylep » 06 Sep 2018, 10:27

Hallo liebe Community,

ich bin nun schon seit mehreren Stunden am Tüfteln und drehe mich im Kreis. Deshalb wende ich mich an euch und hoffe, dass ihr mir weiterhelfen könnt.
Meine Frage in Kurzform:
ist es möglich das Python-Modul "requests" in ein Pythonskript für den TXT-Controller zu integrieren?

Und als Langform:
Der Grund für dieses Vorgehen ist: Ich möchte mit einem TXT-Controller Sensordaten auslesen. Dabei handelt es sich zum Beispiel um Farbwerte oder blockierte Lichtschranken. Diese sollen anschließend in einem JSON-Objekt verpackt werden und über eine Flask-Schnittstelle an einen Raspberry Pi übertragen werden, an dem die Daten weiterverarbeitet werden. Bisher wurden die Controller von einem Raspberry Pi direkt angesteuert. Es war kein Problem die Daten auszulesen. Nun sollen aber alle Pythonskripte direkt auf den TXT-Controllern laufen und der Pi nur noch als zentraler Datenhub genutzt werden.

Nun habe ich bereits versucht das requests-Modul direkt in mein Projektordner zu kopieren. Klappt insofern, dass das Modul erfolgreich im Programm importiert wird. Sobald aber das erstellte JSON-Objekt an den Pi verschickt werden soll, bekomme ich eine von zwei Fehlermeldungen. Entweder bekomme ich einen 404-Fehler, oder aber das Pythonprogramm beendet sich komplett mit einer langen Fehlermeldung (Errno 1111: Connection refused).
Das Seltsame ist, dass der selbe Code funktioniert, wenn von dem RasPi ein JSON-Objekt an einen anderen Server gesendet werden soll.

Kann ich den TXT-Controller irgendwie um das requests-Modul erweitern, oder habt ihr eventuell weitere Vorschläge wie ich die Sensordaten an meinen zentralen Raspberry Pi übertragen kann?

Mit freundlichen Grüßen
Patrick
stylep
 
Beiträge: 4
Registriert: 24 Jul 2018, 09:38

Re: Controller um requests-Pythonmodul erweitern?

Beitragvon ski7777 » 06 Sep 2018, 16:23

Die einfachste Lösung wäre wohl die Community Firmware: http://cfw.ftcommunity.de/ftcommunity-TXT/de/
Hier ist alles, was dein Herz begehrt, schon enthalten. Python 3 mit requests ist natürlich dabei. Auch ftrobopy für die Ansteuerung der I/Os ist dabei.

Raphael
Benutzeravatar
ski7777
 
Beiträge: 795
Registriert: 22 Feb 2014, 15:18
Wohnort: Saarwellingen
Alter: 16

Re: Controller um requests-Pythonmodul erweitern?

Beitragvon stylep » 10 Sep 2018, 08:40

Hallo Raphael,

zunächst vielen Dank für Deine Hilfe. Ich habe vergessen zu erwähnen, dass die Community-Firmware bereits auf den Controllern installiert ist.
Wenn ich das Skript auf den Controller kopiere und ausführe (das requests-Modul von dem RasPi wird nicht mit kopiert), meldet er:

Code: Alles auswählen
Traceback (most recent call last):
    File "sorting_line.py", line 2, in <module>
        import requests
ModuleNotFoundError: No module named 'requests'


Kopiere ich die requests-Modul-Ordner von dem RasPi mit in den Programmordner auf dem Controller läuft das Skript durch, sobald aber ein request gesendet werden soll bekomme ich eine Fehlermeldung.
oder muss ich die Module auf dem Controller anders ansprechen?


Beste Grüße
Patrick

EDIT:

Ich habe eine Lösung gefunden. Den Fehler hat das urllib3 verursacht. Den Modulordner habe ich von dem RasPi in den Programmordner kopiert. Nach Löschen des Ordners ließen sich requests zwischen TXT und RasPi austauschen.

Beste Grüße
Patrick
stylep
 
Beiträge: 4
Registriert: 24 Jul 2018, 09:38


Zurück zu Robo Pro / Computing / Software

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 6 Gäste