1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Scritch

Beiträge von Scritch

  • UDPSend() - einige Fragen

    • Scritch
    • 28. Februar 2016 um 10:17

    Hallo. Ich möchte einen String per UDPSend() an ein anderes Endgerät schicken, z. B. ein Smartphone welches mit einer bestimmten App entsprechende Strings empfangen kann. Ich habe mir das Beispiel angesehen und die Teile extrahiert von denen ich meine, dass ich sie brauche. Leider funktioniert das so nicht. Habe ich etwas übersehen?

    Code
    Local $sIPAddress = "192.168.2.102" ; Ziel-IP
    Local $iPort = 65532 ; Port used for the connection.
    Local $iSocket = UDPOpen($sIPAddress, $iPort)
    UDPSend($iSocket, "toto")

    Oder war das etwas zu minimalistisch gedacht? :)

  • Bluetooth: Kommandos senden

    • Scritch
    • 27. Februar 2016 um 11:09

    Hallo. Ich möchte eine Verbindung von einem PC oder Windows-Tablet mit einem Arduino-Bluetoothmodul herstellen und Befehle senden. Ich habe ein Skript gefunden welches es schafft, Bluetoothgeräte aufzulisten. Gibt es per AutoIt die Möglichkeit, dass man sich mit Bluetoothgeräten verbinden und an diese Daten/Befehle senden kann?

  • @comspec - unsichtbar ausführen?

    • Scritch
    • 27. Februar 2016 um 11:04

    Die Lösung war so naheliegend, dass ich nicht drauf gekommen bin. Danke.

  • @comspec - unsichtbar ausführen?

    • Scritch
    • 26. Februar 2016 um 15:04

    Hallo. Ich gebe einen Kommandozeilenbefehl über @comspec ab. Im Anschluss ploppt ein CMD-Fenster auf und führt mein Kommando aus. Ich möchte aber dass es im Hintergrund oder wenigstens minimiert ausgeführt wird, geht das?

  • Rückgabe von Inhalten aus einem CMP-Prompt

    • Scritch
    • 26. Februar 2015 um 09:26

    Das tut es, danke dir.

  • Rückgabe von Inhalten aus einem CMP-Prompt

    • Scritch
    • 24. Februar 2015 um 10:51

    Hallo. Ich möchte gerne einen CMD-Befehl in AutoIt absetzen. Wie das geht ist in diesem Thread ja schon beschrieben: Wie aknn ich in Autoit CMD befehle ausführen lassen?
    Wie aber lasse ich mir etwas zurückgeben, wenn ich z. B. einen "tasklist" durchführen möchte? Oder muss ich das immer in eine Textdatei ausgeben lassen und die dann einlesen, weiterverarbeiten, etc.?

  • Mehrdimensionale Arrays

    • Scritch
    • 24. Februar 2015 um 10:45

    Das kannst du auf verschiedene Arten machen. Was willst du denn in dem Array haben, für welche Anwendung brauchst du es?

  • Combo - Rückgabe der Nummer des ausgewählten Eintrages

    • Scritch
    • 8. Januar 2015 um 19:49

    Perfekt, das was ich gesucht habe. Danke dir :)

  • Combo - Rückgabe der Nummer des ausgewählten Eintrages

    • Scritch
    • 8. Januar 2015 um 19:26

    Hallo. Ich habe eine Combobox z. B. so:
    Item 1
    Item 2
    Item 3

    Was gerade ausgewählt wurde, kann ich ja mit GUICtrlRead auslesen. Als Rückgabe bekomme ich so z. B. "Item 2". Ich möchte jetzt aber nicht den String, sondern nur die Nummer des Eintrages, in diesem Beispiel also "2" zurück erhalten. Wie bewerkstellige ich dies?

  • Hex Farbwerte nach RGB umrechnen

    • Scritch
    • 27. Dezember 2014 um 13:17

    Supi, das hat mir geholfen, danke dir.

  • Hex Farbwerte nach RGB umrechnen

    • Scritch
    • 27. Dezember 2014 um 00:53

    Hallo. Es gibt ja in AutoIt die schöne Funktion _ColorGetRGB mit der man einen HEX-Farbwert in einen RGB-Farbwert umrechnen kann. Nun brauche ich aber auch das genaue Gegenteil, nämlich dass ich aus drei RGB-Farbwerten einen HEX-Farbwert erstellen kann. Irgendwie gibt die Funktion die von HEX nach RGB umrechnente keinen Aufschluss darüber, wie ich das ganz in die andere Richtung rechnen kann. Irgendwelche Tipps?

    [autoit]

    Func _ColorGetRGB($nColor, $iCurExt = @extended)
    If BitAND($nColor, 0xFF000000) Then Return SetError(1, 0, 0) ; invalid color value
    Local $aColor[3]
    $aColor[0] = BitAND(BitShift($nColor, 16), 0xFF)
    $aColor[1] = BitAND(BitShift($nColor, 8), 0xFF)
    $aColor[2] = BitAND($nColor, 0xFF)
    Return SetExtended($iCurExt, $aColor)
    EndFunc ;==>_ColorGetRGB

    [/autoit]

    Edit: Okay, kurz nach dem absenden ist es mir auch eingefallen nach was man googlen sollte: http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm
    Hier wird das Rechenshema gut beschrieben. Bevor ich mich aber jetzt etwas entsprechend zusammenschustere, kann AutoIt das nativ umrechnen?

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 7. November 2014 um 19:55

    Alles klar, danke dir. Das hilft mir weiter :)

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 29. Oktober 2014 um 21:40

    Okay. Ich dachte halt da es auch Arduinotechnischer Natur ist klären wir das lieber privat.

    Also, das hier ist dein Code:

    Spoiler anzeigen
    Code
    const int rot = 6; // analog Pin 6
    const int gruen = 5; // analog Pin 5
    const int blau = 3; // analog Pin 3
    void setup() {  
      pinMode(rot, OUTPUT); // OUTPUT
      pinMode(gruen, OUTPUT); // OUTPUT
      pinMode(blau, OUTPUT); // OUTPUT
      Serial.begin(9600); // Serial.begin
    }
    /* 
        Was passiert:
    
    
        AutoIT Schickt erst den Buchstaben dann den Wert.
    
    
        Ablauf ---->
        - AutoIT schickt Wert -> Daten empfangen Serial also größer 0
        - wenn gelesener Byte = R -> case 'R'
        - keine Datenempfangen Serial kleiner 1
        - while -> warte da keine Empfangen werden ist kleiner 1
        - AutoIt schickt Wert -> 0-255
        - Daten werden Empfangen also größer 1 -> While weiter
        - analogWrite Wert
        - break -> raus aus dem case
    */
    void loop() {
      if (Serial.available() > 0) { // werden Daten empfangen?
        switch(Serial.read()) { // Serial auslesen + Switch  
          case 'R': // wenn R dann
            while (Serial.available() < 1) ;
            analogWrite(rot, Serial.read()); // analogWrite Serial.
            break;
          case 'G': // wenn R dann
            while (Serial.available() < 1) ;
            analogWrite(gruen,  Serial.read());
            break;
          case 'B': // wenn R dann
            while (Serial.available() < 1) ;
            analogWrite(blau,  Serial.read());
            break;
        }
      }
    }
    Alles anzeigen


    Per Autoit schickst du ja erst den Buchstaben für die Farbe, und dann den Wert hinterher. Solange du den Schieber für eine Farbe betätigt wird, wird quasi immer abwechselnd z. B. "R" "125" "R" "125" "R" "125" gesendet. Im Arduinocode fragst du diesen Strom nun ab, soweit klar. Mit deinem switch(Serial.read()) { fragst du ja quasi den seriellen Strom ab. Was genau wird denn hier abgefragt, immer das erste Byte welches gerade gesendet wurde, also quasi erst das Kürzel für Farbe? Und sofern gerade "G" gesendet wurde, greift die entsprechende Case-Anweisung. Dort machst du dann das nächste Serial.Read: analogWrite(rot, Serial.read());
    Liest das dann das nächste Byte im Datenstrom? Also das Byte, welches den Wert "125" enthält? Oder ist es Zufall welches Byte gelesen wird? Oder anders gefragt: Wenn ich alle Bytes eines seriellen Datenstroms auslesen möchte, muss ich dann für jedes Byte ein separates serial.read(); machen?

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 28. Oktober 2014 um 08:34

    @Kilroy: Ich habe dir bereits eine private Nachricht geschrieben, weil ich noch Fragen zu deinem Arduino-Sketch habe. Ich bräuchte da bitte eine kurze Erläuterung zu :)

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 19. Oktober 2014 um 20:15

    Danke für eure ganzen Lösungsansätze. In abgewandelter Form funktioniert die Vorlage von Kilroy schon sehr gut.

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 19. Oktober 2014 um 17:24

    Okay, gut zu wissen. Allerdings wäre es dann nett von dir, wenn du zu deinem Ansatz nochmal etwas sagen könntest. Dein Beispiel verstehe ich nicht. Wie kann ich darüber z. B. den String "255" senden sodass er von serial.read() auch als "255" gelesen wird?

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 19. Oktober 2014 um 16:38

    So! Es funktioniert, aber nicht so wie es soll. Ich habe es gerade mal mit dem Example probiert aus dem Forum. Wenn ich nun einen String Sende über das Example per

    [autoit]

    _CommSendstring

    [/autoit]


    und diesen String am µController empfange, dann setzt der Controller etwas um, aber nicht das, was gesendet wurde. Mein Arduino-Code sieht folgendermaßen aus:

    Spoiler anzeigen
    C
    //rgb_led
    
    
    // NeoPixel Ring simple sketch (c) 2013 Shae Erisson
    // released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library
    #include <Adafruit_NeoPixel.h>
    
    
    // Which pin on the Arduino is connected to the NeoPixels?
    #define PIN_vorne            9
    
    
    // How many NeoPixels are attached to the Arduino?
    #define NUMPIXELS      6
    
    
    // When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
    // Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
    // example for more information on possible values.
    Adafruit_NeoPixel pixels_vorne = Adafruit_NeoPixel(NUMPIXELS, PIN_vorne, NEO_GRB + NEO_KHZ800);
    
    
    int incomingByte = 0;   // for incoming serial data
    
    
    //------------------------------------------------------------------------------------------------
    void setup() { //Beginn des Setups
      pixels_vorne.begin(); // This initializes the NeoPixel library.
    
    
      //pinMode(rx_signal_pin_throttle, INPUT);
      Serial.begin(9600);    // initalisierung der seriellen Schnittstelle  
    }
    //------------------------------------------------------------------------------------------------
    
    
    void loop() {    //hauptschleife
      if (Serial.available() > 0) {
              // read the incoming byte:
        incomingByte = Serial.read();
       }
    
    
      pixels_vorne.setPixelColor(1, pixels_vorne.Color(0, incomingByte, 0)); // Hier müsste die Farbe gesetzt werden, die per Serial.read() (dem gesendeten String) gesendet wird.
      pixels_vorne.show(); // This sends the updated pixel color to the hardware.
    
    
    }
    Alles anzeigen

    Ich habe die Zeile mal entsprechend kommentiert in der die Farbe der RGB-LED gesetzt wird.

    Code
    pixels_vorne.setPixelColor(1, pixels_vorne.Color(0, incomingByte, 0));


    Setzt die Farbe der LED. Wichtig ist (0, incomingByte, 0), das setzt die Farbe.
    Anteile Rot: 0
    Anteile grün: Wird aus dem serial.read() gelesen
    Anteile blau: 0

    Wenn ich nun also über den Example-Sketch 255 sende, sollte die grüne LED mit voller Leuchtkraft leuchten. Sie glimmt aber nur etwas. Per serial.read() wird also irgendwas empfangen, aber nicht die 255 die ich gesendet habe. Wieso nicht?

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 19. Oktober 2014 um 13:45

    Über die Seite bin ich bei meiner Suche auch gestolpert. Ich hatte eigentlich gehofft dass igendwo mal etwas anhand von Beispielen gezeigt wird. War bisher aber nicht so. Ich habe mir die UDF mal heruntergeladen und schaue da gleich mal rein. Kannst du mir ggf. schonmal vorab irgendwelchen hilfreichen Tipps auf den Weg geben?

  • Arduino steuern per AutoIt-GUI

    • Scritch
    • 19. Oktober 2014 um 13:18

    Hallo. Ich möchte gerne einen Arduino µController per AutoIt GUI steuern. Am Beispiel gezeigt:
    Ich habe RGB-LED-Stripes zu Hause. Diese kann man per Steuerung mit einem µController in verschiedenen Farben zum Leuchten bringen. Damit man sie in einer bestimmten Farbe leuchten lässt kann man sie mit RGB-Farben "füttern". Sprich sende ich 255, 255, 255 so leuchtet sie weiß. Diese Farbe möchte ich jetzt z. B. mit drei Schiebereglern in der GUI von AutoIt verändern können. Ich muss ja nun irgendwie ein Kommando über die serielle Schnittstelle versenden können - wie bewerkstellige ich dies?

  • Event bei Klick auf ListView-Eintrag

    • Scritch
    • 27. Januar 2014 um 13:37

    Ah, danke. Das ist es wohl, was ich gesucht habe: $LVS_EX_ONECLICKACTIVATE - Das Control sendet eine $LVN_ITEMACTIVATE Nachricht wenn der Benutzer ein Item anklickt. Wie kann ich denn die gesendete Nachricht "auswerten" und darauf reagieren?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™