Posts by Masterkennie

    Hallo,


    wenn ich als root crontab -e ausführen möchte, dann erscheint folgende Anzeige in der Konsole:



    Jetzt dachte ich mir, ich prüfe mal die Einstellung für den Standard-Editor mit update-alternatives --config editor, dort ist aber wie gewünscht der nano mein Standard-Editor.


    Die Konsole ist dann mit der Anzeige 888 für mich quasi nicht mehr bedienbar. Aufgrund fehlender Kenntnisse kann ich dann das Putyyfenster nur noch schließen und eine neue Session beginnen.


    Kann mir jemand behilflich sein und mir sagen was es mit der 888 aufsich hat?


    Als User PI kann ich ohne Probleme mit crontab -e  Cronjobs anlegen bzw. verändern.

    Hallo und guten Morgen,


    in meinem Projekt sind derzeit vier Arduino-Slaves (Erfassung von Klimadaten im Innen- und Außenbereich) per RS485 mit dem Raspi-Master verbunden. Ich nutze aktuell Bottle zur Visualisierung der Messwerte - das wird sich später noch ändern.


    Jetzt hat sich folgendes Fehlerbild eingestellt: Beinahe zyklisch bei jedem 2. Aufruf der Webseite endet das Script in folgendem Fehler:



    Drückt man jetzt F5 (aktualisieren) dann erscheint die Webseite so wie gewünscht. Öffnet man die Webseite nach ein paar Tagen, erscheint zu 99% die korrekte Anzeige. Nach etwas Beobachtung des Bus per QModBus ist mir aufgefallen, dass zwei der vier Slaves nach erfolgter Datenübertragung noch zwei Nullen hinterher senden. Das sieht in QModBus dann so aus:



    Und das ist das eigentliche Verhalten, bei dem ich denke dass es die Fehlerursache für die Exeption ist. Das heißt, zunächst wird der Request gesendet, daraufhin folgt der Response und ein paar Millisekunden später erscheinen dann noch die beiden Nullen. Und das bei jedem Klick auf Send.


    Als Zusatzinformation sei noch erwähnt, dass ich zweierlei Hardwareaufbauten habe. Zwei Slaves, die ersten beiden Prototypen, sind auf Lochraster aufgebaut. D.h. Arduino-Nano und ebay TTL zu RS485 Converter auf Lochraster gepappt. Allerdings waren mir die fertigen TTL Converter zu sperrig und die LED unnötig. Die beiden Slaves, die die Nullen senden sind sozusagen im Serienstand d.h. auf geätzter Platine (Platinenservice AISLER) mit eigens aufgebautem TTL zu RS485 Converter der einfach platzsparender aufgebaut ist:




    Der TTL Converter ist nach folgendem Musterschaltplan erstellt (wobei ich auf die LED verzichtet habe):





    Weiß jemand eventuell warum das passiert und wie ich das Verhalten abstellen kann?

    Hallo,


    ich habe mich die Tage mir der Hilfestellung vom bootsmann --> bottle - the right way to use zur Installation und Einrichtung von Bottle beschäftigt. Ziel ist es für mich, die Messwerte mehrerer DHT22 im Intranet darzustellen. Nach nunmehr zwei Tagen und Nächten verzweifele ich daran, die Funktionsweise von Bottle zu kapieren. Zumindest wenn es um die Verwendung von Platzhaltern und deren Befüllung mit Daten geht - ich steig nicht durch. Leider half mir dazu auch die Doku von bottlepy.org irgendwie nicht weiter.




    Das Verzeichnis über das ich mit Bottle arbeiten möchte ist folgendermaßen eingerichtet, zunächst die Verzeichnisstruktur von Bottle:



    Meine derzeitige app.py sieht wie folgt aus (der Quelltext sollte jetzt nach all dem Frust erst mal nur darüf sorgen, dass die Messwerte einer Messstelle im Browser angezeigt werden, die Beispielrouten vom Bootsmann sind auch noch drin):



    Ausgabe im Web (Geht erst mal, ist aber nicht das was ich eigentlich will, ich brauchte erst mal irgendein Erfolgserlebnis):




    Im Grunde habe ich mir das System so vorgestellt, als dass ich in app.py die komplette Logik der Messwertabfragen abhandele, Variablen mit den Messwerten fülle und diese Variablen dann per Platzhalter über die jeweilige Route in der ensprechenden Templatedatei einsetze :conf::conf:.


    Erste Frage: Hab ich das System überhaupt richtig verstanden?


    Zweite Frage: Wie übergebe ich deklarierte und gefüllte Variablen an Platzhalter?


    Dazu finde ich einfach keine Doku und verzweifele dran :conf: Für den einen oder anderen Tipp wäre ich euch sehr dankbar :danke_ATDE:

    Moin fred,


    ich danke dir für deine schnelle Antwort, das hier ist der Link:


    Alter Link


    Der Linkkonverter spuckt zwei Ergebnisse aus, aber ich kann dort jedoch die Installationsanleitung zum Thema Qmodbus bzw. Modbus Monitor nicht finden - oder sehe den Wald vor lauter Bäumen nicht :conf:


    Ggfs. gibt es noch andere Quellen mit ausführlicher Installationsanleitung für diese GitHub-Files?


    ed-chemnitz/qmodbus

    Hallo liebe Forengemeinde,


    vor über einem Jahr habe ich den Qmodbus bzw. Modbusmonitor auf meinem Pi3 nach der super ausführlichen Anleitung vom dreamshader installiert. Jetzt ist mir die Speicherkarte aufgeraucht und ich habe das System neu aufsetzen müssen. Ich hatte mir seinerzeit auch den Link zur Installationsanleitung vom dreamshader als Favorit abgelegt, nur ist Dieser durch den Wechsel der Forensoftware leider ungültig geworden. Und nach langer Recherche hier im neuen Forum kann ich diese Anleitung einfach nicht merh finden :(


    Die Installationsanleitung bei github ist für mich als Compilierlegastheniker leider nicht ausreichend, die Einrichtung von Qt lässt mir graue Haare wachsen und gleich wieder ausfallen....


    Kann mir jemand von euch behilflich sein und ggfs. den Link zur Installationsanleitung hier posten?


    Ich danke vielmals :thumbup:

    Hallo,


    da ich bisher schon einige gute Hilfe hier in dem Forum erhalten habe bringe ich das Thema Rahmen bzw. Einbaublende für ein 1,3" OLED hier mal mit an evtl. kann mir jemand weiterhelfen.


    Ich benötige für meine 1,3" OLED´s Einbaurahmen oder eine Displayblende da ich nicht in der Lage bin einen Displayausschnitt so sauber hinzubekommen, dass es ansehnlich ausschaut und weil die reine Leuchtfläche des OLED´s kleiner ist als das Glas.


    Hat hier evtl. jemand die Möglichkeit oder Adressen wo ich derartige Rahmen möglichst in der Farbe reinweiß bekommen könnte?


    Im Netz habe ich bereits das hier https://deloarts.wordpress.com…9/04/oled-display-rahmen/ gefunden, allerdings habe ich keinen 3D-Drucker und wohne in einem 850Seelen Dorf auf dem Land - habe also leider keinen Copyshop mit 3D-Druckern in der Nähe.


    Evtl. gäbe es ja auch jemanden unter euch der mir nach Aufmaß einen 3D-Druck erstellen könnte? Oder im Netz gibt es fertige Blenden/Rahmen? Ich habe bisher mehrere Stunden an Google verbracht und bin nicht fündig geworden.


    Ich danke euch schon mal für eure Tipps :danke_ATDE:

    Moin Willi,


    gib doch mal ein paar Eckdaten wie du deine Klimadatenerfassung genau umsetzen möchtest. Dazu von mir folgende Fragen:


    - Möchtest du auf fertige Hardware/Sensorik inkl. Messwandlung und Datenübertragung zurück greifen oder z.B. per Arduino selbst Messtellen mit Visualisierung direkt an der Messstelle auf die Beine stellen?


    - Sollen die Daten langfristig gespeichert/archiviert werden?


    Ich bin selbst aktuell mit einem solchen Projekt beschäftigt. Allerdings funkt mir rein zeitlich derzeit noch unsere Haussarnierung immer mal wieder dazwischen weshalb meine Fortschritte derzeit etwas kleiner ausfallen. Des Weiteren lerne ich derzeit betreffend Python-Programmierung noch dazu was zu weiteren, zeitlichen Verzögerungen führt.


    Evtl. interessiert dich ja mein Projekt: Klimadatenerfassung mit Arduino-Nano und Raspi3 Drahtgebunden wobei ich aktuell am hadern bin ob ich ein neues Thema eröffne und das Alte auf "erledigt" setze da die eigentliche Frage in der Überschrift schon länger beantwortet ist und die Übersichtlichkeit derzeit arg gelitten hat. Am jetzigen WE mache ich mir dazu mal Gedanken und es gibt ein kleines Update betreffend der Umsetzung und aktuellen Erkenntnisse - aber nun genug "Eigenwerbung"....

    Aber Waldi, das ist doch schlichtweg nicht die Frage des TE´s gewesen. Dann hätte neben der Antwort "Identisch" auch kommen müssen, nimm einen Dell Poweredge R710, weil der Pi kein Ferrari ist und die anfallende Datenmenge nicht stemmen kann. Ist halt genauso an der Ursprungsfrage vorbei geholfen :^^:

    Ich kann da nur für mich sprechen, da ich u.A. die Erfahrung auch im Arduino-Forum gemacht habe. Nur ein Beispiel (ich will den Tröt vom Pono nicht sprengen): Wenn ich eine Frage zur Funktion Serial.readStringUntil() stelle, dann möchte ich nicht wissen dass diese Funktion nicht schön sei, den Programmablauf verlangsame oder den Nano überlastet oder es andere Funktionen zur Stringbehandlung gibt.

    Für mein Empfinden gehört auch die Erfahrung von Datenverlust zum Thema Basteln. Lass ihn doch seine eigenen Erfahrungen machen. Ich denke die Ausführung vom ThomasL ist am konstruktivsten. Der TE hat ja auch nichts davon geschrieben, dass er die Buchhaltungssoftware selbst schreiben wollte.

    Andreas nimm mir das bitte nicht übel, ich spreche damit nicht dich direkt an sondern es geht mir um´s Prinzip. :^^:


    Ich finde es immer interessant, wenn an den Fragen eines Forumsbenutzers vorbei geantwortet wird, die (wirklich wichtigen) Hinweise auf das Verhalten des PI´s bei Stromausfall und die, warum auch immer, begrenzte Anzahl an Schreibvorgängen mal ausgenommen. Ich spreche das bewusst an weil mir immer mehr auffällt, dass eine Fragestellung irgendwie nicht beantwortet wird sondern es kommen direkt Gegenargumente und Totschlagkriterien. Wenn Ponos den Pi für seine Aufgaben nutzen möchte, dann soll er doch :bravo2:


    Klugscheißermodus ON:

    Der TE fragt in diesem Fall welche der beiden SQL-Datenbanksoftwaresysteme wohl stärker an der Lebensdauer der SD-Card knabbert, die Antwort wäre ja m.E. ziemlich simpel gewesen: Identisch. Immer wenn aufgrund der Benutzereingabe ein Datensatz abgespeichert wird, greift das System schreibend auf die SD zu. Dabei spielt es keine Rolle ob es sich dann um MariaDB oder MySQL handelt.

    Klugscheißermodus OFF


    Eines frage ich mich allerdings seit Erwerb meiner ersten beiden Pi´s. Warum ist, oder soll, der Betrieb mit SD-Karten wenn oft schreibend darauf zugegriffen wird so riskant sein? Also, genauer, warum wird immer wieder die Lebensdauer der SD-Karte so kritisch erwähnt? Die Digicam legt Millionen Fotos auf der SD ab die beispielsweise vom PC aus gelöscht werden, auf dem Schmartfone (meines habe ich jetzt annähernd fünf Jahre) wird ebenfalls millionenfach schreibend auf die SD zugegriffen (WhatsApp-Anhänge, Mails, FB-Temdaten, Downloads aus Mails oder Internet usw.), meine SPS für die Heimautomation schreibt seit Jahren Prozessdaten im 24/7/365 Betrieb auf die SD-Karte. Wird das Ganze nicht eventuell etwas dramatisiert?

    Danke euch Beiden für die schnelle Antwort und die Tipps :danke_ATDE:


    dbv: Ja genau die. Ich hab schon eine ganze Weile Google bemüht, aber nicht´s fertiges gefunden. Was mich sehr wundert da diese OLED´s doch tausendfach- wenn nicht millionenfach im Einsatz sind.

    Hast Du schon bei thingiverse.com geschaut?

    Nein habe ich noch nicht, bisher nur Google bemüht.


    Okay, werde mal ein entsprechendes Thema im richtigen Thread eröffnen.

    Ich kann da dem fred0815 nur zustimmen, die bisherigen Informationen sind relativ dürftig.


    Ich konzentriere mich da erst mal nur auf die Drehzahlmessung:

    - Wie ist denn der derzeitige, analoge, Drehzahlmesser angesteuert? --> mechanisch mit drehender Welle --> elektronisch von der Motor-TCI / CDI?


    - Wenn elektronisch, dann hast du bereits irgendeine Art von elektr. Impuls den du beim Einsatz vom Pi zunächst auf GPIO verträgliche Spannungswerte (also <= 3,3V) bringen und dann auswerten musst.


    - Wenn mechanisch, neue Baustelle. Eine Möglichkeit: Du hast die Möglichkeit das Drehzahlsignal von einem der vier zur Verfügung stehenden Zündkabel zu entnehmen. Dazu wird die Sensorleitung einfach mit ein - drei Windungen um die Zündleitung zu einer der Zündkerzen gewickelt und die bei Zündung induzierte Spannung mit einer entsprechenden Schaltung im Nachgang als Drehzahlimpuls erfasst.


    - Was genau möchtest du an elektr. Energie erfassen, tatsächlich Stromverbrauch/Stromfluss/Leistung oder Arbeit?


    - Wie gedenkst du die Füllstände zu sensieren, stufenweise (z.B. mehrere elektr. Kontakte in den Tank gebohrt) oder mit Potischwimmern oder nur Digital "Leer/Voll"


    Das sind erst mal meine :2cents: dazu :)

    An dieser Stelle reihe ich mich mal mit ein. Ein, aus meiner Sicht, absolut tolles Forum mit vielen sehr hilfsbereiten und unterhaltsamen Mitgliedern.


    Habe das Forum selbst auch über Google gefunden. Wen wundert´s wenn bei mind. 7 von 10 Sucheingaben das https://forum-raspberrypi.de gelistet wird. Sehr schade dass jetzt aufgrund der neuen Forensoftware die Google-Links erst mal inne Dutten sind. Bin mal gespannt wie lange die Krake braucht um wieder up to date zu sein.


    An das Forum an sich: Weiter so :bravo2::danke_ATDE:

    Hallo meigrafd,

    ich danke dir bis dahin erst mal für deine Unterstützung :bravo2::danke_ATDE: Allen Anderen natürlich auch, das macht das Erlernen doch angenehmer :)


    So langsam wird mir einiges etwas klarer, ich werde deinen Code gleich heute Abend mal testen. Dann muss ich mir nur mal Lektüre betreffend des if __name__ == '__main__': vor Augen führen um zu wissen was dort genau passiert.


    Die Geschichte mit dem Inkrement var += 1 war mir zwar schon klar, aber ich hatte einfach nicht die Zeit den Code anzupassen. Es ist unter der Woche keine Gute Idee von mir gewesen sich mal eben zwischendurch nach Feierabend an ein "bisschen" Python zu setzen, daher war das alles bisher offensichtlich mit der Heißen Nadel gestrickt, das muss ich mir abgewöhnen; ich gelobe Besserung.

    Versuchs erstmal damit:

    Das haut nicht hin, ich hab zuvor auch schon festgestellt, dass leere Listen nicht akzeptiert werden:


    Code
    Start Measuring... please wait for 3.0 seconds...
    Traceback (most recent call last):
      File "ON_OFF_1.py", line 77, in <module>
        ReturnValue = Messung_Klimadaten(slave_number, client)
      File "ON_OFF_1.py", line 50, in Messung_Klimadaten
        Slave = LeseRegister(num, client)
      File "ON_OFF_1.py", line 37, in LeseRegister
        Slave[num] = client.read_holding_registers(0000, 4, unit=num)
    IndexError: list assignment index out of range


    So sieht übrigens der aktuelle Code aus, der unter Python3 auch funktioniert:


    Die Ausgabe sieht dann so aus:

    Nach dem "Badezimmer" wird dann versucht den dritten Slave zu erreichen, ich hab aber nur zwei Arduino´s am Bus (mehr hab ich derzeit auch noch gar nicht). Jetzt möchte ich einfach verhindern, dass das Script abgebrochen wird und er nach dem Timeout einfach von vorn mit den Messungen ab Slave1 beginnt.

    meigrafd:


    1.Ich habe Slave oben im Script definiert da eine leere Liste, also

    Slave[] zu einem Abbruch beim Laufenlassen des Scripts geführt hat. Fand ich auch seltsam.

    2. Die Verbindung öffne und schließe ich für jede Abfrage der Messwerte weil ich derzeit nicht sicherstellen kann dass das Script sauber durch läuft. D.h. stoppt der Interpreter aufgrund eines nicht erreichbaren Slaves, wird Client.close()nicht mehr ausgeführt. Ich wollte damit also erreichen dass eine Verbindung möglichst immer sauber geschlossen wird.

    3. Noch mal: ich habe hier nicht den aktuellsten Code gepostet. Daher sind die print-Anweisungen da oben noch falsch. Mir ist das klar, dass python2 keine Print-Funktion enthält; und man in python3 mehrere Ausgaben nicht mit + str()verbindet sondern jede gewünschte Ausgabe als Parameter übergibt....


    Ich verstehe euch ja, auch dass der Code nach den gültigen Regeln erstellt werden soll und dies, gerade in der Lernphase am besten "gleich mit" zu lernen ist. aaaber: Wir beschäftigen uns doch grad nicht mit der eigentlichen Problemstellung :denker:


    Nur eins noch: Warum sollen/dürfen Variablennamen nicht großgeschrieben werden?

    Leider lässt sich dein Code schwer lesen weil ständig Leerzeilen eingefügt sind.. Bitte bearbeite deinen Beitrag und beachte: HowTo: CODE / PHP Code im Forum posten

    Moin,

    ich geh bald echt am Stock! Ich verbringe im Moment beinahe mehr Zeit damit Code Chick und schön zu machen, als der Lösung meiner Problemstellungen näher zu kommen. Habe jetzt manuell alle unnötigen Leerzeilen -- die übrigens das Forum da rein interpretiert hat -- entfernt. Der code-block ist eine Kopie aus einem bereits von mir "richtig" geposteten code-block eines vorherigen Themas.


    Ich nutze seit gestern Abend definitiv Python3, habe den Quellcode aber aktuell nicht hier und gestern Nacht nicht mehr daran gedacht ein Update zu posten.

    Wie in einem vorherigen Thread schon erwähnt, die print()´s dienen derzeit nur zu Entwicklungszwecken bis die Daten in die SQL-Datenbank geschrieben werden.

    Sorry ich habe es gestern Abend nicht mehr geschafft den aktuellen Quellcode mit print("", "") zu posten, aktuell habe ich ihn bis heute Abend auch nicht vorliegen. Allerdings hat meiner Meinung nach print "" und print("", "") nix mit der eigentlichen Problemstellung zu tun, oder irre ich mich da?


    Der Code wird von mir regelmäßig, dank des Tipps vom Bootsmann :bravo2: durch http://pep8online.com geschickt und entsprechend der Fehlermeldungen von mir bearbeitet.