Ankündigung

Einklappen
Keine Ankündigung bisher.

ARDUINO am KNX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JuMi2006
    antwortet
    Zitat von greentux Beitrag anzeigen
    Ich würde gern die vorhandenen Sensoren von Elabnet weiterverwenden. Also meistens Multisensoren T/H. Wenn man das nun ans KNX bekommen würde zu nem akzeptablen Preis, könnte ich so langsam den 1wire Bus im Haus loswerden...
    T/H in KNX kostet ja schon einiges und in "schön" ist das auch nicht zu bekommen (UP).
    Gerade getestet, der Arduino liest brav die DIY-Variante aus. Da hängt noch ein iButton und ein DS18B20 dran und alle 0.3 Sekunden kommt ein neuer Wert.
    Ziemlich krasse Geschichte .

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hi
    naja - NFC baut auf RFID auf.
    Ich mach mir´s mal einfach und verweise hierauf: Unterschied RFID und NFC - Eine kurze Erklärung - Fakir Informatik
    Bisher habe ich viele 13,56 MHz Mifare-Transponder und Tags getestet - die meisten (eigentlich bisher alle) gehen.
    Viele NFC Tags haben eher sehr kleine Antennen - daher eine schlechtere Reichweite.

    Es gibt Uhren die Mifare-Transponder eingebaut:
    PKS - Sicherheitssysteme
    Diese Klebe-Transponder könnten gehen:
    RFID Transponder Mifare 1k · 20x0,6mm Folie selbstklebend (E668se-20 Mifare) | eBay

    Und - einfach mal meine normalen Transponder hinter meine Pebbles gehalten: geht. Eine alte Swatch-Uhr und "normale" Uhr gehalten: 2x Misserfolg...

    Gruß
    Thorsten

    Nachtrag: je größer der Transponder - desto besser die Reichweite. Daher noch ein Link zu 25mm-Transponder:
    http://www.ebay.de/itm/2x-NFC-Tag-La...item3f243ad80b

    Einen Kommentar schreiben:


  • keldan2
    antwortet
    Zitat von rel Beitrag anzeigen
    Hallo Thorsten,

    welche RFID-Karten/Keys kann man denn mit deiner Anlage nutzen? Gehen diese: http://www.amazon.de/Kamor%C2%AE-NFC.../dp/B00DRDURG4
    Die könnte ich ja dann überall hin kleben bzw. einbauen (Uhr, Handy, Jacke) oder irre ich mich da?


    Danke.

    Ari

    Sorry für die dumme Frage- aber

    NFC = RFID???

    Also ich finde diese Lösung genial und würde sofort Abstand zu meiner geplanten Ekey Lösung nehmen.
    Meint ihr wenn ich einen solchen NFC hinter meiner Uhr kleben würde, würde der Leser den durch das Uhrgehäuse (am Gehäuse) vorbei erkennen??

    Ne Tiefe Unterputzdose mit 16 Adern 0,8 wäre vorhanden, derzeit befindet sich da nen Fingerprint von Conrad drin!!!

    lG und Danke
    Daniel



    Gesendet von meinem iPad mit Tapatalk

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Zitat von rel Beitrag anzeigen
    welche RFID-Karten/Keys kann man denn mit deiner Anlage nutzen?
    Und noch eine Frage: Wie tief ist dein Aufbau für die Unterbringung im Siedle-Blinddeckel?
    Hi
    ja - ich denke diese NFC-Tags kann man nutzen. Ich habe zumindest ähnliche... eigentlich alles was mit heutigen Handys gelesen werden kann.
    Auch etliche Firmenausweiße und "moderne" Messekarten funktionieren ;-)

    Einbautiefe - grob gemessen:
    Antenne+Arduino sind ca. 1 cm. Stecker nochmal 1,5 cm - kann man aber durch direkt anlöten sicherlich verringern.
    Siemens BCU sind ca. 1,8cm.... in der Siedle Anlage ist viel Platz - der BCU ist aber bei mir abgesetzt auf der Hausinnenseite.

    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • l0wside
    antwortet
    Zitat von wintermute Beitrag anzeigen
    Hi Max,

    schau mal in dem Example-Ordner nach dem LearnKNXAddress.ino und dort nach der Funktion serialEvent1. Nach kurzem Ueberfliegen wuerde ich vermuten, dass da schon fast alles drinsteckt was du brauchst.
    Wenn das laeuft bau ichs zukuenftig in meine Beispielsketche ein - versprochen

    gruesse
    Done, ohne Garantie. Das Auslesen der Werte und Abspeichern überlasse ich Kundigen
    Code ist nicht getestet und auch nicht debuggt. Viel Spaß damit.

    Gruß,

    Max
    Code:
    void serialEvent1() {
      KnxTpUartSerialEventType eType = knx.serialEvent();
      if (eType == KNX_TELEGRAM) {
        KnxTelegram* telegram = knx.getReceivedTelegram();
    
        if (telegram->isTargetGroup() && telegram->getCommand() == KNX_COMMAND_INDIVIDUAL_ADDR_WRITE && programmingMode) {
          // Broadcast to all devices in programming mode to store new physical address
          Serial.print("Received IndvAddrWrite: ");
    
          int area = (telegram->getBufferByte(8) & B11110000) >> 4;
          int line = telegram->getBufferByte(8) & B00001111;
          int member = telegram->getBufferByte(9);
    
          Serial.print(area);
          Serial.print(".");
          Serial.print(line);
          Serial.print(".");
          Serial.println(member);   
    
          knx.setIndividualAddress(area, line, member);    
       
          // Here the new address could be stored to EEPROM and be reloaded after restart of Arduino   
        } else if (telegram->getCommand() == KNX_COMMAND_MASK_VERSION_READ) {
          // Request for mask version (version of bus interface
          knx.individualAnswerMaskVersion(telegram->getSourceArea(), telegram->getSourceLine(), telegram->getSourceMember());
        } else if (telegram->getCommand() == KNX_COMMAND_INDIVIDUAL_ADDR_REQUEST && programmingMode) {
          // Broadcast request for individual addresses of all devices in programming mode
          knx.individualAnswerAddress(); 
        } else if (telegram->getCommand() == KNX_COMMAND_ESCAPE) {
          // Configuration data handling
          programmingMode = false;
          switch(telegram->getFirstDataByte() & 0x7C) {
          case 0x54:
            Serial.println("Read property called, object %02X, property %02X, count %i\n",telegram->getBufferByte(8),telegram->getBufferByte(9),telegram->getBufferByte(10) >> 4,(telegram->getBufferByte(10) & 0x0F) * 256 + telegram->getBufferByte(11));
            /* Reply to the request here */
            break;
          case 0x5C:
            Serial.println("Write property called, object %02X, property %02X, count %i\n",telegram->getBufferByte(8),telegram->getBufferByte(9),telegram->getBufferByte(10) >> 4,(telegram->getBufferByte(10) & 0x0F) * 256 + telegram->getBufferByte(11));
            /* Check and store value here */
            break;
          }
        } else if (telegram->getFirstDataByte() == KNX_EXT_COMMAND_AUTH_REQUEST && programmingMode) {
          // Authentication request to allow memory access
          knx.individualAnswerAuth(15, telegram->getSequenceNumber(), telegram->getSourceArea(), telegram->getSourceLine(), telegram->getSourceMember());
        } else if (telegram->getCommand() == KNX_COMMAND_RESTART && programmingMode) {
          // Restart the device -> end programming mode
          programmingMode = false;
          knx.setListenToBroadcasts(false);
          Serial.println("Received restart, ending programming mode"); 
        }
      }
    }
    Auf ein Read und ein Write muss man eine PropertyResponse zurückschicken. Das müsste in etwa so aussehen (einbauen in KnxTpUart.cpp, Headerfile anpassen überlasse ich euch):
    Code:
    /* Send a PropertyResponse to an indidual address.
       area/line/member: communication partner
       Object/Property: indicates the configuration value
       start: index of first value to be sent
       nvalues: number of values to be sent
       valuesize: size of each value (in bytes)
       data: pointer to the first value to be sent. 
      */
       
    bool KnxTpUart::propertyResponse(int area, int line, int member, int object, int property, int start, int nvalues, int valuesize, char *data) {
        int n;
        /* nvalues*valuesize+4: Wert 4 ist ggf. zu klein, war zu faul zum Recherchieren */
        createKNXMessageFrameIndividual(nvalues*valuesize+4, KNX_COMMAND_ESCAPE, area, line, member, B10110);
        _tg->setCommunicationType(KNX_COMM_UCD);
        _tg->setBufferByte(8, object); 
        _tg->setBufferByte(9, property); 
        _tg->setBufferByte(10, (nvalues << 4) | (start >> 8));; 
        _tg->setBufferByte(11, start & 0xFF);
        while (nvalues*valuesize > 10) {
            nvalues--;
        }
        if (nvalues == 0) {
            return false;
        }
        for (n=0; n < nvalues*nvalues; n++) {
            _tg->setBufferByte(12+n, data[n]); 
        }
        _tg->createChecksum();
        return sendMessage();
    }

    Einen Kommentar schreiben:


  • rel
    antwortet
    Zitat von ThorstenGehrig Beitrag anzeigen
    Hi
    hier mal eine kleine Projektdokumentation zu meinem RFID-Leser-Projekt.
    Der Arduino-Code ist noch der selbe wie früher - mit minimalen änderungen.
    Derzeit sende ich die Seriennummer einfach an den HS zum Auswerten - das erspart umprogrammieren wenn ich einen neuen Transponer habe - und ermöglicht zusätzliche Sicherheits-Logiken (da RFID ja als unsicher anzusehen ist).
    PA und Gruppenadresse muss natürlich im Code noch angepasst werden.

    Gruß
    Thorsten
    Hallo Thorsten,

    welche RFID-Karten/Keys kann man denn mit deiner Anlage nutzen? Gehen diese: http://www.amazon.de/Kamor%C2%AE-NFC.../dp/B00DRDURG4
    Die könnte ich ja dann überall hin kleben bzw. einbauen (Uhr, Handy, Jacke) oder irre ich mich da?

    Und noch eine Frage: Wie tief ist dein Aufbau für die Unterbringung im Siedle-Blinddeckel?

    Danke.

    Ari

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Ja! Schwung ist gut :-)
    Der Übersichtlichkeit halber emfpehle ich vielleicht für einzelne Arudino-Projekte dedizierte Threads aufzumachen - vielleicht deutlich im "ARUDUINO" im Titel kenntlich gemacht.
    Mein Arudino-RFID-KNX schnurrt äh funktioniert perfekt - ich habe gerade Teile bestellt um das ganze für eine 2. Tür in eine UP-Dose zu basteln.

    Falls man irgendwie ein "extension Board" mit TPUart bauen könnte - auf das man einfach einen Arduino-Mini aufsteckt/lötet... das wäre schon ein großer Schitt in richtung Miniaturisierung - bei Beibehaltung des Arduino-Ansatzes. Ich würde sofort 2-3 bestellen :-)

    Zu dem Konformen Lernen der KNX-Addresse wurde ja hier schonmal geschrieben: das ist eigentlich alles schon in der Library (hab ich vorher auch nicht wirklich beachtet) im "LearnKNXAddress.ino" beschrieben.
    Wenn man das wirklich machen möchte muss man nur die EEPROM-Speicher/Lesebefehle noch einbauen - die Stelle ist markiert.
    Um den Programming Mode zu aktivieren müsste man noch einen Programm-Taster in seinem Projekt vorsehen - und eine Programmier-LED. Alles kein Hexenwerk - das sich aber nur Lohnt wenn man eine "kleinserien-Produktion" startet.
    Für Leute die eh den Arduino selbst Programmieren - bringt es imho keine Vorteile (bzw. der Aufwand zur Software-Implementierung, einbau Taster+LED steht nicht im Verhältniss).

    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Jetz kommt hier aber Schwung rein - find ich gut

    Aber damit auch die "Softcore-Bastler" nicht den Anschluss verlieren, hier mal die Sachen die ich akut (einfach weil ichs selbst brauche) in Planung habe und an denen ich (in untenstehender Reihenfolge) ASAP weiterbasteln moechte, vielleicht ist fuer den einen oder anderen ja was dabei:
    • Fertigstellung der VirtualWall mit Option fuer 1wire-Temperatur und Sensorbaendern, zudem Humidity Messung - letzteres zugegebenermassen nicht allzu genau, aber ich bin ja auch nicht das Max-Planck-Institut fuer demografische Wetteranalysen Sobald meine Platinen hier sind werd ich den Sketch fertig machen und posten.
    • Bau einer preiswerten Wetterstation (das ist alles schon grob getestet, auch da sind zZ Platinen unterwegs)
    • Bau einer Steuerung zur Treppenbeleuchtung, die Stufenbeleuchtung und indirekte Wandbeleuchtung aus dem Handlauf heraus ermoeglichen soll. Je nach verbauten Leuchtmitteln in der Wand (oder an/unter den Stufen) koennen die einzeln gedimmt werden und ermoeglichen fade-in/-out Effekte, je nachdem ob jemand von oben oder unten kommt. Damalige Testaufbauten haben mit eigenen PIRs gearbeitet, aber jetzt sollte das natuerlich auch ueber vorhandene PMs und den Bus abzufruehstuecken sein. Die Beleuchtung im Handlauf wird aus diskret ansteuerbaren (sic!) RGB-LEDs bestehen mit denen man dann so ziemlich jeden Lichteffekt erzeugen kann der einem grad so vorschwebt (abgesehen von "sauberem" Weiss natuerlich )

    Das sind also keine losen Ideen, sondern tatsaechlich Projekte die bereits in Testaufbauten (groesstenteils) realisiert wurden. Soweit ich dazu komme werde ich die Fortschritte hier im Forum veroeffentlichen. Zudem werd ich mich bemuehen - soweit es geht - ohne SMD-Bauteile auszukommen, so dass eigentlich jeder der einen Loetkolben halten kann die Sachen wird nachbauen koennen.


    Das vielleicht nur mal zwischendurch als Hoffnungstropfen für die "Nachbauer" bevor das hier alles viel zu theoretisch wird


    gruesse :: Michael

    Einen Kommentar schreiben:


  • ElLitschi
    antwortet
    Ardunio Gehäuse

    Für den Ardunio soll es auch bald ein Gehäuse von Hitaltech für eine Hutschienenmontage geben.

    Ich werde beim Großhändler nachfragen, wann und wie die Lieferzeiten hierfür sind, als auch die Stückkosten.

    Schaut auch mal beim POst Sammelbestellung RaspberryPI box rein.

    LG

    Markus

    Einen Kommentar schreiben:


  • greentux
    antwortet
    Also wenns da wieder Sammelbestellungen zu organisieren gibt, vl. diesmal auch mit Bestückung, kann ich das wieder machen
    Mein Ziel wäre sowas wie der Multisensor/KNX... Aber das geht ja mittlerweile auf vielen Wegen.

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Hallo Max,

    Angst hab ich nicht vor kleiner 1206, aber wenn man es sich aussuchen kann muss man sich nicht quälen.
    Die Schaltung würde mich interessieren und ich denke ernsthaft über eine KNX Extension für den Mini nach. Zeitlich aber eher Ende März.

    Einen Kommentar schreiben:


  • l0wside
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    - aber: nen tpuart als Nano-Huckepack wäre schon was

    Aber vielleicht kann Max was dazu sagen, eigentlich hat er ja schon die Platine mit dem geplanten Multisensor mit uart und µC schon fast fertig. Welche Vorteile bringt der TP-UART2 ausser dass er günstiger ist?
    Meine 2ct:
    Wer sich vor Bauteilen kleiner als 1206 fürchtet, sollte die Finger vom TPUART2 lassen: Lotpaste, Heißluft und optimalerweise Schablone sind hier angesagt[1]. Er ist halt deutlich kleiner und nur halb so teuer wie der alte TPUART. Außerdem hat der TPUART2 einen Schaltregler an Bord, der die komplette Schaltung versorgen kann. Aus dem Bus kann man rund 300 mW ziehen, damit kommt man ziemlich weit. Optokoppler / ADUM kann dann natürlich entfallen, das sind (beim ADUM) auch noch ein paar Euro.

    Der einzige Vorteil des alten TPUART: das 1,27mm-Raster ist auch mit dem Dachrinnenkolben zu löten, für Basteleien ist das vermutlich die bessere Variante. Ich habe leider nicht die Zeit, um eine Kleinserie "Arduino mit TPUART2 an Bord" aufzulegen, wäre ansonsten reizvoll. Wenn jemand Ambitionen verspürt, stelle ich aber gerne den entsprechenden Ausschnitt meines Multisensors (Schaltung und Layout) zur Verfügung.

    Gruß,

    Max

    [1] Das klingt schlimmer, als es ist. Lotpaste gibt es für einen Appel und ein Ei bei TME. Der Atten 858D hat mich aus China 30 Euro und vier Wochen Warten gekostet. Und Schablonen fertigt oshstencils für kleines Geld. Der Initialaufwand liegt also deutlich unter 100 EUR (je nach Anzahl der bei Versuchen zerstörten TPUART2 - bei mir im Schnitt pro Monat einer)

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Also nochmal zum tpuart und Löten:

    - kleinstes Bauteil (ausser dem uart) wäre 1206 - kleiner mag ich es auch nicht
    - wenn ich das richtig interpretiere könnte man folgendes weglassen und durch einen Adum1201 ersetzen: R1,R2,R4,R5,2x6N137
    - bleibt der uart, aber mit 1,27mm Pin-Abstand nicht unlötbar (->Flussmittel)
    - wer nicht gerade zwei linke Hände hat bekommt das hin
    - preislich durch den 11€ teuren uart sicherlich nicht sonderlich attraktiv, aber die Baugröße im Vergleich zur Siemenst BCU schon
    - man könnte auch einfach die Siemens BCU aus dem Gehäuse entfernen
    - aber: nen tpuart als Nano-Huckepack wäre schon was

    Aber vielleicht kann Max was dazu sagen, eigentlich hat er ja schon die Platine mit dem geplanten Multisensor mit uart und µC schon fast fertig. Welche Vorteile bringt der TP-UART2 ausser dass er günstiger ist?

    Grüße

    EDIT:
    Wenn ich mir den TPUART2 ansehe: http://www.opternus.com/uploads/medi...t_20130806.pdf
    Seite 40: So passt das doch, wenn man einen Arduino Mini+Zubehör unter 30mA betreibt - spart man doch den Optokoppler ?

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von dreamy1 Beitrag anzeigen
    Ganz ehrlich - wenn ich beim Chinamann einen komplett fertigen Arduino-Klon für 2-5€ bekomme, da fange ich nicht an selbst zu löten. Vor allem kein TQFP oder sonstige SMD-Teile.
    Ja, full ACK. Aber wenn ich bei JuMi einen Mini-kompatiblen Atmel inkl. fertigem TP-UART als DIP fuer 40 Euro bekomme, dann kauf ich auch nicht mehr beim Chinamann

    Einen Kommentar schreiben:


  • dreamy1
    antwortet
    Bezüglich Hardware und Löten:

    Ganz ehrlich - wenn ich beim Chinamann einen komplett fertigen Arduino-Klon für 2-5€ bekomme, da fange ich nicht an selbst zu löten. Vor allem kein TQFP oder sonstige SMD-Teile.

    Mein Konzept lautet: modulare Bauweise, alles was es fertig für kleines Geld gibt wird einfach per Stiftleiste angebunden, die kann auch jeder einlöten. Vielleicht noch ein paar Widerstände und C's, das wars.

    Ich brauche noch ein paar Tage, dann stelle ich mal mein Konzept im Detail vor (mit Eagle-Plänen). Lasst Euch überraschen, wie einfach das Ganze aufzubauen ist.

    Einen Kommentar schreiben:

Lädt...
X