Controller um requests-Pythonmodul erweitern?
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Controller um requests-Pythonmodul erweitern?
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
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
Re: Controller um requests-Pythonmodul erweitern?
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
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
Re: Controller um requests-Pythonmodul erweitern?
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:
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
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'
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
-
- Beiträge: 9
- Registriert: 21 Aug 2019, 14:23
Re: Controller um requests-Pythonmodul erweitern?
Hallo Patrick und Raphael,
ich habe genau das gleiche Problem, aber die Lösung funktioniert bei mir nicht.
Ich habe die Community Edition 0.9.5 auf dem TXT laufen. Zunächst einmal scheint da die requests library nicht mit dabei zu sein.
Wenn ich requests von meinen PC site-packages auf den TXT controller kopiere
Kopiere ich auch urllib3 auf den TXT, bekomme ich weitere import Fehler
Da kann ich auch noch weiter machen indem ich anfange die urllib3 Python files zu bearbeiten, aber es fehlen immer mehr dependencies wie chardet, certifi, idna und wahrscheinlich weitere. Ich glaube nicht, dass ich da zum Ziel komme beim Package Manager spielen.
Vielleicht grundsätzlich die Frage:
Sollte requests und urllib3 auf der community edition 0.9.5 dabei sein? Ich finde die jedenfalls nicht in /usr/lib/python3.7/
ich habe genau das gleiche Problem, aber die Lösung funktioniert bei mir nicht.
Ich habe die Community Edition 0.9.5 auf dem TXT laufen. Zunächst einmal scheint da die requests library nicht mit dabei zu sein.
Code: Alles auswählen
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'requests'
Code: Alles auswählen
Traceback (most recent call last):
File "testticketcreate.py", line 1, in <module>
import requests
File "/home/ftc/apps/7408bee1-4ea6-4b10-b803-a0cbcebe360a/requests/__init__.py", line 43, in <module>
import urllib3
ModuleNotFoundError: No module named 'urllib3'
Code: Alles auswählen
Traceback (most recent call last):
File "testticketcreate.py", line 1, in <module>
import requests
File "/home/ftc/apps/7408bee1-4ea6-4b10-b803-a0cbcebe360a/requests/__init__.py", line 43, in <module>
import urllib3
File "/home/ftc/apps/7408bee1-4ea6-4b10-b803-a0cbcebe360a/urllib3/__init__.py", line 7, in <module>
from .connectionpool import (
File "/home/ftc/apps/7408bee1-4ea6-4b10-b803-a0cbcebe360a/urllib3/connectionpool.py", line 30, in <module>
from .connection import (
ImportError: cannot import name 'HTTPException' from 'urllib3.connection' (/home/ftc/apps/7408bee1-4ea6-4b10-b803-a0cbcebe360a/urllib3/connection.py)
Vielleicht grundsätzlich die Frage:
Sollte requests und urllib3 auf der community edition 0.9.5 dabei sein? Ich finde die jedenfalls nicht in /usr/lib/python3.7/
Re: Controller um requests-Pythonmodul erweitern?
Contribution moved to the "Robo Pro / Computing / Software" thread
Zuletzt geändert von vleeuwen am 05 Okt 2019, 17:52, insgesamt 1-mal geändert.
-
- Beiträge: 472
- Registriert: 03 Jan 2018, 22:04
Re: Controller um requests-Pythonmodul erweitern?
Gib mal bitte die Resultate vonmanuelseeger hat geschrieben:[...]
Ich habe die Community Edition 0.9.5 auf dem TXT laufen. Zunächst einmal scheint da die requests library nicht mit dabei zu sein.
[...]Code: Alles auswählen
>>> import requests Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'requests'
Code: Alles auswählen
>>> import sys
>>> sys.version
>>> sys.path
Re: Controller um requests-Pythonmodul erweitern?
Contribution moved to the "Robo Pro / Computing / Software" thread