Günstige (und bessere) alternative zur IR Extension

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Robert L.
    MS Profi
    • 26.08.2015
    • 922

    #1

    Günstige (und bessere) alternative zur IR Extension

    Hier soll ein HowTo für eine IR Extension entstehen, das ganz bitte also eher als Platzhalter betrachten.


    Ich suche "Mitarbeiter" die sich an der Geschichte beteiligen.


    Das ganze ist OpenSouce

    Download IRtoUDP for free. IR Wollmilchsau. IR (infrared) Receiver/Sender/Proxy to UPD and back to be uses as IR Extension for loxone home automation system



    Basierend auf einem Arduino UNO (Clone)
    einem W5100 Shield (Clone)
    und eine IR Sender/Empfänder Set
    kostet das ganze ziemlich genau 10€


    Was schon funktioniert:
    IR Befehle empfangen und per UDP an den Miniserver schicken
    per UDP vom Miniserver IR Befehle senden
    empfangene IR Befehle gleichzeitig wieder Senden (IR -Verländerung), über bis zu 3? (oder 4) IR LED

    das ganze für NEC Fernbedienungen (kurioserweise verwenden 99% der Fernbedienungen wohl diesen Code)

    es funktioniert also noch nicht mit Panasonic (warum weiß ich nicht)
    und generell mit "RAW" Code..

    Hier wäre dann eben beteiligung der Comunity interessant, die andere Fernbedienungen (Klimaanlage?) ergänzen..
    z.b. Sony sollte recht einfach sein..

    Der Code besteht z.Z. nur aus ein paar Zeilen, die man aber ruhig etwas "aufräumen" könnte.


    Anregungen (HTTP interface, Sicherheit? usw.) werden gerne angenommen..


    voll funktionsfähiger Prototyp siehe Bilder
    nächster Schritt wird ein "Shield" zum besseren anbinden der Sender/Empfänger..

    Ideen, wie man ein Gehäuse dafür baut, dass dann nicht doppelt soviel kostet wie der Rest , werden auch gerne aufgeriffen.


    ps. ich würde es dann auch ins LoxWiki aufnehmen, hab aber keine passenden Platz gefunden, wenn das wer übernehmen will, gerne..
  • Tobias S.
    Smart Home'r
    • 05.09.2015
    • 59

    #2
    Ich hatte auch schon mal die Idee ein IR-Set selber zu bauen, habe das Projekt dann aber aus Zeitgründen aus den Augen verloren.

    Ich würde das ganze auf Basis einen NodeMCU aufbauen. Kostet bei E-bay 10€, nur ein viertel groß wie der Arduino und mit WiFi integriert. Das Teil kann man auch wunderbar mit Arduino Software programmieren. Ich werde mir mal ein IR-Set besorgen und schauen ob ich ein bischen Zeit finde
    P.S. den NobeMCU kann man auch wunderbar als Proxy Ein-/Ausgang (z.B. für Bewegungsmelder oder Temp. Sensoren) verwenden. So wird jedes Gerät für 10€ zum AIR Gerät!

    Kommentar

    • Robert L.
      MS Profi
      • 26.08.2015
      • 922

      #3
      ich hab mir auch ESP8266 basiete Dinger (Wemos / WeMos D1) bestellt, müsste in den nächsten tagen ankommen (kosten auch unter 10€)
      scheint sowas ähnliches zu sei wie die NodeMCU...


      ich wollte in dem Fall aber bewusst etwas mit kabel..

      wenn es wer auf WiFi portiert hab ich aber sicher kein Problem damit, ...

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6318

        #4
        Hallo Robert,

        Bist Du Dir sicher, dass Deine gezeigte Version von der Sendeleistung tatsächlich besser ist als die Loxone Varianten? Mit wie viel Strom kannst Du denn den Arduino denn belasten? Ich sehe da eher noch nen Transistor dazwischen.

        Gruß Sven
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • Robert L.
          MS Profi
          • 26.08.2015
          • 922

          #5
          nein, mit besser war alles gemeint, aber nicht die Sendeleistung..
          davon hab ich keine Ahnung (noch nicht getestet,..)

          der Ausgang eines Arduino hat 5V und darf mit bis zu 40mA belastet werden..
          gemessen (mit 330Ohm Widerstand) hab ich 10mA bei meiner led..


          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6318

            #6
            Siehst Du ;-), dann hab ich schonmal nen Tipp für Dich. Die IR-LED muss schon mit 300mA aufwärts gepulst werden um damit an die Sendeleistung einer normalen Fernbedienung ranzukommen. Bei normalen Fernbedienungen, die haben ja meistens 2 Rundzellen, wird ganz auf den Vorwiderstand verzichtet und der Strom nur den Innenwiderstand der Batterien begrenzt. Bei den 5V habe ich nur einen ganz geringen Vorwiderstand eingesetzt. Muss nochmal nachsehen.

            Gruß Sven
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar

            • Robert L.
              MS Profi
              • 26.08.2015
              • 922

              #7
              danke für den Tip
              ja das wusste ich noch nicht..

              ganz so dramatisch sehe ich das aber nicht,
              ist ja keine Fernbedinung mit variablem Sendeort..

              die LED kann man ja doch oft in unmittelbarer nähe zum Empfänger anbringen (oder zumindest in direktem sichtkontakt)

              ansonsten hab ich eine Sack voller BC 547 C im Keller gefunden

              davon werde ich dann wohl welche auf mein Shield mit drauf bauen (alleine schon um den Ausgang nicht so sehr zu belasten..)

              Kommentar

              • svethi
                Lebende Foren Legende
                • 25.08.2015
                • 6318

                #8
                Deine 10mA reichen bei weitem nicht um bei direktem Sichtkontakt 2m zu überbrücken ;-)
                Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                Kommentar

                • Robert L.
                  MS Profi
                  • 26.08.2015
                  • 922

                  #9
                  kurzer Reichweiten test..
                  also mit 3,30Metern funktioniert es noch
                  man muss allerding relativ genau zielen (+/- 15° würde ich schätzen)
                  dann funktioniert es aber 100% zuverlässig..

                  mit einem Sat-Receiver (ET6000 oder so) getestet

                  (werde trotzdem auf zumindest 100mA gehen, in der fertigen version....)

                  Kommentar

                  • Gast

                    #10
                    Hallo,

                    die Gehäuse könnte man evtl. 3D Drucken
                    Aber mit dem W5100 hätte ich Kopfschmerzen,
                    ich habe Relaisplatinen auf Basis eines Arduino Mega 2560 gebaut, die W5100 Netzwerkshields sind immer wieder nach einiger Zeit abgestürzt. Ich verwende jetzt das original Ethernet 2 Shield damit habe ich keine Abstürze mehr.


                    Gruß

                    Kommentar


                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Das mit dem Abstürzen kann ich so nicht bestätigen... Habe W5100 x-fach seit Monaten im Einsatz ohne jegliche Abstürzte oder anderen Problemen...

                    • Robert L.
                      Robert L. kommentierte
                      Kommentar bearbeiten
                      hab auch 4 oder 5 im dauereinsatz , die laufen 100% stabil über Monate..

                      (aber es sagt ja keiner, dass man nicht auch ein W5200 nehmen kann, oder encj..irgendwas..)

                      im code ist auch ein

                      digitalWrite(4, HIGH); // Explicitly disable SD
                      digitalWrite(10, LOW); // Explicitly enable Network

                      hab mal gelesen, dass es probleme macht, wenn man SD-karte nicht explizit ausschaltet..
                  • Robert L.
                    MS Profi
                    • 26.08.2015
                    • 922

                    #11
                    kurzes Update:
                    inzwischen mit 150mA über ca. 7meter gesendet. (zuverlässig).
                    z.Z: 10Ohm Widerstand bei der LED

                    fertig soll das Ding dann 3 steckplätze für die Sender
                    einen für den Empfänger haben

                    der klemmblock ist für die Stomversorgung, einmal 5V für den Arduino und einmal extra für die LED (damit man diese auch mit noch höheren Spannungen betreiben könnte)



                    Kommentar

                    • Michael M.
                      LoxBus Spammer
                      • 23.03.2016
                      • 237

                      #12
                      Hallo,

                      ich bin gerade auch dabei die Nachrüstung unserer Wohnung mit Loxone zu planen und bin begeistert von deinem IR <-> UDP Ansatz. Ich suche genau so eine Lösung um meine Mono-Block Klimaanlage (Stiebel Eltron ACP 24) zu steuern. Ich habe mir hierzu mal das IR Protokoll angeschaut - leider nichts bekanntes - aber eigentlich sind es auch nicht viele Funktionen, sodass Record und Replay ausreichend ist.

                      Wäre es nicht flexibler, die IR Messages im Miniserver zu speichern und diese direkt über UDP an den Arduino zu übermitteln und dieser sendet sie? Für Record könnten die Daten ja direkt auf UDP geschrieben werden, in einem Format wie ich sie dann im Miniserver hinterlegen kann. Oder gibt es hier Beschränkungen wie viele Bytes über UDP übermittelt werden können?

                      Ist das eine gute Idee oder eher nicht?

                      Grüße

                      Michael

                      Kommentar


                      • Robert L.
                        Robert L. kommentierte
                        Kommentar bearbeiten
                        ja, Grundsätzlich funktioniert das ja jetzt schon so, aber eben nur für &quot;NEC&quot; Fernbedienung
                        der miniserver sendet den Code per UDP (der Code ist also nur im miniserver gespeichert..)

                        unbekannte IR befehle (RAW daten) gehen grundsätzlich schon, braucht aber mehr platz (speicher)
                        UDP ist nicht beschränkt, nur dem Arduino geht recht schnell der speicher aus, ..

                        RAW daten senden/empfangen wäre aber siche das nächste interessante was man implementieren sollte..
                    • Michael M.
                      LoxBus Spammer
                      • 23.03.2016
                      • 237

                      #13
                      Ich hab zwar noch keinen Miniserver, könnte aber beim testen gerne unterstützen. Arduino und Netzwerkmodul und IR hab ich auch rumliegen, da ich hier schon erste Versuche zum Auslesen der RAW Nachrichten gemacht habe. Gibt es da ein standardisiertes Format für IR RAW Nachrichten?

                      Kommentar

                      • Robert L.
                        MS Profi
                        • 26.08.2015
                        • 922

                        #14
                        Version mit RAW codes ist jetzt auf SourceForge


                        einheitliche "Norm" gibts eher keine
                        schaut jetzt so aus:

                        RAWmCE4s73Am12Cs226m12Cs5AAm12Cs226m12Cs226m12Cs22 6m12Cs226m12Cs226m12Cs226m12Cs226m15Es226m12Cs226m 12Cs226m12Cs226m12Cs578m12Cs226m15Es226m12Cs226m12 Cs226m12Cs226m12Cs226m12Cs226m12Cs226m15Es226m12Cs 578m12Cs226m12Cs226m12Cs226m12Cs226m15Es226m12Cs22 6m12Cs226m12Cs226m12Cs226m12Cs226m12Cs226m15Es226m 12Cs226m12Cs578m12Cs226m12Cs226m12Cs226m15Es226m12 Cs226m12Cs226m12Cs226m12Cs578m12Cs226m15Es578mCE4s 73Am12Cs226m15Es578m12Cs226m12Cs226m12Cs226m12Cs22 6m12Cs226m15Es226m12Cs226m12Cs226m12Cs226m12Cs226m 12Cs226m12Cs5AAm12Cs226m12Cs226m12Cs226m12Cs226m12 Cs226m12Cs226m12Cs258m12Cs226m12Cs226m12Cs578m12Cs 226m12Cs226m15Es226m12Cs226m12Cs226m12Cs226m12Cs22 6m12Cs226m12Cs226m12Cs258m12Cs226m12Cs226m12Cs226m 12Cs578m12Cs226m12Cs226m15Es226m12Cs226m12Cs226m12 Cs226m12Cs226m12Cs578m15Es226m12Cs578m12Cs

                        (das wird beim empfangen 1:1 so auf dem Seriellen Port ausgegeben, kann man also einfach kopieren und per UDP wieder hinschicken...)

                        tatsächlich real getestest hab ich es noch nicht..


                        die maximale länge hängt vom Eintrage:
                        #define RAWBUF 201 // Maximum length of raw duration buffer
                        in der Datei IRremoteint.h ab

                        Kommentar

                        • Michael M.
                          LoxBus Spammer
                          • 23.03.2016
                          • 237

                          #15
                          Super sache - danke Robert! Ich werde das ganze über Ostern zu Hause testen und meine Ergebnisse posten.

                          Kommentar

                          Lädt...