Jump to content

Fabio

Members
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von Fabio

  1. Update 1.3

    Unterstützung für folgende Bricklet´s wurde ergänzt:

     

    -Remote Switch Bricklet 2.0

    -Motion Detector Bricklet 2.0

    -Analog In Bricklet 3.0

    -NFC Bricklet

    -Temperature IR Bricklet 2.0

    -Rotary Encoder Bricklet 2.0

    -Solid State Relay Bricklet 2.0

    -Outdoor Weather Bricklet

    -DMX Bricklet, Humidity Bricklet 2.0

    -Motorized Linear Poti Bricklet

    -RGB LED Button Bricklet

    -RGB LED Matrix Bricklet

    -Thermal Imaging Bricklet

     

  2. Hallo zusammen,

     

    ich bin ein großer Fan des Tinkerforge Baukastensystems. Außerdem programmiere ich fast ausschließlich in C#. Leider finde ich die C# API nicht besonders komfortabel, was wie ich denke auf die vielen Methoden mit „out“-Parametren zurückzuführen ist. Microsoft bzw. das C# Team haben das erkannt und mit .net 4.7 und C# Version 7 (Windows 10 Creators Update) das Problem behoben.

     

    Daher möchte ich nun hier meine C# Plugin für .net 4.7 vorstellen. Diese Erweiterung fügt für alle Methoden aus der Tinkerfoge API für .net eine Methoden-Überschreibung hinzu. Es handelt sich um keine neue API sondern um eine API-Erweiterung. Es wird weiterhin die Basis-DLL benötigt.

     

    Beispiel für C#:

     

    var ipcon = new IPConnection(); // Create IP connection
    var io = new BrickletIO4("h2R", ipcon); // Create device object
    ipcon.Connect("localhost", 4223); // Connect to brickd
    
    //Old Style
    io.GetMonoflop(0, out byte value, out long time, out long timeRemaining);
    Console.WriteLine("Remaining time: " + timeRemaining);
    
    //New Style            
    Console.WriteLine("Remaining time: " + io.GetMonoflop(0).TimeRemaining);
                
    ipcon.Disconnect();
    Console.WriteLine("Press enter to exit...");
    Console.ReadKey();
    

     

    Beispiel VB.net:

     

    Dim ipcon = New IPConnection
    Dim io = New BrickletIO4("h2R", ipcon) ' Create device object
    ipcon.Connect("localhost", 4223) ' Connect to brickd
    
    'Old Style
    Dim value As Byte
    Dim time As Long
    Dim timeRemaining As Long
    io.GetMonoflop(0, value:=value, time:=time, timeRemaining:=timeRemaining)
    Console.WriteLine("Remaining time: " + timeRemaining.ToString())
    
    'New Style            
    Console.WriteLine("Remaining time: " + io.GetMonoflop(0).TimeRemaining.ToString())
    
    
    ipcon.Disconnect()
    Console.WriteLine("Press enter to exit...")
    Console.ReadKey()
    

     

    Ich kenne mich leider mit Mono nicht aus, daher kann ich nicht sagen, ob das kompatibel ist.

     

    Fragen und Kommentare sind willkommen! :)

    TinkerforgeNetPlus47.zip

    TinkerforgeNetPlus47.dll

  3. Hallo,

     

    habe im Moment folgendes Problem. Wenn ich mit dem Brickv 2.3.4 zu meinem Master Brick und meinen Dual Buttons verbinde funktioniert alles einwandfrei. Nun bin ich dabei mich mit der API vertraut zu machen und bin aber auf folgendes Problem gestoßen an dem ich nicht weiter komme.

    In meinem relativ einfachen C# Quellcode zum Testen, passiert jedoch nichts. Es werden im Code keine Fehler geworfen, aber im Brickd 2.2.3 LogViewer und auch im Windows eigenen Eventlog habe ich Fehler die mir persönlich keinen Aufschluss über das Problem geben. Die Fehlermeldung sieht wie folgt aus:

    Could not receive from client (N: 127.0.0.1:52066, T: plain-socket, H: 948, A: disabled), disconnecting client: WSAECONNRESET (71010054)

     

    Update: Hab noch folgende Warnung gefunden: Read transfer 009FC368 for Master Brick [6Dc6k8] got stalled

     

    Kann mir jemand sagen was ich falsch mache?

    Mein Quellcode:

           var IP = new IPConnection();
           var Button = new BrickletDualButton("mMT", IP);
           IP.Connect("127.0.0.1", 4223);            
           Button.SetLEDState(0, 0);
           IP.Disconnect();

     

  4. Hallo,

     

    nach dem ich nun meine ersten Module erfolgreich zum laufen bekommen habe stehe ich nun aber vor einem Problem.

     

    Im aktuell geplantem Fall sollen mehrere Stapel an einem PC über USB angeschlossen werden. Das ist meine erste Frage:

    Ist es möglich mehrere Stapel über USB an einen PC anzuschließen? Ich persönlich denke dann müsste ich die Ports über die die Kommunikation läuft ändern. Das ist meine zweite Frage: Wie kann ich meine Master Bricks dazu bringen auf einen anderen Port zu hören als 4223?

     

    Vielen Dank für die Unterstützung!

     

    Beste Grüße Fabio

×
×
  • Neu erstellen...