RS485 Kommunikation Raspi <-> Arduino


  • ... Grundfunktion "Türöffnen bei bekanntem Tag" wird freigegeben. Wenn man die Funktion hat & sich mit der Programmierung davon ein wenig auskennt sollte ...
    ...


    ich meinte damit die Libraries und sonstigen Code-Fragmente, die Du verwendest. Wenn die unter GPL stehen und nur verwendet werden dürfen, wenn ein "Produkt" ebenfalls unter GPL steht, dann wirst Du auf Anfrage um eine Offenlegung nicht drum herum kommen ... Check das sicherheitshalber mal ;)


    Naja, teils teils. Es sind halt viele Hürden die erstmal überwunden werden müssten, wenn der Pi nur ...


    das lass ich einfach mal so stehen ... das, denke ich, passt schon. Ist halt eines meiner Lieblingsthemen ;) ...



    ... Provoziert also jemand einen Stromausfall eines solchen Geräts, ist die Tür auf. ...


    Genau an so was hatte ich dabei gedacht ;)


    Aber ich sehe, Du machst das schon :thumbs1:


    cu,
    -ds-

  • Klingt sehr interresant, nun aber paar fragen. Was passiert bei auftreten größerer Kräfte oder starkem Gewalteinfluss? "Bricht" der Tür Öffner dann?
    Und wie genau wird die Elektronik gesichert wen es fertig ist?
    Und was passiert bei nem Stromausfall, ist ne "Batterie" als Sicherung dran?


    Sorry falls ich damit störe aber diese fragen brennen mir förmlich auf der zunge ^^

  • Deine Interesse freut mich, es werden relativ zeitnah Platinen bestellt und ein erster Testaufbau erstellt, danach gibt es mehr neue Infos darüber. (Das Projekt ist zwecks Zeitmangel ein bisschen ins Stocken geraten).
    Zu deinen Fragen:


    1) Was meinst du mit größeren Kräften oder Gewalteinfluss? Der "Türöffner" sollte innerhalb des Hauses angebracht werden, lediglich die Antenne liegt dann außerhalb. Das hat den Vorteil, dass niemand die Möglichkeit hat durch einen Kurzschluss die Tür zu öffnen. Natürlich ist es möglich die Antenne zu beschädigen, dass liegt aber an der Erreichbarkeit. Wenn man das Gehäuse welches ich vermutlich nutze in die Wand einlässt, hat man kaum eine Möglichkeit da ran zu kommen, außer man zertrümmert das Gehäuse mit einem Hammer oder ähnlichem :P
    2) Was meinst du mit Sicherung der Elektronik? Wenn es darum geht eine Manipulation zu verhindern dann ist das wie oben beschrieben durch getrennte Antenne + Leseeinheit zu verstehen. Die Leseeinheit braucht also eine vollständige Kommunikation über ein bestimmtes Datenpaket zur Türöffnung, eine Manipulation ist nahezu ausgeschlossen.
    3) Aktuell ist keine Batterielösung geplant. Dies hat überwiegend den Grund, dass Stromausfälle (zumindest hier) sehr sehr selten geworden sind. Da jedes Haus bzw. jede Tür anders aufgebaut ist, kann ich da auch keine fertige Lösung anbieten. Da die Antenne, Leseeinheit und Auswerteeinheit (Pi) alle von einer zentralen Stelle aus versorgt werden sollen ist es natürlich möglich dort eine Batterie anzubringen. Problem an dieser Sache ist, dass die Batterie dann vermutlich altert und wenn Sie benötigt ist keine Ladung mehr besitzt. Im Prinzip kann das aber jeder durch eine UHV oder ähnliches betreiben. Es bringt natürlich nichts, nur die RFID Geschichte mit Strom zu versorgen, das Türschloss braucht auch eine Versorgung um zu funktionieren. Wenn man eine solche Lösung überlegt, müsste das Türschloss auch irgendwie versorgt werden (meist 24V).


    Achtung: Für einen Stromausfall oder sonstige Störungen würde ich dieses System nur empfehlen, wenn eine Haustür mit einem Schlüssel bedienbar ist. Wenn man sein ganzes Haus mit einem solchen System abriegeln würde, besteht eine relativ hohe Gefahr ausgesperrt zu werden. Das trifft allerdings nicht nur bei meinem System auf, sondern auch bei jedem "proffesionellen" System aus dem Handel, niemand kann eine 100%ige Funktion über viele Jahre garantieren. (Und Nachts im Schnee kann es schnell verdammt kalt werden)

  • Ja ich hab drüber nachgedacht die Nacht und einiges verworfen ^^
    Und wie meinst du es innerhalb eines hauses?
    Das die haustür freizugänglich ist und kein Lesegerät besitzt?
    Und wie genau wie die Tür entsperrt? Nur auf einer Seite oder auf beiden, wo nur die eine Seite protokolliert wird?


    zB. Ich war mal beim Praktika in ner Bäckerei. Die Mitarbeiter hatten alle nen chip bekommen wo man nur in den Mitarbeiter Abteil (sprich umkleide und pausenraum) reinkam indem man den chip vorm Lesegerät hielt, es aber nicht protokolliert wird. Von der anderen Seite aus konnte man normal raus, aber nur mit dem chip rein. Dann das gleiche Spiel an der Tür zum Produktions Bereich, wieder ein Lesegerät wo man den chip vorhielt und dann wen es summt die Tür leicht reindrückt und dann an sich zieht. IM Prod. Bereich gab es dann ein Lesegerät wo man Kommen/Pause/gehen wählen konnte und dann musste man den chip vorhalten und paar sek warten bis er die Daten vom chip erfasst hat und kurz piept.


    vllt gibt dir das paar Anregungen wie du dein sys hochziehst ^^

  • 1) Jeder Zutrittsversuch von außen in einen Bereich wird über mein System erfasst. Ob darüber ein Protokoll geführt wird kann der Anweder selber entscheiden. Dabei wird die Chipnummer, Uhrzeit und entsprechende Tür vermerkt. Weitere hinterlegte Daten können bei Bedarf ausgewertet werden (z.B. Name anstatt Chipnummer anzeigen).
    2) Jede Tür wird in umgekehrter Richtung nicht über mein System laufen. Das hat zum einen den Grund, dass es recht irrelevant ist wer aus einem "geschützten" Bereich heraus geht und zum anderen ist das ein Sicherheitsaspekt. Fällt mein System aus oder hat eine Störung, kommt die Person nichtmehr aus dem Raum/Haus heraus, außerdem bräuchte man dann noch eine zusätzliche Einheit auf der anderen Seite der Tür.
    3) Wie die Türschaltung von innen aussieht ist Sache des eingesetzten Türschloßes. Möglich wäre ein Taster an der Wand wie in Krankenhäusern oder an Türen für Rollstuhlfahrer die das Türschloss freischalten, es gibt aber auch auch elektronische Türschlösser wo die Betätigung der Türklinke auf der Innenseite das Schloss entriegelt. Ich entwickel hier aber kein Schloss oder einen Schließzylinder sondern nur eine Ansteuerung dazu.
    4) Das angesprochene System wo man eine Tür einfach aufzieht wenn ein "Summer" ertönt ist meist eine elektrisch entriegelte Türfalle. Sowas sollte immer nur innerhalb eines Gebäudes eingebaut werden, da diese Teile eigentlich keine Sicherheit bieten können. Ein solcher Mechanismus ist nur eine Funktion, damit niemand dort rein geht der dazu nicht berechtigt ist, wer das aber will kann das recht zügig "knacken". (Deshalb kein Einbruchsschutz!)


    Wer dieses System, ein System anderer Hersteller, ein Fingerleser, Tastenfeld oder ähnliches verbaut sollte sich IMMER eine Möglichkeit für den Notfall offen halten. Entweder man belässt eine Tür mit einem Schließzylinder für einen normalen Schlüssel oder verbaut ein System wo das elektronische Türschloss auch per Schlüssel entsperrt werden kann. Dieser Schlüssel sollte dann logischerweise trotzdem mitgetragen werden oder in greifbarer Nähe hinterlegt sein. (Nachbar, Verwandschaft, Freunde, sonstiges, natürlich Vertrauenswürdig ;))

  • Hi,
    ich hab' jetzt nur mal ein paar Zeilen auskommentiert ... probier doch bitte mal aus, ob das jetzt klappt ( ich denke, das sollte es gewesen sein ) ...
    Code ist im Anhang ...


    //EDIT: gerade nochmal aktualisiert (10.11. 19:25)


    cu,
    -ds-


  • Moin -ds-


    ich bin jetzt bei meinem Versuch eine Kommunikation zwischen Arduino und Pi herzustellen mal Schritt für Schritt deiner Anleitung gefolgt, die Installation der LibModbus hat einwandfrei funktioniert, danke dafür :bravo2: :thumbs1:


    Allerdings stelle ich mich jetzt wohl etwas doof an die Kompilierungsfehler zu beheben. Beim Versuch die RaspiModbusV3.c zu kompilieren kann er die mysql.h nicht finden - mir ist in dem Gewusel noch nicht klar wo sich die zu includierenden Files zu befinden haben. In der ArduinoIDE werden ja Libs eingebunden, wie funktioniert das auf dem Pi?


    By the way hab ich testweise erst mal die mysql.h auskommentiert und erhalten dann diese Fehlermeldung:


    Code
    1. pi@bigben:~/src/c $ cc -o RaspiRFIDModbusV3 RaspiRFIDModbusV3.c -I/usr/local/include/modbus -I/usr/local/include/libmodbus -I/usr/include/mysql -lmodbus -lmysqlclient -lpigpio -lpthread -lrt
    2. /usr/bin/ld: cannot find -lmysqlclient
    3. collect2: error: ld returned 1 exit status


    PS: Ich hab mir mal Geany installiert um mich an die IDE mal heran zu tasten....

  • Servus,

    Zitat von &quot;Masterkennie&quot; pid='297783' dateline='1504200330'


    ... haben. In der ArduinoIDE werden ja Libs eingebunden, wie funktioniert das auf dem Pi?


    By the way hab ich testweise erst mal die mysql.h auskommentiert und erhalten dann diese Fehlermeldung:


    Code
    1. pi@bigben:~/src/c $ cc -o RaspiRFIDModbusV3 RaspiRFIDModbusV3.c -I/usr/local/include/modbus -I/usr/local/include/libmodbus -I/usr/include/mysql -lmodbus -lmysqlclient -lpigpio -lpthread -lrt
    2. /usr/bin/ld: cannot find -lmysqlclient
    3. collect2: error: ld returned 1 exit status


    das ist klar ... ;)
    Dir fehlen die Datenbank-Libs, die musst Du nachinstallieren. Mit

    Code
    1. [sudo apt-get install mysql-client-dev]


    oder so in der Art. Ich weiss jetzt nicht mehr genau, wie das Paket heisst. Aber das kriegst Du schon raus ;)


    Danach wirst Du vermutlich noch mal einen Fehler bekommen, wenn die DB nicht existiert ...


    btw: bitte nicht so elend lange quotes posten ... da scrollt man sich ja Blasen an den Fingern :)


    cheers,
    -ds-



  • An dieser Stelle, um den Trööt vom Jumpy nicht zu sprengen, da es bei mir ja nicht um die RFID-Geschichte geht, würde ich dann weitere Fragen


    Hier - Klimadaten von mehreren Arduinos per Raspi


    stellen. Du hattest mich ja schon zwei mal darauf hingewiesen hier noch mal genauer nach zu lesen, Asche auf mein Haupt, bisher fehlte mir die Zeit - jetzt setzte ich mich da mal dran.... :)


    Als Info für die Mitleser:

    Code
    1. sudo apt-get install libmysqlclient-dev


    installiert die Datenbank-Lib.


    PS: Ich hatte auch nicht vor ein so elend langes Zitat zu erstellen, ich fand den "Spoiler"-Button nicht :s :)