Node-RED | TXT 4.0 | I/O-Direktzugriff

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 09 Aug 2022, 23:56

Liebes Forum,

hat zufällig schon jemand damit experimentiert auf die Ein- und Ausgänge des FT-Controllers aus Node-RED heraus direkt zuzugreifen? Wäre doch fein wenn man z.B. steigende oder fallende Flanken der Eingänge "direkt" auswerten könnte und den Status nicht laufend über die API abfragen müsste.

Für den Raspi gibt es ein, über das Node-RED-interne Paketverwaltungstool, instalierbares GPIO-Modul. Gibt es so was schon oder ginge das für den TXT 4.0 auch? Weiß jemand wie das geht?

Ich bin gespannt auf euer "Schwarmwissen" dazu...

Grüße aus dem Urlaub an der Ostsee,

Sebastian
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

Benutzeravatar
Kali-Mero
Beiträge: 598
Registriert: 21 Nov 2017, 12:28
Wohnort: Karlsruhe
Kontaktdaten:

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von Kali-Mero » 10 Aug 2022, 16:31

Nääää - Du hast das Controllergeraffel mit an die Ostsee genommen?! Hast Du Angst, dass Dir langweilig wird? :-D

Grüßle ausm Zug nach FFM - ohne ft ;-)

Grüßle
Der Kali

Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 10 Aug 2022, 20:42

Ne... Ich war mir sicher hier die Ruhe zu haben darüber nachzudenken.... dabei hab ich das Zeug nicht.
Aber ich war kurz davor und hatte schon Taster und LEDs gerichtet :lol:

Grüße von der Ostsee!

Sebastian.
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 22 Aug 2022, 22:47

Fertige Nodes für die IOs des TXT 4 gibt es bislang nicht.
Ich habe mir ein Python Programm für den TXT4 geschrieben, wo ich die IOs des TXT auf MQTT abbilde.
In Node Red benutze ich dann MQTT Nodes um die an den TXT angeschlossene Hardware anzusteuern bzw. auszulesen.
Das funktioniert ganz gut wenn du keine wahnsinnig schnellen Reaktionszeiten brauchst...

Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 23 Aug 2022, 01:07

Okay, das es keine fertigen Nodes gibt war mir klar, sorry falls der Eindruck erschien ich hätte die als Lösung "erwartet".

Den "Umweg" über Python und MQTT habe ich schon entdeckt, schick ist er aber nicht wirklich. Bei Raspi und Co funktioniert das wohl über die libgpiod. Die Infos und der Zugriff darauf erfordern aber Root Zugriff auf den TXT4.0.
Vielleicht hat ja da jemand Tips wie man weiter kommt?

Ich nutze seit langem privat ausschließlich ein Linux als OS auf allen Geräten und habe hier ein RasPi basiertes Mini-Smart-Home-System am laufen das auf Home-Assistant, Node-Red und einigen Wemos-Boards basiert, deshalb wollte ich einfach mal mit dem Node-Red auf dem TXT4.0 "spielen". Wenn am Schluss nur der Weg über MQTT bleibt dann ist es halt so.... der "Spieltrieb" lässt mich aber noch forschen, irgendwie müssen die I/Os ja auch an Python übergeben werden ;-)
Ich freu mich über eure Tips und Ideen, DANKE!
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

vleeuwen
Beiträge: 1597
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von vleeuwen » 23 Aug 2022, 10:44

You can also use a web socket in the localhost on the TXT4.0.
Node Red can deal with web sockets too.
The integration of a web socket into RoboPro coding Blockly, see: http://tescaweb.nl/Carel/?p=713
Zuletzt geändert von vleeuwen am 23 Aug 2022, 16:34, insgesamt 2-mal geändert.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Benutzeravatar
MasterOfGizmo
Beiträge: 2725
Registriert: 30 Nov 2014, 07:44

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von MasterOfGizmo » 23 Aug 2022, 13:52

In dem von ft in meiner Frage nach den TXT-4.0-Quellen angegebenen Repository gibt es ein paar einfache C- und Python-Beispiele, die auf die IOs des TXT-4.0 direkt zugreifen. Mit denen als Vorlage müsste man sich doch auch was direkteres für Node-Red basteln können.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 24 Aug 2022, 13:34

Hallo Sebastian,
du schreibst du steuerst den TXT "via API ..." machst Du das aus Node-Red mit HTTP-Request Nodes?

Das geht nämlich auch. Unter http://[IP des TXT4]/api/v1/ui/ findest du die Swagger Seite zur REST Api des TXT4.
Die CURL Kommandos dort, lassen sich relativ leicht in Node-Red umsetzen.

Das bauen eines Node-Red nodes aus den Python beispielen habe ich damals nicht geschafft.
Das liegt aber eher an meinen begrenzten Fähigkeiten beim "Knotenbau" in Node-Red.

Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 24 Aug 2022, 22:20

rugee-f hat geschrieben:
24 Aug 2022, 13:34
.... Das geht nämlich auch. Unter http://[IP des TXT4]/api/v1/ui/ findest du die Swagger Seite zur REST Api des TXT4.
Die CURL Kommandos dort, lassen sich relativ leicht in Node-Red umsetzen.
...
Das dachte ich auch... aber ich scheitere schon daran die Abfrage direkt auf der Swagger Seite über die Try Out Funktion anzustoßen. Ich bekomme immer nur "TypeError: Failed to fetch" Es ist schon richtig zur Authorisation den API-Schlüssel aus dem Einstellungsmenü des TXT4.0 zu nehmen, oder?

Aus Node-Red heraus bekomme ich immer nur 401 Unauthorized (No Token).

Ist da irgendwo noch mehr Dokumentation zu finden?
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 24 Aug 2022, 22:32

MasterOfGizmo hat geschrieben:
23 Aug 2022, 13:52
In dem von ft in meiner Frage nach den TXT-4.0-Quellen angegebenen Repository gibt es ein paar einfache C- und Python-Beispiele, die auf die IOs des TXT-4.0 direkt zugreifen. Mit denen als Vorlage müsste man sich doch auch was direkteres für Node-Red basteln können.
Meinst du dieses https://git.fischertechnik-cloud.com/txt40 Repository?
Da finde ich keine Beispiele und hier https://github.com/fischertechnik/txt40_c_cpp ist leider auch nichts zu holen. :-(

Ansonsten wäre das genau der Ansatz den ich gesucht habe :-)
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 24 Aug 2022, 23:48

Für den Zugriff über die Swagger Seite musst du über USB mit dem TXT verbunden sein, sonst stimmt die IP Adresse in der URL nicht.
Dann muß die Autorisierung mit dem Api Key aus den Settings vorgenommen weden. Wenn das geschlossene Vorhängeschloß angezeigt wird, war die Autorisierung erfolgreich. Generell funktionieren die CURL Kommandos aber auch über die WLAN Adresse des TXT.

Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 24 Aug 2022, 23:53

Die Swagger Seite kann ich, via WLAN über die vom Router zugewiesene IP Adresse aufrufen. Das Schloss ist nach eingabe des API-Keys geschlossen. Auf der Swagger Seite habe ich (ganz oben auf der Seite) den "htp://localhost..." Eintrag gewählt.... und dann besagtes Ergebnis bekommen :-(
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 25 Aug 2022, 00:05

Ich hab ein paar Flows gebastelt um die API Schnittstelle zu testen - ich häng dir die Flows hier im Text dran.
Du musst nur den API-Key anpassen und die WLAN Adresse deines TXT in der URL eintragen.

(Start der Flows)

[
{
"id": "ce8d8a558e1ab29c",
"type": "http request",
"z": "32711f3c08d8be6f",
"name": "",
"method": "GET",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://192.168.0.16/api/v1/controller/0/inputs/1",
"tls": "",
"persist": false,
"proxy": "",
"authType": "",
"senderr": false,
"x": 450,
"y": 340,
"wires": [
[
"39c71c0a61a7286f"
]
]
},
{
"id": "a8ccfcde86a483c6",
"type": "function",
"z": "32711f3c08d8be6f",
"name": "",
"func": "var apikey = \"oShVKk\";\n\nmsg.headers = { \n \"X-API-KEY\": apikey,\n \"Content-Type\":\"application/json\"\n };\n\nmsg.payload = {};\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 280,
"y": 340,
"wires": [
[
"ce8d8a558e1ab29c"
]
]
},
{
"id": "39c71c0a61a7286f",
"type": "debug",
"z": "32711f3c08d8be6f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 340,
"wires": []
},
{
"id": "b70f6defd4774b3f",
"type": "inject",
"z": "32711f3c08d8be6f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 340,
"wires": [
[
"a8ccfcde86a483c6"
]
]
},
{
"id": "de2a8d82513d5556",
"type": "http request",
"z": "32711f3c08d8be6f",
"name": "",
"method": "POST",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://192.168.0.16/api/v1/controller/0/inputs/2",
"tls": "",
"persist": false,
"proxy": "",
"authType": "",
"senderr": false,
"x": 450,
"y": 220,
"wires": [
[
"626824f25103c824"
]
]
},
{
"id": "549d90d06f661342",
"type": "function",
"z": "32711f3c08d8be6f",
"name": "",
"func": "var apikey = \"oShVKk\";\n\nmsg.headers = { \n \"X-API-KEY\": apikey,\n \"Content-Type\":\"application/json\"\n };\n\nmsg.payload = { \"device\": \"PHOTO_RESISTOR\",\n \"enabled\": true,\n \"name\": \"string\",\n \"value\": 0\n };\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 280,
"y": 220,
"wires": [
[
"de2a8d82513d5556"
]
]
},
{
"id": "626824f25103c824",
"type": "debug",
"z": "32711f3c08d8be6f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 220,
"wires": []
},
{
"id": "69ded15a837bac55",
"type": "inject",
"z": "32711f3c08d8be6f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 220,
"wires": [
[
"549d90d06f661342"
]
]
},
{
"id": "fe0ee6c071d15fdb",
"type": "inject",
"z": "32711f3c08d8be6f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 180,
"wires": [
[
"cbc4082cb4ee0e5a"
]
]
},
{
"id": "cbc4082cb4ee0e5a",
"type": "function",
"z": "32711f3c08d8be6f",
"name": "",
"func": "var apikey = \"oShVKk\";\n\nmsg.headers = { \n \"X-API-KEY\": apikey,\n \"Content-Type\":\"application/json\"\n };\n\nmsg.payload = { \"device\": \"MINI_SWITCH\",\n \"enabled\": true,\n \"name\": \"string\",\n \"value\": 0\n };\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 280,
"y": 180,
"wires": [
[
"65fa4095764f73cf"
]
]
},
{
"id": "65fa4095764f73cf",
"type": "http request",
"z": "32711f3c08d8be6f",
"name": "",
"method": "POST",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://192.168.0.16/api/v1/controller/0/inputs/1",
"tls": "",
"persist": false,
"proxy": "",
"authType": "",
"senderr": false,
"x": 450,
"y": 180,
"wires": [
[
"a6fb586ac02c3957"
]
]
},
{
"id": "a6fb586ac02c3957",
"type": "debug",
"z": "32711f3c08d8be6f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 180,
"wires": []
},
{
"id": "9fb68a3470844e1e",
"type": "inject",
"z": "32711f3c08d8be6f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 380,
"wires": [
[
"9ea3efc939716748"
]
]
},
{
"id": "9ea3efc939716748",
"type": "function",
"z": "32711f3c08d8be6f",
"name": "",
"func": "var apikey = \"oShVKk\";\n\nmsg.headers = { \n \"X-API-KEY\": apikey,\n \"Content-Type\":\"application/json\"\n };\n\nmsg.payload = {};\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 280,
"y": 380,
"wires": [
[
"ad6baa95d571fafe"
]
]
},
{
"id": "ad6baa95d571fafe",
"type": "http request",
"z": "32711f3c08d8be6f",
"name": "",
"method": "GET",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://192.168.0.16/api/v1/controller/0/inputs/2",
"tls": "",
"persist": false,
"proxy": "",
"authType": "",
"senderr": false,
"x": 450,
"y": 380,
"wires": [
[
"a686d3dbf2ec3f89"
]
]
},
{
"id": "a686d3dbf2ec3f89",
"type": "debug",
"z": "32711f3c08d8be6f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 380,
"wires": []
},
{
"id": "5afd9dafe03ea131",
"type": "inject",
"z": "32711f3c08d8be6f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 120,
"y": 80,
"wires": [
[
"b6661bb071f9c5cf"
]
]
},
{
"id": "b6661bb071f9c5cf",
"type": "function",
"z": "32711f3c08d8be6f",
"name": "",
"func": "var apikey = \"oShVKk\";\n\nmsg.headers = { \"accept\":\"*/*\",\n \"X-API-KEY\": apikey\n //\"Content-Type\":\"application/json\"\n };\n\nmsg.payload = { //\"device\": \"MINI_SWITCH\",\n //\"enabled\": true,\n //\"name\": \"string\",\n //\"value\": 0\n };\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 280,
"y": 80,
"wires": [
[
"43190488443a1054"
]
]
},
{
"id": "43190488443a1054",
"type": "http request",
"z": "32711f3c08d8be6f",
"name": "",
"method": "POST",
"ret": "txt",
"paytoqs": "ignore",
"url": "http://192.168.0.16/api/v1/controller/0",
"tls": "",
"persist": false,
"proxy": "",
"authType": "",
"senderr": false,
"x": 450,
"y": 80,
"wires": [
[
"373f28e1237f4dfc"
]
]
},
{
"id": "373f28e1237f4dfc",
"type": "debug",
"z": "32711f3c08d8be6f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 80,
"wires": []
},
{
"id": "a5419c8a7f0ed424",
"type": "comment",
"z": "32711f3c08d8be6f",
"name": "init controller",
"info": "",
"x": 110,
"y": 40,
"wires": []
},
{
"id": "6ba2bcc2a8c065ab",
"type": "comment",
"z": "32711f3c08d8be6f",
"name": "init IO",
"info": "",
"x": 90,
"y": 140,
"wires": []
},
{
"id": "a8b299678eb5be11",
"type": "comment",
"z": "32711f3c08d8be6f",
"name": "read IO",
"info": "",
"x": 90,
"y": 300,
"wires": []
}
]

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 25 Aug 2022, 00:14

Deine Nachricht hatte ich noch nicht gesehen - wir schreiben fast zeitgleich...
Ich hab mir aus Swagger nur die CURL Kommandos geholt und diese auf Node-Red umgesetzt.

Mein Node-Red läuft auf einem PC der im selben Netz wie der TXT4 steht - nicht auf dem TXT selbst.
Ich denke bei dir ist das ähnlich.

Der Client der bei dir auf swagger schaut ist "localhost" nicht der TXT4.
Deshalb funktioniert das CURL Kommando bei dir nicht.
Läuft Node-Red auf dem TXT kannst du in der URL des HTTP-Request nodes auch localhost verwenden - ansonsten die IP des TXT4.

Benutzeravatar
baschdl78
Beiträge: 31
Registriert: 26 Jan 2022, 18:37
Wohnort: Karlsruhe

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von baschdl78 » 25 Aug 2022, 00:30

Mit deinen Flows und den Änderungen klappt es. Und über USB und der vordefinierten "USB-IP Adresse" auf des Swagger-Seite dann auch.
Bei localhost habe ich eigentlich "erwartet" der TXT4.0 wäre "automatisch" der localhost da ich ja auf dessen Webserver zugreife auf der die Swagger-Seite liegt, oder? Leider kann ich keine IP-Adresse dort eingeben, es gibt nur die drei "Profile" http://... https:// und eben die 192.168.7.2 für die USB Verbindung. Damit bleibt fürs Testen nur der Zugriff auf den TXT4.0 über USB :-(

Vielen Dank für die Unterstützung bis zu diesem Punkt, der nächste Schritt wäre es dann die Flanken als echten "Trigger" nutzen zu können, aber dafür ist die "Abfrage" der Zustände über die API zu träge.... mal schauen ob ich die von MasterOfGizmo erwähnten Beispiele noch finde oder er noch einen Tip hat.
„Hilf mir, es selbst zu tun. Zeige mir, wie es geht.
Tu es nicht für mich....“
Maria Montessori

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 25 Aug 2022, 06:38

Da der Browser den Code ausführt müsste localhost immer da sein, wo der Browser läuft - huch dann stimmt mein Satz
...Läuft Node-Red auf dem TXT kannst du in der URL des HTTP-Request nodes auch localhost verwenden - ansonsten die IP des TXT4...
auch nicht!

Nimm den Netzwerknamen des TXT in die URL, dann klappt es immer, wenn du für die richtige Namensauflösung sogst.

In der API gibt es auch Befehle die Streams über alle Inputs bzw. Counter zurückliefern - evtl. sind die schneller hab ich noch nicht ausprobiert...

vleeuwen
Beiträge: 1597
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von vleeuwen » 25 Aug 2022, 12:20

An older version of Node Red runs on the TXT4.0 (not the TXT).
It is not possible to install every Node Red add-on on the TXT4.0.
If you place the TXT and/or TXT 4.0 in a local network and also your laptop, it is very easy to work with Node Red on the laptop.

TXT4.0: However, the MQTT Blocklies in RoboPro encoding do not support local MQTT broker.
This TXT4.0 Python code generator is very limited in its capabilities.
With the TXT this is easier to implement.
============================================
Eine ältere Version von Node Red läuft auf dem TXT4.0 (nicht dem TXT).
Es ist nicht möglich, jedes Node Red-Add-On auf dem TXT4.0 zu installieren.
Wenn Sie den TXT und/oder TXT 4.0 in einem lokalen Netzwerk und auch Ihren Laptop platzieren, ist es sehr einfach, mit Node Red auf dem Laptop zu arbeiten.

TXT4.0: Die MQTT-Blocklies in RoboPro-Codierung unterstützen jedoch keinen lokalen MQTT-Broker.
Dieser TXT4.0-Python-Codegenerator ist in seinen Fähigkeiten sehr begrenzt.
Mit dem TXT ist dies einfacher umzusetzen.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

rugee-f
Beiträge: 67
Registriert: 28 Jan 2022, 13:46

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von rugee-f » 25 Aug 2022, 13:47

Hi,vleeuwen
sorry I mixed up my naming of the ft-controller.
All I wrote above was concerning the TXT4 (even when I wrote TXT).

You need not use ROBOPro Coding for writing Python Programs for the TXT4.
I use an Texteditor (Notepad++) and place the *.py file on the TXT4 via WINSCP.

Then I start the Python Prog with an EXEC Node in Node Red.
I think I had this already explained to you in an older Thread.

On the older TXT I was able to Install Node-Red in the factory default firmware.
So I could use my Python Program (MQTT IO/I2C Wrapper) from the TXT4 with slightly adjustments on the TXT. Only the usb camera support via CV2 did not run on the TXT... But performance was very poor.

vleeuwen
Beiträge: 1597
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von vleeuwen » 25 Aug 2022, 19:35

@ rugee-f
I am using MS-Visual Studio code (free) for remote Python development on the TXT4.0.
So I can develop, test en debug remotely on the TXT4.0. and includes also a version management system.
MS-VS code offers a nice support for the libraries and Python syntax.
This is must faster developing then what you are doing.
\Eclipse is also offering a kind of remote developing for Python and C++ but i did not tested this already.

However the connection between MS-VS Code and the TXT4.0 (firmware 3.1.0) is not so stable.
Python is not the best language for embedded programming but it works; the code is slow.
Zuletzt geändert von vleeuwen am 29 Aug 2022, 00:40, insgesamt 1-mal geändert.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Benutzeravatar
MasterOfGizmo
Beiträge: 2725
Registriert: 30 Nov 2014, 07:44

Re: Node-RED | TXT 4.0 | I/O-Direktzugriff

Beitrag von MasterOfGizmo » 25 Aug 2022, 21:24

baschdl78 hat geschrieben:
23 Aug 2022, 01:07
Den "Umweg" über Python und MQTT habe ich schon entdeckt, schick ist er aber nicht wirklich
Ich verstehe nicht ganz, warum Du überhaupt den Umweg über MQTT gehst. Wie man aus Python auf dem TXT4 direkt auf die IOs zugreift zeigt einem doch z.B. RoboPro-Coding. Du klickst Dir ein einfaches Beispiel im Blockly-Editor von RoboPro-Coding zusammen und lässt Dir den erzeugten Python-Code anzeigen. Dort siehst Du dann doch, wie Python-Code aussehen muss, der die IOs direkt bedient.
Arduino für fischertechnik: ftDuino http://ftduino.de, ftDuino32 http://ftduino.de/32

Antworten