Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Fibs

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    F
    • Profile
    • Following 2
    • Followers 0
    • Topics 1
    • Posts 17
    • Best 0
    • Groups 1

    Fibs

    @Fibs

    Starter

    0
    Reputation
    5
    Profile views
    17
    Posts
    0
    Followers
    2
    Following
    Joined Last Online

    Fibs Follow
    Starter

    Latest posts made by Fibs

    • RE: Python3 Skript in Iobroker einbinden

      @fibs

      on({id: "javascript.0.GPIOSteuerung.Ausfuehren", change: "any"}, function (obj) {
      var Spielfeldlaenge = getState("javascript.0.GPIOSteuerung.Spielfeldlaenge").val;
      var Spielfeldbreite = getState("javascript.0.GPIOSteuerung.Spielfeldbreite").val;
      var Torlaenge = getState("javascript.0.GPIOSteuerung.Torlaenge").val;
      console.log("führe aus: " + 'python3 /Desktop/iobroker/DA/Main.py ' + Spielfeldlaenge + ' ' + Spielfeldbreite + ' ' + Torlaenge)
      exec('python3 /Desktop/iobroker/DA/Main.py ' + Spielfeldlaenge + ' ' + Spielfeldbreite + ' ' + Torlaenge, function (error, stdout, stderr) {
      console.log('*** stdout: ' + stdout);
      if (error !== null) {
      console.log('*** stderr: ' + error);
      }
      });
      });

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @fibs said in Python3 Skript in Iobroker einbinden:

      import sys
      import RPi.GPIO as GPIO
      import time
      import datetime
      import math
      Anzahl Argumente prüfen
      if len(sys.argv) != 4:
      print("*** Wrong number of script arguments.")
      print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
      quit(-1)
      def is_float(element: any) -> bool:
      #If you expect None to be passed:
      if element is None:
      return False
      try:
      float(element)
      return True
      except ValueError:
      return False
      print("Total arguments passed:", len(sys.argv))
      in1 = 24
      in2 = 23 #Motor links
      en1 = 25
      in3 = 22
      in4 = 27#Motor rechts
      en2 = 17
      temp1=1
      #Reifen außen zu außen 45 cm
      #Reifen innen zu innen 35 cm
      #Linienbreite 10 cm
      GPIO.setmode(GPIO.BCM)
      GPIO.setup(in1,GPIO.OUT)
      GPIO.setup(in2,GPIO.OUT)
      GPIO.setup(en1,GPIO.OUT)
      GPIO.output(in1,GPIO.LOW)
      GPIO.output(in2,GPIO.LOW)
      GPIO.setup(in3,GPIO.OUT)
      GPIO.setup(in4,GPIO.OUT)
      GPIO.setup(en2,GPIO.OUT)
      GPIO.output(in3,GPIO.LOW)
      GPIO.output(in4,GPIO.LOW)
      p1=GPIO.PWM(en1,1000)
      p2=GPIO.PWM(en2,1000)
      p1.start(50) #Motor 1 Startgeschwindigkeit
      p2.start(50) #Motor 2 Startgeschwindigkeit
      l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
      l = float(l)
      print("Eingegeben wurde: " + str(l))
      L = l/11
      print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle
      b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
      b = float(b)
      print("Eingegeben wurde: " + str(l))
      B = b/11
      print("Benötigte Zeit in s: " + str(B))
      t = input("Bitte geben Sie die Torlaenge in cm ein: ")
      t = float(t)
      print("Eingegeben wurde: " + str(l))
      T = t/11
      s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
      s = float(s)
      print("Eingegeben wurde: " + str(s))
      S = s/11
      print("Benötigte Zeit in s: " + str(S))
      Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
      start = datetime.datetime.now()
      while datetime.datetime.now()-start < Str1:
      if(temp1==1): GPIO.output(in1,GPIO.HIGH)
      GPIO.output(in2,GPIO.LOW)
      GPIO.output(in3,GPIO.HIGH)
      GPIO.output(in4,GPIO.LOW)
      print("Str1") time.sleep(1)
      GPIO.cleanup()

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1 ```
      import sys
      import RPi.GPIO as GPIO
      import time
      import datetime
      import math

      Anzahl Argumente prüfen

      if len(sys.argv) != 4:
      print("*** Wrong number of script arguments.")
      print("f*** call example: {sys.argv[0]} <<Spielfeldlaenge>> <<Spielfeldbreite>> <<Torlaenge>>")
      quit(-1)

      def is_float(element: any) -> bool:
      #If you expect None to be passed:
      if element is None:
      return False
      try:
      float(element)
      return True
      except ValueError:
      return False

      print("Total arguments passed:", len(sys.argv))

      in1 = 24
      in2 = 23 #Motor links
      en1 = 25

      in3 = 22
      in4 = 27#Motor rechts
      en2 = 17
      temp1=1
      #Reifen außen zu außen 45 cm
      #Reifen innen zu innen 35 cm
      #Linienbreite 10 cm
      GPIO.setmode(GPIO.BCM)

      GPIO.setup(in1,GPIO.OUT)
      GPIO.setup(in2,GPIO.OUT)
      GPIO.setup(en1,GPIO.OUT)
      GPIO.output(in1,GPIO.LOW)
      GPIO.output(in2,GPIO.LOW)

      GPIO.setup(in3,GPIO.OUT)
      GPIO.setup(in4,GPIO.OUT)
      GPIO.setup(en2,GPIO.OUT)
      GPIO.output(in3,GPIO.LOW)
      GPIO.output(in4,GPIO.LOW)

      p1=GPIO.PWM(en1,1000)
      p2=GPIO.PWM(en2,1000)

      p1.start(50) #Motor 1 Startgeschwindigkeit
      p2.start(50) #Motor 2 Startgeschwindigkeit

      l = input("Bitte geben Sie die Spielfeldlaenge in cm ein: ")
      l = float(l)
      print("Eingegeben wurde: " + str(l))
      L = l/11
      print("Benötigte Zeit in s: " + str(L)) # Nur für mich Kontrolle

      b = input("Bitte geben Sie die Spielfeldbreite in cm ein: ")
      b = float(b)
      print("Eingegeben wurde: " + str(l))
      B = b/11
      print("Benötigte Zeit in s: " + str(B))

      t = input("Bitte geben Sie die Torlaenge in cm ein: ")
      t = float(t)
      print("Eingegeben wurde: " + str(l))
      T = t/11

      s = input("Bitte geben Sie die Entfernung von Torstange zu 16ner Ecke in cm ein: ")
      s = float(s)
      print("Eingegeben wurde: " + str(s))
      S = s/11
      print("Benötigte Zeit in s: " + str(S))

      Str1 = datetime.timedelta(seconds=L) # Fährt eingegeben Strecke
      start = datetime.datetime.now()

      while datetime.datetime.now()-start < Str1:

      if(temp1==1):  
         GPIO.output(in1,GPIO.HIGH)
         GPIO.output(in2,GPIO.LOW)           #Sprühen
         GPIO.output(in3,GPIO.HIGH)
         GPIO.output(in4,GPIO.LOW)
         print("Str1")
         time.sleep(1)
      

      GPIO.cleanup()

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @fibs a5951760-0555-4c92-af62-46467ab3b6b3-image.png
      Ich habe den Button über Objekte betätigt, das ist e egal oder?

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1
      Ich habe Zeile 10 ausgeklammert und das Programm manuell gestartet. Anders funktionierts noch nicht.

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1 Aber grundsätzlich sollen die Motoren starten wenn ich den Button in der visu drücke oder muss ich noch irgendwas beachten?

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1 Hä warte mal, kann das so überhaupt funktionieren mit den Datenpunkten Spielfeldlaenge, Spielfeldbreite und Torlaenge. Die Variablen in meinem Projekt heißen ja, l,b, und t . Die Namen kommen nur einmal vor und zwar bei der Aufforderung was einzugeben ist.

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1 Es ist der gleiche Code den du mir oben genannt hast. Er arbeitet den Code bis Zeile 10 durch.

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1
      Der Log Bereich sieht soweit gut aus. 9f0da957-87b6-4f0c-85b4-28dc14fe0fac-image.png
      aber es bewegt sich nichts. Wenn ich das Programm auf dem rpi direkt starte bekomme ich den Fehler "Process ended with exit code 255"

      posted in JavaScript
      F
      Fibs
    • RE: Python3 Skript in Iobroker einbinden

      @rrov1 Irgendwo habe ich noch einen Fehler, habe alles so wie oben durchgeführt und bekomme auch keine Fehlermeldungen. Hier noch mein Log vllt findest du noch etwas aber irgendwas passt mit dem pfad nicht aber ich weiß nicht was.

      2c89ca95-e424-43c4-abe3-06067b8afc8c-image.png

      posted in JavaScript
      F
      Fibs
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo