Posts by JumpY

    Das "doofe" RC-522 oder MFRC522 ließt zwar Mifare Karten, allerdings nur die ganz einfachen und unverschlüsselten. Weiter kann man damit z.B. S50 lesen, aber bei allem was darüber geht hast du keine Chance. Ich gehe davon aus, dass das System entweder "Mifare Classic" oder "Mifarce DESFire EV1", oder sogar noch neuer nimmt. Diese bekommst du damit nicht angesprochen, weil die Antennenabstimmung die Feldstärke nicht ausreicht. Zusätzlich ist der normale Code dazu auf 4 Byte beschränkt, die Karten haben aber 7 Byte, deswegen gibt das keinen.


    Falls du Interesse hast dir mal das Problem dazu durchzulesen, hier habe ich eine lange Erprobung geführt mit mehreren, natürlich ohne Erfolg: https://www.mikrocontroller.net/topic/379923


    Ich bin mir gerade nicht 100%ig sicher, aber das PN532-Board für Arduino/Raspberry Pi sollte die Karten lesen können, wenn es obige sind. Ich habe jetzt leider keine Zeit das zu testen, aber meine damit damals meine gelesen zu haben. Gibt es mehrere verschiedene Ausführungen, ich habe die blaue längliche Karte hier. (Gibt's aus China und Co überall, wenn man nicht warten will gibt's die auch aus DE, aber halt teurer) Wenn es wirklich wichtig vor dem Kauf wäre, könnte ich nochmal einen Testaufbau sonst machen..


    Wenn du ein NFC-Fähigs Handy hast (Samsung z.B., kein I-Föhn), kannst du dir eine App dafür runterladen. Gibt mehrere verschiedene, "RFID Taginfo" oder "NXP Taginfo" z.B. dann kannst du die Karte an die Rückseite deines Handys halten und die Karte damit auslesen. Dann siehst du normalerweise schonmal die UID & die Art der Karte. Es gibt allerdings Karten, die keine fest UID haben, sondern bei jedem Scan die UID ändern, da brauchst du dann definitiv den Securitykey um zweifelsfrei bestimmen zu können um welche Karte es sich handelt.

    Hio,
    ich bin jetzt kein Pythonprofi aber so sollte es funktionieren: (Habe noch ein Leerzeichen + Bindestrich zwischen Name und UID gemacht)


    Code
    codes = {"43F2CF7F":"Michael","B3C299A7":"Christina", "A384D17F":"Hannes"}
    
    
    if uid in codes:
      print ("Hallo %s" %codes[uid])
      logging.info ("%s" %codes[uid] + " - " + uid)


    Ansonsten kannst du die Variable auch zusätzlich definieren, wenn du da nicht mehr durchblickst:


    Code
    codes = {"43F2CF7F":"Michael","B3C299A7":"Christina", "A384D17F":"Hannes"}
    
    
    if uid in codes:
      user = "%s" %codes[uid]
      print (user + " - " + uid)
      logging.info (user + " - " + uid)


    Du musst bei einem %s immer einen Verweis dahinterhaben, worauf sich das bezieht. Das hattest du im print drin, im logging nicht.


    Deine MySQL Tabellen hören sich sinnvoll an. Achte auf die richtigen Zeichensätze, damit die Uhrzeiten und so auch richtig sind und Umlaute evtl. erkannt werden. Wenn du willst, kannst du noch eine "tags_new" Tabelle machen, so könntest du quasi unbekannte Tags nach einmaligem lesen sehen. Bei dir vielleicht irrelevant, aber so kann man neue Tags relativ einfach dann neu anlegen, weil man die UID direkt in der Datenbank hat und für Zutrittssysteme unabdingbar um "Versuche" mit falschem Tag zu sehen.


    Kannst dir auch mal durchlesen, wie man Tabellen verknüpft, und das man Schlüssel anlegen sollte, dass UIDs z.B. Unique sind, also nur einmal in einer Tabelle vorkommen dürfen. Dann kannst du Tabelle 1 mit 2 verknüpfen, und "quersuchen", wenn die UID in beiden vorhanden ist. Das ist aber schon höhere Technik, aber Unique wäre schon sehr wichtig, sonst hast du nachher verschiedene Leute auf einer UID rumlaufen.
    Viel Erfolg :)

    bin da fast ganz bei Dir. Einzig bei der grösseren DB als MySQL zu Lernzwecken verstehe ich Deine Intension nicht so ganz... :s


    Ich habe bislang nur mit MySQL als wirkliche Datenbank gearbeitet, deswegen die Empfehlung von mir. Ich weiß, dass es viele kleine Datenbankformen gibt, die dafür natürlich satt ausreichen und warscheinlich sogar schneller sind.



    Ich ebenfalls. Wenn man denn erstmal apache, php und mysql zum Laufen gebracht hat, wird man es nicht mehr missen möchten.


    So ist es bei mir gewesen. Ich habe es mehrfach auf anderen Wegen versucht und bin wegen der unendlichen Möglichkeiten immer wieder auf PHP zurückgefallen, womit ich die DB "hübsch" ausgewertet habe. Sicher gibt es einfacherere Sachen, oder Möglichkeiten die ohne PHP auskommen, aber die Dokumentation und Beispiele von PHP in Verbindung mit einer MySQL Datenbank sind einfach perfekt. Es gibt meiner Meinung nach nirgends eine ähnlich gut dokumentierte Hilfe, die zum lernen wirklich leicht fällt.



    Wenn's nicht zu umfangreich wird, bietet sich auch SQLite als Datenbank an. Das ist in Python gut unterstützt und erspart einem das Aufsetzen eines SQL-Servers.


    Richtig, kann man ebenfalls nehmen.
    Ich bin "früher" an eine Datenbank geraten, die eben MySQL war und mit PHP verarbeitet wurde. Das gleiche habe ich dann auf dem Pi umgesetzt, die Rechenleistung etc. auf dem kleinen Mann ist mehr als nur ausreichend dafür und es lässt sich sehr schön arbeiten.


    Ich würde immer wieder den größten Weg nehmen, also Python zum auslesen der Tags und damit direkt die Datensätze in der Datenbank erstellen, MySQL als Datenbanktyp und HTML/PHP zur Auswertung der Datenbank in ein nutzerfreundliches Format. Mein Pi läuft z.B. ohne "Display", ich weiß dann nicht, wie man eine "Website" basteln kann, die einem von jedem Standort und jedem Endgerät das ganze hübsch darstellt. Das ist für das Projekt sicherlich oversized, aber man kann es so super oft brauchen, dass es wirklich eine Überlegung Wert ist das zu lernen. Vielleicht hat man ja auch irgendwann sowieso Spaß an einer kleinen Website oder arbeitet mal irgendwo mit, dann helfen einem die Kenntnisse direkt weiter.


    Beispiel: Ich habe mal eine Messreihe an einer Heizung mit vielen Temperaturfühlern und "LED-Erfassung" gemacht. Das ganze habe ich Tagelang in Exceldateien ausgewertet und die Probleme gesucht. Anschließend habe ich das ganze mit verschiedenen "fertigen Codeteilen" in Graphen, Diagramme, etc. auf einem Webserver eingespielt. Damit war die Fehlersuche in 5 Minuten abgeschlossen und jeder Laie versteht direkt was gemeint ist und kann sich alles ansehen, sofern er sich dafür interessiert. Es war eine sehr simple Aufgabe, die sehr professionell (optisch) aussah.


    Jenachdem wie dringend es ist, können wir das "zusammen" machen. Ich habe eigentlich genau das gleiche schon fertig hier liegen, dass müsste nur etwas angepasst und verkürzt werden. Möchte dir das aber nicht einfach hinwerfen, da sprechen wir lieber gemeinsam drüber, dass du das auch verstehst und daran weiterarbeiten kannst.

    Hio,


    du hast mir ja bereits eine PN geschrieben, ich antworte dann mal hier damit jeder das lesen kann.


    Es gibt meiner Meinung nach 3 Ansätze die Daten zu sichern und "aufzubereiten":


    1) Du schreibst alle Lesevorgänge in eine Datei, jeder neue Scan in eine neue Zeile. Gefahr: Die Datei ist per Hand nicht mehr sauber zu lesen und extrem anstrengend zu prüfen. Möglichkeit: Jeder Nutzer bekommt eine eigene Datei die mit der UID des Tags verknüpft ist. Somit wäre jede Datei nur für eine Person.
    2) Du schreibst alle Lesevorgänge strukturiert in eine CSV-Datei. Diese kannst du vorher mit Kopfzeile anlegen, oder aber die Kopfzeile weglassen. Dabei können ALLE Nutzer in eine CSV-Datei, strukturiert geschrieben werden. Wenn du das ganze z.B. in Excel importierst, kannst du Filterfunktionen einfügen, sortieren, Formeln zur Stundenberechnung etc. erstellen. Problem: Ich bin mir nicht 100%ig sicher, ob man eine CSV-Datei so bauen kann, das Excel die "live" lesen kann. Es könnte also sein, dass du die Datei kopieren musst und dann jedes mal öffnen und einstellen, ich weiß nicht ob Formeln in der "Datensammeldatei" möglich sind, bzw. wie diese anzulegen sind.
    3) Du machst das ganze direkt mit einer Datenbank. Eine strukturierte Liste ist bereits eine Datenbank, ich würde aber für den Lernzweck eine größere Datenbank wie MySQL nehmen, wenn du wirklich Interesse hast daran zu arbeiten und evtl. spätere Projekte oder Ideen damit mal zu testen. Ich kenne deine Fähigkeiten anderer Programmierungen nicht, aber eine Datenbank ist im Prinzip sehr simple für einfache Dinge und du kannst damit nachher anstellen was du willst. Du kannst übrigens auch aus einer Datenbank eine CSV o.ä. exportieren.


    Du musst dir dann nur noch überlegen, wie du die Stundenberechnung machen willst. Bei einer Datenbank würde sich ein Webserver auf dem Pi anbieten, wo du eine kleine Internetseite zur Datenausgabe bastelst. Das können Tabellen, Berechnungen, Kalender, Liniengraphen, Diagramme jeglicher Art sein. Damit kann man viele tolle Spielereien anstellen um das "hübsch" aufzuarbeiten, druckbar zu machen, per Smartphone vom Sofa oder von jedem Laptop in der Wohnung (Heimnetz) anzusehen.


    Ich würde Variante 3 wählen, wenn das ganze nicht eilig ist und der Lernzweck im Vordergrund stehen soll. So eine Übung kann man immer brauchen und die Programmierung muss nicht sehr hübsch sein und ist meiner Meinung nach dank Anleitungen die aus der Internet-Steinzeit bestehen, wirklich sauber und Idiotensicher dokumentiert.

    Das Ziel ist es natürlich, das Script in dem Umfang fehlerfrei zu gestalten, dass ist schon klar.
    Die Zutritte sollen aufjedenfall geloggt werden und da auch die Gültigkeit abgefragt wird, muss die Datenbank schon in dem Umfang eingebunden bleiben. Ich werde das ganze mal neu strukturieren müssen, hab auch keine Ahnung wo eine UID 0000000 herkommen soll, das sind irgendwelche falschen Daten die da erkannt werden.

    Jap, MySQL ist noch da.
    Ich habe in dem systemd Unit womit das Script im Autostart ist, einen automatischen Reboot vom Script eingestellt. Das Script startet nach dem Fehler direkt neu und läuft danach wieder, also kann auch wieder DB-Abfragen machen.
    Irgendwo muss da wohl ein Abfragefehler drin sein.. Kann man eine MySQL Abfrage denn nicht so machen, dass die Abfrage versucht wird, aber eben bei einem Fehler übersprungen und nicht abgebrochen wird?

    Auszug aus dem journalctl:



    Wie man sieht, geht da mit der Datenbankverbindung etwas schief. Gut wäre es eigentlich, wenn die MySQL Sache "freiwillig" wäre, also die Abfrage versucht wird und bei einem Fehler quasi übersprungen. Das würde zumindest im Notfall den Absturz verhindern. Was da jetzt genau passiert ist, weiß ich nicht, da muss irgend ein dummer Fehler im Code sein. Die UID 00000000 darf eigentlich nie vorkommen. Vielleicht ist das ein Fehler vom Leser das er irgendwas sendet und das falsch erkannt wird oder einfach Datenmüll?
    Da wären die Pythonprofis gefragt =(


    BTW: Die Timestamps sind auch sehr verwirrend. Ist es so, dass das Journal die Meldungen erst beim Absturz bekommt? Dann wären das quasi alle Ausgaben aus dem Script die gemacht wurden auf einmal, deswegen der Timestamp? Dann sollte ich wohl einen Timestamp in jede Ausgabe einbauen, damit ich sehe wann das passiert ist..

    Hallo zusammen,
    danke ich werde mir das mal ansehen.


    Der Autostart ist hiermit gelöst: http://www.raspberrypi-spy.co.…pt-on-boot-using-systemd/
    Da sehe ich dann auch Fehler? Wenn ja müsste ich das ja wirklich mal suchen, habe bislang nix gefunden dazu..
    Automatischer Neustart geht auch darüber? Kannst du mir dazu näheres sagen?


    Was mache ich dann, wenn ich keine Exceptions oder sowas einbaue? Ich habe leider keine wirkliche Ahnung davon wie ich das am sinnigsten lösen soll..


    Ich kommentiere das Script mal ordentlich, dann wird das ersichtlicher. Leider ist mein Stil schlecht lesbar, aber ich kann es eben nicht besser aktuell. Bist du auch irgendwo anders unterwegs, als hier im Forum? (IRC,Skype, Whatever). Vielleicht findet man ja eine Zeit wo man mal eine Absprache halten kann.


    Gruß


    Hier das neue Script mit Kommentaren: http://pastebin.com/E11iGdcQ
    Die Zeit und Datumssteurung kann im Prinzip nicht beachtet werden, die Gültigkeit ist aktuell sowieso noch immer gegeben, kommt später zum Einsatz. Ist das jetzt so verständlich oder noch etwas unklar? Kurzer Ablauf in Worten:


    - Das Script öffnet 3 Serielle Schnittstellen die beim Aufruf übergeben werden
    - Diese werden immer geprüft ob Daten vorhanden sind
    - Die Daten werden ausgewertet, mit Startflag, Checksumme etc.
    - Die gefundene ID wird in Dezimal umgerechnet und mit der Datenbank verglichen
    - Wenn bekannt und gültig wird ein Relais und eine LED geschaltet und der Zutrittslog geschrieben
    - Ist die unbekannt, wird die in "Neue Tags" gespeichert und auch ein Access_log geschrieben. Zusätzlich blinkt die LED.


    Das soll in Dauerschleife laufen, damit halt jeder Lesevorgang immer erkannt wird.

    Hallo zusammen,
    ich habe ein Pythonscript, welches Serielle Schnittstellen einließt und GPIOs schaltet. Die Funktion des Scripts ist einwandfrei, allerdings geht der Langzeittest mächtig in die Hose. Mein Pi sitzt in einer Türsteuerung, welche fest im Haus eingebaut ist, deswegen muss das Script unbedingt stabil laufen.
    Ich habe versucht die Ausgabe des Scripts in eine Textdatei umzuleiten, die Textdatei blieb aber immer leer. (Ausgabe im Terminal funktioniert einwandfrei) Ich brauche irgend eine verlässliche Loggingmethode, die mir alle Fehler die auftreten mit Timestamp oder ähnlichem ausgibt, damit ich weiß warum das Script zu welchem Zeitpunkt abstürzt.
    Wenn ich den Pi starte, startet der Autostart das Script automatisch mit:


    Code
    python /home/pi/read.py /dev/USB1 /dev/USB2 /dev/USB3


    Dabei sind die /dev/USB1 etc. die Schnittstellen die ich dem Script übergebe. Das sind eingesteckte TTL->USB Wandler, an denen eine RFID Spule hängt. Somit lade ich die alle rein und bei Datenstrom wird das Script durchlaufen und wartet auf die nächsten Daten.
    Nach dem Start läuft das Script eine unbestimmte Zeit ohne Probleme, am kommenden Tag (über Nacht irgendwann), kommt allerdings keine Reaktion mehr. Eben auch nicht, dass der Chip irgendwie falsch gelesen wurde, also gehe ich davon aus, dass das Script komplett gecrasht ist. (Kann ich nicht feststellen ohne Fehlerlog etc. was da los ist..)


    Wunsch:
    - Ausgabe in eine Datei oder ähnliches, aufjedenfall so, dass ich die Fehler auch mitbekomme wenn das abstürzt.
    - Die Datei sollte im Fehlerfall gesichert sein, ansonsten beim Reboot überschrieben werden. (/tmp)
    - Exceptions abfangen. Wenn ein Fehler auftritt, soll der Process gekillt werden falls er noch läuft und automatisch neugestartet werden. Wenn es schwer ist den Prozess zu detektieren oder ähnliches, könnte bei einer Exception auch ein Reboot ausgeführt werden. Im dem Fall soll die Logdatei natürlich erstmal gesichert werden.


    Natürlich will ich vorrangig den Fehler finden, da der täglich / nach paar Stunden auftritt und beheben, dafür wie gesagt brauche ich einen Log. Da der Pi quasi 24/7 läuft wollte ich auch eine Sicherung + Reboot jeden Tag bzw. 1x die Woche ausführen. Ich denke je Woche sollte ausreichend sein, weil die Arbeit für den Pi ja sehr gering ist..


    So nun, wer kann sowas? Meine Pythonkenntnisse sind wirklich beschissen und nachdem meigrafd an dem Script rumgewerkelt hat (Danke nochmal!), ist es noch etwas undurchsichtiger für mich geworden. Möchte mir da jemand helfen (gerne auch im IRC oder sonstwo, damit man das zusammen machen kann, sonst einfach hier). Dann muss ich mit den Sachen an das Haus fahren und das vor Ort einbinden und hoffen den Fehler so zu bekommen...


    Script:


    Gruß
    JumpY


    Ich denke aber eher an Überzieher für Kabel wo Gewebeschlauch wirklich ein Gewebe ist, nicht an Gartenschlauch wo das Gewebe in Kunststoff oder Gummi eingebettet ist.


    Ist ja auch auf dem Produktfoto vom Threadersteller klar zu erkennen, dass es erstmal um "Kabelschutzmantel aus Gewebe" geht, also ein reines Gewebe. Warum dabei keine Gummirollen funktionieren sollen mag ich zwar nicht so richtig verstehen, aber naja. Eine "Stachelwalze" egal wie ausgeführt, auch wenn es nur eine Art Rändelung ist, kann bei zu hohem Druck der Walze definitiv das Gewebe zerstören.


    Gedanke: Du hast eine untere feststehende Rolle und eine obere, beide mit Gummi beschichtet, oder ähnlichem weichen Material. Die Materialstärke die du dadurch jagst, hat z.B. 2mm. Wenn der Spalt zwischen den Rollen jetzt 1mm im Ruhezustand ist, muss sich das Gewebe 1mm in die Walze eindrücken. Dadurch entsteht so viel Anpressdruck/Reibung, dass das ohne weiteres auch ohne Schlupf transportiert werden kann. Meiner Meinung nach sollte das ohne Probleme funktionieren. Wenn man den Spalt nicht genau einstellen will, reicht halt eben auch ein entsprechender Anpressdruck der Oberrolle durch Feder, Handverstellung oder ähnlichem um das zu gewährleisten.


    Du brauchst kaum eine Kraft um das Zeug zu ziehen, leg das Teil auf einen Tisch, drücke mit dem Finger oder irgendwas darauf und ziehe den Schlauch. Da ist doch keine Kraft notwendig, also brauchst du auch keine große Mitnahmekraft an den Rollen.

    Möpmöp, Fehler gefunden, GPIO kaputt :s


    Hab zufällig noch einen anderen Pi2 im Schrank gefunden und die SD Karte da reingeworfen -> läuft. Scheinbar hab ich da mal einen kurzen dringehabt und nicht gemerkt, mit dem anderen Pi läufts ohne Probleme. Dachte immer das die ganze GPIO Leiste abraucht und nicht nur ein Pin ;)

    Hallo zusammen,
    habe ein Script wo mehrere GPIOs geschaltet werden sollen. Ich bin mir eigentlich sicher, dass das mal genau so alles funktioniert hat, nun ist mir beim testen aufgefallen, dass ein GPIO nicht schaltet. Ich habe meine eigene Platine etc. mal abgemacht und betreibe den Pi jetzt ohne zusätzliche Hardware.


    Wenn ich in Python, im Terminal, oder auf anderen Wegen versuche den physikalischen Port 16 zu schalten, schaltet dieser nicht. Port 18, oder andere funktionieren ohne Probleme. Hat einer eine Idee was das sein könnte? Ist es möglich, dass der Port irgendwie geblockt ist, oder sogar ein einzelner GPIO defekt? Habe leider kaum eine Möglichkeit einen anderen Port zu belegen weil alles fest verlötet ist.. Jemand eine Idee wo ich den Fehler finden kann?


    Es geht also um den phys. Pin 16, also GPIO 4... (einzige Hardware sind USB-TTL Wandler, die haben aber ja damit nix zu tun oder?)


    Wäre dringend, hoffe es weiß jemand was... :s

    Naja, in welcher Größenordnung/Preis/etc. sprechen wir hier? Wenn du planst, 100.000 Einheiten zu 10m und 1€ zu verkaufen, würden 5cm Längentoleranz einen "Verlust" von 500€ ausmachen. Verkaufst du nur 1000 Einheiten, wären das 5€ Verlust bei 995€ "Gewinn". Einfach mal grob gerechnet, da stellt sich dann die Frage ob es sehr aufwendig geplant werden muss, oder ob du einfach eine gewisse "Maschinentoleranz" zulässt.
    Ebenfalls spielt es eine Rolle ob du das ganze an einen großen Kunden verkaufen willst der dir sagt, dass du 10m + Toleranz bieten musst, oder ob du die Dinger bei Ebay verhökerst. Eine genaue Artikelbeschreibung mit einer Toleranzangabe von +-5cm auf 10m o.ä. würden mich als Käufer nicht abschrecken, weil man das Zeug eh selber stückelt und somit das alles vertretbar und im Centbereich ist. Überleg dir also vorher eine genaue Toleranzgrenze und lege deine "Maschine" dementsprechend aus. (Wenn die 100€ mehr kosten würde, kannst du dafür viele viele Meter Verschnitt verschenken ;))


    So, zu der technischen Überlegung, ganz simple gedacht:
    [Blocked Image: https://abload.de/thumb/unbenannt9hu8e.jpg]


    Links ist deine Materialrolle. Die ist sinnvollerweise auch angetrieben, oder aber du stehst daneben und rollst die von Hand ab, oder man gestaltet noch eine Zwischenrolle die dafür sorgt, dass die Hauptrolle immer genügend "Puffer" vorrantreibt. Danach kommt die Mess- und Transportstation. Die untere Rolle ist feststehen, die obere per Federkraft auf dein Band gedrückt. (Kann auch ein Motor sein, oder eine kleine Führung wo man die Rolle von Hand aufpresst und mit einem Hebel arretiert). Die obere Rolle ist dabei auch dein "Wegmessgerät" mit einem sehr genauen Durchmesser. Diese wird von einem kleinen Motor angetrieben und die Umdrehungen gezählt (gibt 100te Möglichkeiten das zu tun), und per Umfangslänge dann berechnet. Dahinter ist deine Abschneidestation. Diese ist entweder manuell von Hand an einer fest definierten Position, oder durch eine automatische Schere (egal in welcher Art). Sinnvollerweise brauchst du zwischen Transport und Schneidstation eine kleine Schiene wo das Band weiterläuft und in seine Ursprunglage kommt. Dahinter sollte das Band aber aufgefangen werden, damit keine Spannung durch 10m herunterhängendes Zeug entsteht. (Die Schiene kann man ja zwischendurch Teilen, dann weiß man optisch immer direkt wo man schneiden müsste!)


    Ich tippe auf eine Genauigkeit von +-1cm, wenn alles ordentlich ausgerichtet ist und man sich etwas Mühe bei den Überlegungen macht. Z.b. ein kleines Rad für den Antrieb bedeutet ganz viele Umdrehungen mit viel Fehlerpotential, ein großes Rad müsste ordentlich detektiert werden, weil z.B. 1/10 Drehung Fehler schon ordentlich viel Länge bedeutet.


    Ich kenne Maschinen die genau einen solchen Transport machen, ohne Probleme. Allerdings alles Industriemaschinen mit Preisen zum umkippen. Ich habe sowas aber schonmal irgendwo im Selbstbau gesehen für Kabellängen inklusive Markierungsmaschine. Falls ich es finde, stelle ich Fotos ein ;)

    Rein von der physikalischen/mechanischen Seite her, sollten 2 mit Gummi beschichtete Rollen "ausreichen". Den Gewebeschlauch kannst du ja bis quasi Materialstärke eindrücken, ohne dass dem Geflecht etwas passiert. Gleichzeitig weist er relativ hohe Reibwerte auf, was für eine Transportrolle + "Wegmessrolle" spricht.
    Wie genau soll das ganze Messen und der Abschnitt denn sein? Das Geflecht ist ja extrem dehn- und stauchbar, ich tippe mal, dass man mit Dehnung von 10m schnell auf 11m kommt und mit Stauchung eben andersrum. Das eine wäre gut für den "Kunden", das andere für den "Händler", falls es für einen Verkauf gemacht werden soll.


    Prinzip von 2 Rollen/Scheiben die mit Gummi beschichtet sind. Eine davon ist starr angebracht, die andere ist per Luftdruck, Motor, Stellheben oder was auch immer klemmbar. Diese Rolle ist sehr genau gefertigt und von der werden die Umdrehungen gezählt, per Umfang auf die Abrolllänge gerechnet und dementsprechend danach abgeschnitten. Wichtig: Der Anpressdruck muss hoch genug sein um eine ausreichende Reibung zwischen den Rollen zu haben, dass das Geflecht nicht durchrutschen kann. Sollte bei Gummibeschichtung aber ohne Probleme machbar sein. Falls ich gleich mal ein paar Bilder finde, sende ich die nach ;)

    Das ist ja Irre, ich bin namentlich erwähnt, ich bin mir doch gar keiner Schuld bewusst :daumendreh2:


    Nettes Projekt, ich bin auf die Umsetzung gespannt. Ich bin zwar persönlich kein Fan von Funkdingsbums, auch wenn sich da in der Vergangenheit einiges getan hat. Mir macht die Akkulaufzeit immer Kopfschmerzen, auch wenn z.B. Rauchmelder innerhalb kurzer Zeit von 3 Monaten 9V-Block auf >10 Jahre Knopfzelle gewachsen sind. Ich werde das dann mal verfolgen :thumbs1:

    Da war der Herr meigrafd knapp schneller.. Wenn du mehrere USB-Sticks eingesteckt hast oder das irgendwann vor hast, sollte man das per udev-Regeln festlegen welcher USB-Stick abgefragt werden soll, also eine eindeutige Zuordnung. Falls das ausgeschlossen ist, sollte es so funktionieren ;)

    So, Fazit:
    Bekomme zum verrecken den Devicetree unter Jessie nicht kompiliert und somit fällt die Softwarelösung raus. Die Herren von Raspbian (IRC) haben keine Idee woran das liegen soll, die Herren von Debian direkt wollen mit PI's nichts am Hut haben :lol:
    Hardwarelösung mit Pulldowns auf Masse (10kOhm) funktioniert einwandfrei. Habe eine Messung mit dem Oszilloskop gemacht, der Transistor hat für ~15ms einen Durchgang. Das kann aber durch ein unsauberes Signal bzw. die Einschaltschwankung? kommen, also im Grundsatz schaltet der GPIO beim booten nicht durch und wird auf LOW gehalten.


    Somit wäre das dann auch geklärt, vielen Dank ;)

    Sooo,
    es hatte alles soweit funktioniert, aber.. Ich habe den ganzen Testaufbau jetzt auf einer sauberen Raspbian Partition neu aufgebaut und stoße genau hier an Probleme.. Ich habe versucht die Devicetree Regeln wie hier https://www.raspberrypi.org/fo…iewtopic.php?f=37&t=91344 wieder genau so eingestellt wie bei dem "alten" Raspbian, allerdings habe ich beim build der dt-blob.dts jetzt ganz viele Warnings. Die sehen im Prinzip alle gleich aus:


    Pin@P1 has a unit name, but no reg property , etc. Habe jetzt die genaue Fehlermeldung nicht mehr, das ist ein Teil davon. Im Netz finde ich absolut nichts darüber. Habe mir dann von der offiziellen Raspbian Seite aus den Manuals deren dt-blob.dts in Rohform genommen und diese versucht aufzuspielen -> gleiche Fehler. (Auf dem "alten" Raspbian laufen beide Dateien von mir ohne Probleme)


    Kann sich jemand vorstellen was da irgendwo hakt? Fehlt mir irgend ein Paket, fehlen irgendwelche Zuweisungen die damals irgendwie automatisch dabei waren? Im ganzen Netz finde ich absolut nichts zu genau der gleichen Problematik, nur bei irgendwelchen anderen builds die den Bootloader betreffen, aber ohne passende Lösung für mich..