Posts by JumpY

    Wenn du die Platine sehen würdest, wüsstest du dass SMD da absolut fehl am Platze ist :lol: Wollte die immer Zeichnen und fertigen lassen, aber ich bin einfach nicht dazu gekommen und kann das auch nicht sonderlich. Wenn es jetzt wirklich irgendwann läuft wird das allerhöchste Zeit :)


    Ich werde berichten wie es funktioniert, wenn es dann irgendwann fertig ist :s

    Ein 10kOhm Pulldown scheint die gewünschte Wirkung zu bringen. Habe provisorisch mal einen eingelötet, da bliebt die LED aus beim Bootvorgang und der Rest nachher funktioniert trotzdem. Ob da jetzt einen sehr kurzen Moment (schneller als die LED) ein Strom fließt kann ich natürlich nicht sagen, habe kein Oszilloskop oder so zur Hand. Dann muss ich mal schauen wie ich die irgendwie noch in die Platine gebracht bekomme, dass wird ja ein super Spaß :s

    mit Vorsicht geniessen, und erst mal probieren, ob es mittlerweile auch ohne geht ...


    Das kam etwas zu spät, hat aber nichts zerschossen. Grundsätzlich funktioniert das Softwaremäßig sogar ein bisschen, nach ~1 Sekunde werden die GPIOs so tatsächlich abgeschaltet. Allerdings kann ich im Betrieb jetzt einen nicht mehr richtig verwenden, könnte vielleicht an dem internen Pulldown liegen, muss ich mal prüfen. Aber die eine Sekunde ist eben auch zu lang, deshalb werde ich dann gleich mal Widerstände einbringen und schauen ob es damit besser wird, ansonsten habe ich ein Problem...

    Habe gerade auf meiner großen Suche folgendes gefunden: Hier


    Ich hatte mich schon gewundert, dass ich der einzige sein soll, aber mit genauen Suchbegriffen dank deiner Hilfe findet man sowas dann doch. Derjenige hat zumindest das gleiche Problem, er setzt seine GPIOs allerdings damit auf HIGH. Ich werde das später mal versuchen ob ich die damit auf LOW gesetzt bekomme & werde das dann mal prüfen. Wäre jedenfalls Klasse, wenn es entgegen der Meinung von ganz vielen anderen Threads doch einfach Softwareseitig funktioniert. (Das muss dann nur halt schnell sein, da das verdammte Relais nur einen millisekunden-Impuls braucht)


    Pulldown - relativ easy - verbinden die Pins mit einem relativ großen Widerstand ( 10 kOhm ) mit GND und Bingo ...
    Du solltest das allerdings nicht mit den beiden I2C-Leitungen (SDA/SCL) machen, weil die physikalisch fix auf 3V3 gelegt sind. Sonst fallen mir da aber jetzt ad hoc keine Einschränkungen ein.


    Wie du weißt, sind meine Kenntnisse der Elektrotechnik sehr bescheiden. Die Sache mit den Pullup/Pulldown Widerständen habe ich noch nie verstanden..


    Ich verstehe das Prinzip dahinter einfach nicht, hier eine kleine Skizze wie das dann verschaltet wäre.


    [Blocked Image: https://abload.de/img/unbenanntuqrea.jpg]


    Rechte Seite ist dann meine Schaltung. Da wird ein Transistor über den GPIO geschaltet, der die Masse für (hier) meine LED freigibt. Das gleiche passiert aber eben auch mit Summer, Relais, etc.
    Meine Frage: Was soll der Pulldown-Widerstand da jetzt bewirken? Die Verbindung zu meiner Schaltung ist doch immer gegeben, somit wird der Transistor doch trotzdem durchschalten, weil der Port ja auf HIGH steht (das was eigentlich ja auch der Sinn ist, nur halt eben nicht im Boot).


    Habe ich jetzt da einen Denkfehler, oder kann das so garnicht funktionieren? (Oder funktioniert das Teil so, dass es dem GPIO Port durch die "Masseverbindung" vorgibt, Masse anzunehmen, wenn der Port es nicht von intern anders gesagt bekommt?)


    ich fürchte, da wirst Du Pech haben ... der Status eines I/Os während des Systemstart/Stop ist imho nicht definiert.
    Abhilfe würden da entsprechende pulldowns schaffen.
    Ausserdem fände ich es besser, wenn Du hier von Anfang an klarstellen würdest, dass Du von phsikalischen Pin-Nummern und nicht von GIPO-Nummern redest. Das sorgt sonst nur für Verwirrung ...


    Oh ja, sorry. Komme mit der Notation der einzelnen GPIO-Teile immer durcheinander.
    Bist du sicher, dass das nicht definiert ist? Ich meine hier irgendwo gelesen zu haben, dass manche auf HIGH und manche auf LOW gezogen werden (allerdings ohne Beschreibung welche das sein sollen..). Kannst du mir kurz sagen, wie du das mit Pulldowns erledigen willst? Vielleicht bekomme ich das noch irgendwo untergebracht...




    das Einzige, was mir einfällt, ist über Konfiguration des DeviceTrees einen DeviceTree-Blob zu compilieren, der vom Kernel beim Booten verwendet wird.


    Stichworte zum Suchen hast Du jetzt.


    Ich meine gelesen zu haben, dass es Softwareseitig nicht funktioniert. Ich werde danach nochmal suchen, aber glaube jetzt schon, dass mich das überfordert :lol:

    Hallo zusammen,
    ich habe ein kleines System, welches 6 GPIO Ports braucht. Aktuell hatte ich im Script folgende verwendet:



    Funktionierte im Betrieb soweit auch, allerdings werden die beim Systemstart durchgetestet und teilweise auf High gesetzt. GPIO 37 aber z.B. bleibt beim Boot aus, 29 und 31 gehen hingegen an. Problematisch ist das ganze, weil dahinter eine Türansteuerung sitzt, das würde heißen, dass die Tür bei Systemstart geöffnet wird.


    Welche GPIOs haben ein anderes Verhalten? Es wäre mir so gerade möglich einen anderen GPIO auf der Platine anzuzapfen, eine andere Schaltung mit Zeitverzögerung oder sonstigem ist nicht mehr realisierbar. (System muss langsam dringend getestet und genutzt werden & die Platine ist voll..)


    Gruß


    wenn ich die erwische -und ich erwische sie alle!


    Ich halte dagegen :lol:



    Tipp: Spar dir das Teil, hier wird es dir niemand "fertig" programmieren/bauen etc. In der Zeit wo du lernen müsstest so etwas zu bauen, könntest du für all eine Klausuren der nächsten Jahre ordentlich lernen ;)

    Ich habe dazu schonmal einen kleinen Workaround gebastelt, der funktioniert im Prinzip genau so. Sonderlich toll ist das ganze nicht, es funktioniert aber schon..


    1) RFID Leser wird über Python gesteuert und schreibt jede Aktion direkt in eine MySQL-Datenbank (Tags_read)
    2) Ein PHP-Skript wird per Browser von dem User aufgerufen (oder auch aufgelassen!)
    3) Das PHP Skript fordert (ich glaube jede Sekunde oder auf Event, das weiß ich gerade nicht) per AJAX einen DIV-Inhalt von einem anderen Script an
    4) Das andere Script baut eine Verbindung zur Datenbank auf und ließt immer den zuletzt gelesenen Tag aus der Datenbank aus und gibt dieses an das andere Skript (Sichtbare Website) zurück.


    Somit hast du bei jedem Scannen einen aktuellen Inhalt und könntest darauf weiter mit Buttons o.ä. reagieren.


    Aber:
    - Bislang keinen Dauerlauf getestet, keine Ahnung ob das stabil auf Dauer funktioniert
    - Man müsste Exceptions einbauen, dass während ein Knopf gedrückt wurde o.ä. kein Content nachgeladen wird, sonst sind alle Eingaben o.ä. weg


    BTW: Ich bin mir gerade garnicht genau sicher, aber man könnte mit Python doch auch ein Script anstoßen oder? Also nicht den Weg über die DB-Abfrage machen, sondern bei einem Lesevorgang ein PHP-Script anstoßen, welches seine Daten per AJAX sendet o.ä... Gibt da bestimmt noch sowas ;)


    Websocket wäre der elegante und sichere weg, oder aber alles in Python, bottle oder sowas wie meigrafd alles schon genannt hat. Der Programmierumfang wird ähnlich sein, auch wenn jemandem PHP/JS vielleicht besser liegt.

    Bitte vorerst keine neuen Ideen, ich habe den Code von __deets__ umgesetzt und dieser funktioniert einwandfrei. Ich werde die Sache in den kommenden Tagen weitermachen und anschließend nochmals darüber hier berichten.
    Sobald mehr Zeit ist werde ich die Möglichkeit von __deets__ und Andreas gegenüberstellen und einen Bericht über die jeweilige Geschwindigkeit und Komplexität machen. Sollte in der Zwischenzeit jemand auf den Thread aufmerksam werden und vor dem gleichen Problem stehen, kann bei mir über PN mein bis dahin fertiger Stand erfragt werden.


    Vielen Dank für eure verdammt zügige und ausführliche Hilfe, damit hätte ich schon in der Vergangenheit viele Sachen anders machen können :bravo2:

    Okay, die IDs sind leider bei allen identisch..


    Die Daten auf der Schnittstelle sind aber doch nur da, wenn in dem Moment die Schnittstelle auch aktiv war oder nicht? Also wenn die durch das umschalten nicht gerade in dem Moment aktiv war, sollten nicht alle Daten noch da sein, zumindest meine ich das bei Tests schonmal gemerkt zu haben. Falls es doch so ist, wäre das noch eine Alternative.
    Es wäre mir aber definitiv lieber, wenn das Programm nicht immer im "Kreis" laufen würde, sondern das auslesen irgendwie anders übernommen wird. Ich teste hier gerade mehrere Sachen, die Sache mit einer gemeinsamen Pipe ist allerdings ganz interessant. Wenn das stabil läuft, sollte das eine top Möglichkeit sein.


    EDIT:
    Ich habe jetzt verschiedenste Pythontutorials durchgelesen und Seiten durchsucht aber ich habe Probleme mit meiner Pipe. Ich habe jetzt so viel getestet, dass ich garnicht mehr weiß, welches mal ein bisschen funktioniert hat. Ich hänge hier mal meinen Auslesecode für den Leser an, davon müsste eigentlich nur die Variable mit einer zusätzlichen Info (Schnittstelle) in die Pipe geschickt werden, damit das Masterscript das lesen kann. Wie gesagt, kann es von mir aus auch mit einer Datei laufen, wenn das zügig genug ist aber das bekomme ich auch nicht toll hin. Meine Pipes zwischen Child und Parent blocken sich irgendwie gegenseitig, ich finde aber keine Befehle um die Pipe freizugeben, falls man das muss. Wenn die Pipe innerhalb einer Datei ist, funktioniert es aufjedenfall. (Da wird dann ja zwischen 2 Funktionen hin und her gewechselt, weswegen die Pipe nie "blockiert" sein kann..)


    Hier jetzt mein Lesescript für die USB Schnittstelle:


    Hier müsste eigentlich nur die Variable decuid weitergegeben werden. Evtl. halt in Form von "USB0: " + decuid ; oder sowas.
    Falls jemand etwas hat, vielen Dank schonmal ;)


    Hast du das irgendwo dokumentiert oder könntest mir deinen Code zukommen lassen? An genau sowas hatte ich schon gedacht, mit der Geschwindigkeit bist du zufrieden? Ich verstehe das doch gerade richtig, dass ich dann 3 einzelne Programme hätte, die die Schnittstelle in eine Datei schreiben und ein "Master"-Programm, welches auf Dateiänderungen reagiert. Wäre interessant zu sehen was du da gemacht hast, vorallem die Reaktion auf Dateiänderungen. (Das ganze muss verdammt schnell sein, da habe ich mit Dateien immer so kleine Bedenken) Es ist ja soweit ich weiß auch möglich, Daten zwischen Programmen auszutauschen. Also wenn auf einer Schnittstelle was passiert, werden die Daten direkt an ein anderes Programm gesendet... Wenn das natürlich nachher in Multiprocessing ausartet verwerfe ich das sofort wieder, das ist mir zu hoch ;)



    Mir fällt nur ein, alle drei Ports zu öffnen und permanet auf ankommende Daten abzufragen, inwieweit das Timing passt, muss man probieren:


    Das Timing wird eher nicht funktionieren, dass ist auch meine Befürchtung. Wenn die Schnittstelle die Daten sofort verwirft (was ja normalerweise so ist), wird man nie den richtigen Zeitpunkt erwischen. Da der Leser zwischen jedem senden eine kurze Pause macht, wäre das schon zu lange wo man den Tag vor die Antenne halten müsste.



    Quote

    Noch eine Frage: Werden die USB-Schnittstellen (also USB0, USB1, USB2) immer gleich vergeben beim Start des PIs?



    Stichwort "UDEV-rules" , wenn die Adapter eine unterschiedliche ID haben, die Ports daraufhin vergeben


    Sehr gut, sowas habe ich gehofft. Kannst du mir verraten wie und wo ich die ID der Adapter lesen kann? Mit "lsusb" bekomme ich bei beiden die gleiche ID: 067b:2303 :/

    Hallo zusammen,
    ich habe aktuell eine relativ dringende Aufgabe und denke das hat schon jemand von euch gemacht und könnte mir dabei weiterhelfen.
    Ich habe 3 RFID-Leser (uninteressant) die eine "UART/RS232" Schnittstelle haben. Diese habe ich alle mit einem TTL -> USB Adapter verbunden und diesen in den Pi gesteckt. Dieser hier


    Nun möchte ich alle 3 USB-Schnittstellen wo die Adapter drinstecken "gleichzeitig" auswerten. Die RFID-Leser senden die ID in dem Moment wo ein Tag vorgehalten wird und diese ID möchte ich gerne mit dem Pi verarbeiten. Das heißt also, dass ich quasi alle 3 Schnittstellen "Live" abfragen muss, bzw. auf eine Änderung reagieren möchte. Ich kenne mich mit den Schnittstellen nicht sonderlich gut aus, kann diese aber per Minicom ohne Probleme auslesen. (Bei "cat dev/ttyUSB0" funktioniert es auch, bei ttyUSB1 kommt allerdings nichts, obwohl mit minicom auf dem Port eine Nachricht kommt. Wo da der Fehler liegt weiß ich bislang noch nicht..)


    Wie bekomme ich das mit Python jetzt fertig die 3 auszulesen, oder kann man das irgendwie anders gestalten? Ich gehe davon aus, dass die Botschaft sofort empfangen werden muss und diese ansonsten weg ist, das ist richtig oder? Funktioniert das überhaupt (simple) in einem einzigen Script? Ansonsten wäre es natürlich möglich für alle 3 Schnittstellen ein eigenes Script laufen zu lassen, welches dann ein "Masterscript" antriggert, wenn eine Nachricht empfangen wurde. Ich habe hier schon ein paarmal von Leuten gelesen, die diese Adapter nutzen, allerdings hat das nie jemand dokumentiert oder Code dazu irgendwo gezeigt. Hoffentlich ließt das einer von denen und kann mir weiterhelfen.


    Noch eine Frage: Werden die USB-Schnittstellen (also USB0, USB1, USB2) immer gleich vergeben beim Start des PIs? Die einzelnen Ports sollen einer bestimmten Tür zugeordnet werden, deswegen müssten diese natürlich auch immer gleich benannt sein, wenn der PI startet. Falls nicht, wäre es möglich eine HardwareID oder sonstiges auszulesen? Ich weiß nicht ob die Chips alle eine andere ID haben, das wäre natürlich sonst nicht möglich.
    Und noch etwas: Falls jemand die Teile nutzt, weiß jemand den Stromverbrauch davon? Ich kann im Netz nichts finden, möchte aber natürlich, dass das ganze stabil in den USB-Ports läuft. (Raspberry PI 2) Ich nutze aktuell nur den RX-Pin, dann müsste ich 5V+GND noch belegen. (Der Pi soll über GPIO mit einem 2.5A Netzteil versorgt werden, also eigentlich ist genug Saft vorhanden)


    Vielen Dank ;)


    EDIT: Ich habe gerade gelesen, dass man damit vorsichtig sein soll, weil der Pi nicht 5V fest ist. Da ich aber die USB Seite in den Pi stecke und die andere Seite an meinen Leser, ist alles okay oder? Ich denke, dass zielt darauf ab, dass man das RX/TX nicht direkt auf den GPIO legen soll, richtig? ;)

    Also Meigrafd, wenn du das angehst und den MFRC522-Leser einsetzen willst, schreibe mir mal eine kurze PN. Ich könnte dir die günstig abgeben :thumbs1:
    Falls spezielle Fragen dazu sind, ich habe das Ding jetzt schon etliche male verwendet, einfach melden. (Aber am besten Info per PN, ich vergesse solche Threads immer)

    Habe ich da das Stichwort RFID gehört? :bravo2: :bravo2: :bravo2:


    Jede gängige RFID Karte hat eine Unique-ID die vom Hersteller vergeben wird. Zu unterscheiden wäre in der Frequenz und im Protokoll, gängig für "günstige" Anwendungen sind 125KHz (z.B. EM4100) oder 13.56MHz (Mifare Classic 1K o.ä.). Die 125KHz Karten sind nicht beschreibbar und affengünstig, die günstigen 13.56MHz Karten sind mit einfachen Lesern lesbar, ebenfalls affengünstig und sogar beschreibbar. Die Mifares bieten eine relative Sicherheit, knackbar durch den Chaoscomputerclub, aber für ein Zeiterfassungssystem ziemlich uninteressant (Schließsystem ist da schon kritisch), die 125KHz Dinger clont dir jeder Heini zuhaus ;)


    Also brauchst du:
    - Leser (MFRC522)
    - Mehrere Tags
    - Raspberry Pi als Datenbank, Verwaltungseinheit, Display, Uhr
    - Backend für den Chef
    - Lib's: MFRC522-Python z.B. (funktioniert 1A)


    Baue ich aktuell zum wiederholten male hier: http://www.forum-raspberrypi.d…nd-mittels-rfid-erkennung
    Du scannst dann halt Mitarbeiter und keine Produkte. Aktuell ist alles in PHP/Javascript/JQuery, also sowohl Frontend (Touchdisplay - Uhrzeit, Kommen/Gehen, Info) und Backend (Datenbankverwaltung, Ausgabe, Änderung, Anlegung Mitarbeiter etc.)


    Falls mehrere Zeiterfassungsterminals gewünscht sind, empfehle ich dir.... deinen lieben Websocketserver, den du mir so toll gebastelt hast und hoffentlich in 2 Wochen endlich in den Dauerbetrieb geht. :D


    BTW: Ich habe beide Leser hier, den MFRC522 sogar in etlicher Anzahl und könnte mit beidem Tests gemacht und beide mehr oder weniger in Betrieb. Vorziehen tu ich aber ganz klar den MFRC522, die 125KHz-Dinger sind meiner Meinung nach eher für andere Anwendungen (Katzenklappe, Tierchips, Implantate)

    Ich bin "Gewerbetreibender" in einem anderen Bereich und kann dir bestätigen, dass du die Gehäuse auch ohne Anmeldung verkaufen darfst. Ich würde allerdings auch zuerst den Schritt über den Händler machen und um eine Rücknahme bitten. Falls du die neuen sogar dort bestellt hast, wird das relativ gut funktionieren. In der Regel sind heutige (Internet)-Verkäufer aber sehr kulant und nehmen vieles zurück auch wenn Sie das rechtlich nicht müssen.


    Zu deiner Frage ob du das verkaufen darfst:
    Du musst nur ein Gewerbeanmelden wenn deine Tätigkeit eine Gewinnerzielungsabsicht erfüllt. Das hast du in diesem Punkt nur eingeschränkt, da du die Gehäuse nicht zum Wiederverkauf erworben hast, sondern dies ein Fehlkauf war. Es gibt allerdings Abmahnanwälte die genau auf solche Leute warten und diesen einen schönen Brief schreiben. Wenn da nur einer von 100 eine Strafe zahlt, hat sich deren Arbeit gelohnt, deswegen wird ein solcher Fall meistens nicht lange verfolgt, wenn du dich dagegen wehrst.


    Übrigens: Die Summe für die Gewinnerzielung ist absolut irrelevant. Du könntest z.B. mehrere Jahre irgendwelche Sachen sammeln, die dir Spaß machen und irgendwann verkaufen. Da hängt dann eine gewisse Gewinnerzielung hinter, auch wenn die Sachen pro Stück nur 1€ kosten und du davon haufenweise verkaufst. Im Umkehrschluss könnte auch schon 1 Teil für 100€ eine Gewinnerzielungsabsicht haben, wenn du dieses Teil extra dafür zu einem niedrigeren Kurs gekauft hast. (Gutes Beispiel sind Veranstaltungstickets die häufig mit mehr als 100% Gewinn verkauft werden. Da bist du auch mit einem Ticket am Sack, wenn du nicht nachweislich beweisen kannst, dass du plötzlich verhindert o.ä. bist)


    Du sagst, du könntest maximal 9 Artikel gleichzeitig verkaufen, warum ist das so? Der Ebaygrundsatz sagt eigentlich:

    Quote

    Pro Monat können Sie entweder maximal 100 Artikel verkaufen oder einen Umsatz von maximal EUR 9.600,00 generieren, je nachdem, welches Limit zuerst erreicht ist.


    Wobei das Limit nicht jeden Monat ausgeschöpft werden kann, ich glaube bei 15.000€/Jahr ist Schluss als Privatverkäufer.


    Ich an deiner Stelle würde den Weg über verschiedene Medien gehen. Setze die Artikel bei Ebay, Ebay-Kleinanzeigen, hier im Verkaufsforum und in anderen Foren rein. (z.B. Mikrocontroller.net , da wird recht viel Zeug angeboten und verkauft, da dort viele Elektronikleute unterwegs sind)
    Mache ein paar schöne Bilder und eine gute Beschreibung dazu, schreibe überall dazu, dass es sich um einen Fehlkauf gehandelt hat und hebe sowohl die alte Rechnung als auch die Rechnung der neuen Artikel auf, falls du doch Post bekommst. Damit sollte sich die Sache sehr schnell erledigen.


    PS: Eine Gewerbeanmeldung kostet wenig Geld, mit ~50€ bist du in der Regel schon dabei. (Einzelunternehmer z.B.), aber du hast eine Steuerpflicht etc. und das ist alles viel Arbeit und ein gefährliches Geschäft für unwissende.

    Jetzt hast du mir doch noch Lust gemacht son Teil zu bauen und jetzt habe ich Kopfschmerzen ob ich nicht doch einen Spionspiegel kaufen muss.. Bin mir noch nicht so richtig sicher, ob nicht Plexiglas mit Folie doch reicht, man man man :s

    Hi,
    habe durch Zufall gerade deine Idee entdeckt. Ich habe aktuell nicht viel Zeit großartig eine Projektidee zu beschreiben, bin aber gerade an einem relativ ähnlichen System. Hierbei geht es um eine Art Lagerverwaltung, kann aber in alles angepasst werden. Grundsätzlich kann man dann jedes Buch bei der Abgabe Scannen und eben wenn es wieder zurückkommt und alles in einer Datenbank strukturiert aufbereiten und in einem Frontend anzeigen lassen.
    Ob du RFID oder Barcodes einsetzt musst du entscheiden, Barcodes eignen sich ebenfalls gut dafür. (Falls jedes Buch nur 1x da ist, reicht sogar der ISBN Barcode auf der Rückseite, aber das funktioniert bei 2 Büchern halt schon nichtmehr, bzw. man weiß nicht wer welches Exemplar hat, sondern nur das eins ausgeliehen ist)


    Die Tags würde ich übrigens nicht beschreiben, sondern die UID in der Datenbank zuweisen, dass sollte ausreichen. Zumindest wüsste ich nicht, wieso das nicht ausreichen sollte :D
    Ob RFID oder NFC (was im übrigen auch "RFID" ist), spielt kaum eine Rolle. Preislich ist es kaum ein Unterschied und der Leseabstand ist relativ ähnlich, NFC ist mitlerweile nur weiter verbreitet. Mit dem "Raumauslesen" kannst du übrigens vergessen, außer du hast ein paar tausend Euro zu viel ;) Mit "günstiger" Hardware sind 5cm realistisch.


    Hier der angesprochene Thread, das Projekt wird Ende des Monats fertig, falls du solange warten kannst könnte man da etwas Code und Bilder rausziehen. (Wenn der "Auftraggeber" dann alles dokumentiert hat :thumbs1: ) http://www.forum-raspberrypi.d…nd-mittels-rfid-erkennung