olli2ardumower
Member
Hallo Zusammen,
heute wollte ich mal meine fortschritte bezüglich der Anbindung meines PS3 Controller teilen.
Zur Zeit arbeite ich mit einen Zero W mit USB HUB HAT
https://www.amazon.de/Waveshare-USB...4747&sr=1-2-catcorr&keywords=zero+USB+HUB+HAT
diesen benutze ich für das CC zur Kommunikation mit dem DUE und mit einem Seriell Konverter für meinen Kartenleser (HZ-1050 rfid Modul) zum tracken an der Schleife.
https://www.amazon.de/gp/product/B072K3Z3TL/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 https://www.amazon.de/UIOTEC-HZ-105...1546775567&sr=8-2&keywords=HZ-1050+rfid+Modul
das lauft alles super mit node-RED die Tags werden erfasst und das CC führt eine Aktion aus! (zB dreh nach rechts für 1sec dann fahre geradeaus für 3sec und suche dann die schleife zur Home fahrt als Abkürzung!)
das läuft schon alles gut dem mini !
jetzt wollte ich noch unseren alten PS3 Controller kompatibel machen.
Dazu habe ich das Pairing nach dieser Anleitung durchgeführt, allerdings mit der OnBoard BT-Schnittstelle.
https://custom-build-robots.com/ras...-einrichten-am-raspberry-pi-mit-raspbian/9909
dazu brauchte mein Zero noch die sudo apt-get install Joystick um jstest /dev/input/js0 ausführen zu können.
Dann habe ich im node-RED im exec Modul den jstest /dev/input/js0 ausgeführt und schwupp sind die Joystick daten im node-RED.
Hier mein Test Flow:
[{"id":"fba36ee3.60da6","type":"tab","label":"Flow 1"},{"id":"b68e7b83.4f8f58","type":"inject","z":"fba36ee3.60da6","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":194.5,"y":59,"wires":[["ac984cbb.dab8e"]]},{"id":"41462ba1.935a94","type":"debug","z":"fba36ee3.60da6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":910.5,"y":198,"wires":[]},{"id":"ac984cbb.dab8e","type":"exec","z":"fba36ee3.60da6","command":"jstest /dev/input/js0","addpay":false,"append":"","useSpawn":"true","timer":"","oldrc":false,"name":"","x":178.5,"y":171.5,"wires":[["74257b01.8ba1f4"],["d4eec49f.794b18"],[]]},{"id":"74257b01.8ba1f4","type":"function","z":"fba36ee3.60da6","name":"js","func":"var jsbegin = msg.payload.toString().search("");nnif (jsbegin == -1){n n}nelse{n n var output = msg.payload.split(":");nnaxesY = {payloadarseInt(output[2])};nnreturn [axesY];nnn}n","outputs":1,"noerr":0,"x":437,"y":94,"wires":[["750147d7.cd3088"]]},{"id":"750147d7.cd3088","type":"range","z":"fba36ee3.60da6","minin":"-32767","maxin":"32767","minout":"-25","maxout":"25","action":"scale","round":true,"property":"payload","name":"","x":620.5,"y":95,"wires":[["41462ba1.935a94"]]},{"id":"d4eec49f.794b18","type":"debug","z":"fba36ee3.60da6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":172.5,"y":308,"wires":[]}]
So jetzt zu meinen Problem:
Sollte ich versuchen die payload Ausgabe für meine Axes zu trennen/splitten oder so?
oder macht es mehr sinn mit python Code wie zB der von diddyborg anzupassen so das man direkt das richtige Format hat.
https://www.piborg.org/blog/build/diddyborg-v2-build/diddyborg-v2-examples-joystick-control
einen python Code kann man auch wunderbar mit node-RED ausgeben, über node-red-contrib-pythonshell
https://flows.nodered.org/node/node-red-contrib-pythonshell
naja jetzt wird es allerdings für mich zu kompiliert mit der Anpassung des payload
da hoffe ich auf Unterstützung von euch.
heute wollte ich mal meine fortschritte bezüglich der Anbindung meines PS3 Controller teilen.
Zur Zeit arbeite ich mit einen Zero W mit USB HUB HAT
https://www.amazon.de/Waveshare-USB...4747&sr=1-2-catcorr&keywords=zero+USB+HUB+HAT
diesen benutze ich für das CC zur Kommunikation mit dem DUE und mit einem Seriell Konverter für meinen Kartenleser (HZ-1050 rfid Modul) zum tracken an der Schleife.
https://www.amazon.de/gp/product/B072K3Z3TL/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 https://www.amazon.de/UIOTEC-HZ-105...1546775567&sr=8-2&keywords=HZ-1050+rfid+Modul
das lauft alles super mit node-RED die Tags werden erfasst und das CC führt eine Aktion aus! (zB dreh nach rechts für 1sec dann fahre geradeaus für 3sec und suche dann die schleife zur Home fahrt als Abkürzung!)
das läuft schon alles gut dem mini !
jetzt wollte ich noch unseren alten PS3 Controller kompatibel machen.
Dazu habe ich das Pairing nach dieser Anleitung durchgeführt, allerdings mit der OnBoard BT-Schnittstelle.
https://custom-build-robots.com/ras...-einrichten-am-raspberry-pi-mit-raspbian/9909
dazu brauchte mein Zero noch die sudo apt-get install Joystick um jstest /dev/input/js0 ausführen zu können.
Dann habe ich im node-RED im exec Modul den jstest /dev/input/js0 ausgeführt und schwupp sind die Joystick daten im node-RED.
Hier mein Test Flow:
[{"id":"fba36ee3.60da6","type":"tab","label":"Flow 1"},{"id":"b68e7b83.4f8f58","type":"inject","z":"fba36ee3.60da6","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":194.5,"y":59,"wires":[["ac984cbb.dab8e"]]},{"id":"41462ba1.935a94","type":"debug","z":"fba36ee3.60da6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":910.5,"y":198,"wires":[]},{"id":"ac984cbb.dab8e","type":"exec","z":"fba36ee3.60da6","command":"jstest /dev/input/js0","addpay":false,"append":"","useSpawn":"true","timer":"","oldrc":false,"name":"","x":178.5,"y":171.5,"wires":[["74257b01.8ba1f4"],["d4eec49f.794b18"],[]]},{"id":"74257b01.8ba1f4","type":"function","z":"fba36ee3.60da6","name":"js","func":"var jsbegin = msg.payload.toString().search("");nnif (jsbegin == -1){n n}nelse{n n var output = msg.payload.split(":");nnaxesY = {payloadarseInt(output[2])};nnreturn [axesY];nnn}n","outputs":1,"noerr":0,"x":437,"y":94,"wires":[["750147d7.cd3088"]]},{"id":"750147d7.cd3088","type":"range","z":"fba36ee3.60da6","minin":"-32767","maxin":"32767","minout":"-25","maxout":"25","action":"scale","round":true,"property":"payload","name":"","x":620.5,"y":95,"wires":[["41462ba1.935a94"]]},{"id":"d4eec49f.794b18","type":"debug","z":"fba36ee3.60da6","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":172.5,"y":308,"wires":[]}]
So jetzt zu meinen Problem:
Sollte ich versuchen die payload Ausgabe für meine Axes zu trennen/splitten oder so?
oder macht es mehr sinn mit python Code wie zB der von diddyborg anzupassen so das man direkt das richtige Format hat.
https://www.piborg.org/blog/build/diddyborg-v2-build/diddyborg-v2-examples-joystick-control
einen python Code kann man auch wunderbar mit node-RED ausgeben, über node-red-contrib-pythonshell
https://flows.nodered.org/node/node-red-contrib-pythonshell
naja jetzt wird es allerdings für mich zu kompiliert mit der Anpassung des payload
da hoffe ich auf Unterstützung von euch.