ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Grk
Beiträge: 5
Registriert: 30 Apr 2020, 10:38

ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von Grk » 19 Mai 2020, 18:36

Hallo,

ich habe einen TXT, auf dem die Communityfirmware 0.9.5 läuft. Ich kann wunderbar Python-Programme laufen lassen und bearbeiten, indem ich das Gerät per USB anschließe und per Filezilla darauf zugreife. Leider habe ich Schwierigkeiten, einen Kombisensor via I2C anzusteuern.

Es funktionieren die Befehle aus dem ersten Teil des Manuals, wie zum Beispiel:

Code: Alles auswählen

ftrob = ftrobopy.ftrobopy('auto')
motor1=ftrob.motor(1)
ftrob.updateWait()
usw.

Was allerdings nicht funktioniert, sind Befehle aus der zweiten Hälfte des Manuals. Dort ist die Rede von der Basisklasse zum fischertechnik TXT Computer.

Code: Alles auswählen

import ftrobopy
txt = ftrobopy.ftTXT('192.168.7.2', 65000)
Der obige Code gibt mir:
ConnectionRefusedError: [Errno 111]

Leider hat mir die Forensuche hier nicht weitergeholfen. Woran könnte es liegen, dass ich diese Klasse nicht initialisieren kann?

Danke vorab.

Torsten
Beiträge: 185
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von Torsten » 22 Mai 2020, 18:21

Hallo Grk,

der Constructor der Basisklasse (ftTXT) wird (normalerweise) nicht direkt vom Anwender aufgerufen, sondern nur indirekt über die abgeleitete Klasse ftrobopy, die z.B. auch die Python-Verbindungsthreads zum TXT herstellt.

Da die Klasse ftrobopy aber von ftTXT abgeleitet ist, stehen hier alle Befehle der Basisklasse zur Verfügung, auch die Befehle zum Ansprechen der I2C-Schnittstelle (i2c_read/write).

Du kannst im Python-Script also für den BMX055 Kombisensor ganz normal folgendes schreiben:

Code: Alles auswählen

import ftrobopy, struct
ftrob = ftrobopy.ftrobopy('auto')
ftrob.i2c_write(0x18, 0x3e, 0x80)
ftrob.i2c_write(0x18, 0x0f, 0x0c)
ftrob.i2c_write(0x18, 0x10, 0x0f)
res = ftrob.i2c_read(0x18, 0x3f, data_len=6)
x,y,z = struct.unpack('<hhh', res)
print("Beschleunigung des BMX055 Kombisensors in x-, y- und z-Richtung = ", x >> 4 , y >> 4, z >> 4)
Das Problem mit dem "ConnectionRefusedError: [Errno 111]" liegt wahrscheinlich daran, dass Du die ftGUI-app der cfw, die für die i2c-Befehle von ftrobopy benötigt werden, nicht gestartet hast.

Viele Grüße
Torsten

Grk
Beiträge: 5
Registriert: 30 Apr 2020, 10:38

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von Grk » 27 Mai 2020, 23:42

Hallo Torsten,

vielen Dank erst mal für deine Antwort und sorry für meine späte Reaktion.

Ich bin ein Stück weitergekommen dank deiner Antwort. Wenn ich deinen Code probiere, erhalte ich die Fehlermeldung:

Code: Alles auswählen

File "usr/lib/python3.7/site-packages/ftrobopy.py", line 352, in i2c_read
AttributeError: 'ftrobopy' object has no attribute '_i2c_sock'
Offensichtlich steht die Methode i2c_read zur Verfügung, ich kann sie allerdings nicht nutzen. Für i2c_write erhalte ich die entsprechend gleiche Meldung.

Leider bin ich auch mit Internetsuchen nicht weitergekommen.
[...] dass Du die ftGUI-app der cfw, die für die i2c-Befehle von ftrobopy benötigt werden, nicht gestartet hast.
Ist vlt. eine blöde Frage, aber wie mache ich das? Ich starte den TXT mit dem kleinen blauen Knopf, es bootet, und zeigt "community edition" an, und dann bin ich doch in der GUI, oder? Ich kann dort zwischen den Ordnern "Demos" und "System" wählen, wobei in Ersterem die eigenen Apps mit anklickbaren Icons drin sind, und im zweiten Ordner eben System-Apps. Hier allerdings findet sich der Punkt „FT-GUI“ – meinst du das? Das kann ich zwar anklicken, dort steht dann aber ganz groß: NO PROGRAM, und ich kann File, Settings oder Test anklicken.

Ich wäre dir wirklich zutiefst verbunden, wenn du mir hier noch einmal weiterhelfen könntest.

Torsten
Beiträge: 185
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von Torsten » 28 Mai 2020, 08:40

Hallo Grk,

welche original fischertechnik Firmware ist auf Deinem TXT installiert ?
(Ich meine mich zu erinnern, dass es mit der neueren fischertechnik Firmware im Zusammenspiel mit der cfw zu Problemen mit der FT-GUI kommen kann.)

Viele Grüße
Torsten

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1723
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von PHabermehl » 28 Mai 2020, 13:18

Grk hat geschrieben:
27 Mai 2020, 23:42

Ist vlt. eine blöde Frage, aber wie mache ich das? Ich starte den TXT mit dem kleinen blauen Knopf, es bootet, und zeigt "community edition" an, und dann bin ich doch in der GUI, oder? Ich kann dort zwischen den Ordnern "Demos" und "System" wählen, wobei in Ersterem die eigenen Apps mit anklickbaren Icons drin sind, und im zweiten Ordner eben System-Apps. Hier allerdings findet sich der Punkt „FT-GUI“ – meinst du das? Das kann ich zwar anklicken, dort steht dann aber ganz groß: NO PROGRAM, und ich kann File, Settings oder Test anklicken.

Ich wäre dir wirklich zutiefst verbunden, wenn du mir hier noch einmal weiterhelfen könntest.
Ja, aber genau das soll auch so sein. Dann läuft die originale ft-GUI unter der cfw. Natürlich ist dann da kein Programm hochgeladen auf dem TXT. Aber ftrobopy sollte jetzt Zugriff haben.

Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Torsten
Beiträge: 185
Registriert: 29 Jun 2015, 23:08
Wohnort: Gernsheim (Rhein-Main-Region)

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von Torsten » 28 Mai 2020, 13:33

Hallo Peter,

weisst Du, ob die cfw mit der neuesten fischertechnik Firmware (4.6.6) läuft, bzw laufen sollte ?
(in einem kurzen Test blieb mein TXT (fw 4.6.6) hängen, sobald ich die FT-GUI gestartet habe)

Viele Grüße
Torsten

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1723
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von PHabermehl » 28 Mai 2020, 14:05

Hallo Torsten,

ui, sorry, da muss ich zugeben, dass ich das mit der aktuellen ft-Firmware nicht getestet habe.

Gruß
Peter
Torsten hat geschrieben:
28 Mai 2020, 13:33
Hallo Peter,

weisst Du, ob die cfw mit der neuesten fischertechnik Firmware (4.6.6) läuft, bzw laufen sollte ?
(in einem kurzen Test blieb mein TXT (fw 4.6.6) hängen, sobald ich die FT-GUI gestartet habe)

Viele Grüße
Torsten
Moderative Beiträge sind explizit gekennzeichnet!

Grk
Beiträge: 5
Registriert: 30 Apr 2020, 10:38

Re: ConnectionRefusedError: [Errno 111] bei txt = ftrobopy.ftTXT('192.168.7.2', 65000)

Beitrag von Grk » 29 Mai 2020, 08:49

Hallo Leute,

irgendwie stehe ich immer noch mächtig auf dem Schlauch, was „Start der FT-GUI“ angeht.
Ja, aber genau das soll auch so sein. Dann läuft die originale ft-GUI unter der cfw.
Bitte noch einmal die genaue Schrittfolge: Ich boote den TXT, gehe zu *System*, und tippe den Button *FT-GUI* an. Jetzt ist die FT-GUI gestartet, richtig? Danach muss ich den blauen ON/OFF drücken, um zurück zum Ordner navigieren zu können, um dort meine eigentliche App starten zu können. Habe ich die FT-GUI jetzt wieder beendet? Oder muss ich irgendwie einen anderen Weg gehen?

Ich habe glücklicherweise auch zwei TXTs zur Verfügung, mit unterschiedlich aktueller Firmware:

Code: Alles auswählen

              TXT 1        TXT 2
Firmware      0.9.5        0.9.4
Linux         4.14.97      4.1.37
Python        3.7.1final0  3.6.3final0
ftrobopy      1.88         1.87
Qt            4.8.7        4.8.7
PyQT          4.11.3       4.12.1
Innerhalb der FT-GUI steht unter *Info*:

Code: Alles auswählen

              TXT 1        TXT 2
Id            TXT-4027     TXT-2040
App           4.2.4.0      4.2.4.0
Sys           4.2.4.0      4.2.4.0
Bei beiden TXTs führt der oben beschrieben Weg zu einem Fehler: Mit der cfw 0.9.4 heißt es, 'ftrobopy' object has no attribute 'i2c_read' – es scheint, als ob die i2c-Funktionalität erst mit cfw 0.9.5 implementiert wurde (das Manual der Vorversion erwähnt i2c auch noch nicht). Auf dem anderen TXT mit der cfw 0.9.5 heißt es: 'ftrobopy' object has no attribute '_i2c_sock' – i2c-Funktionalität ist hier also implementiert.

Wie jetzt weiter? Ich wäre für weitere Vorschläge sehr dankbar.

Oh, und noch eins:
in einem kurzen Test blieb mein TXT (fw 4.6.6) hängen
Firmware 4.6.6? Muss ich die „darunterliegende“ Firmware des TXT auch updaten, oder wie ist das zu verstehen?

Herzlichen Dank,
Micha

Antworten