Beiträge von cced


    Hallo Sebastian,


    Schwarz gnd, rot 5v und gelb an beliebigen gpio.


    Siehe auch http://www.apip.info.


    Viel erfolg


    Danke für die Info... aber wie ich schon eingangs sagte... bin absoluter Python neuling,
    wo bzw. nach welcher Zeile sollte das db.close() denn stehen?


    Thx

    Hallo zusammen,
    vielen Dank für eure Unterstützung.
    Habe es mit eurer Hilfe hinbekommen. :bravo2:
    Solle jemand Interesse an der Lösung haben..


    Hier ist sie...


    Hintergrund:
    Ich habe zur Zeit Stress mit meinen Nachbarn (Lärmbelästigung).
    Ich soll ein Lärmprotokoll anfertigen.
    Um dies zu erleichern, benutze ich dafür den PI.
    Ich habe mir bei Amazon ein Schallpegel Messgerät für 46 Euro gekauft.


    Hier habe ich einen guten Start zum Scripten gefunden:
    Reverse Engineering the USB Protocol on the WENSN WS1361 Sound Pressure Level Meter
    Mit den Infos von dieser Seite und eurer Unterstützung ist nun folgendes Script entstanden:



    Der PI in Verbindung mit einem 10,000mAh Akku ist nun ein autonomer Schallpegelrekorder mit Grafischer Darstellung der gemessenen Werte.
    Aussehen tut das ganze wie folgt :-)



    [IMG:http://www.cced.de/images/065.jpg]
    [IMG:http://www.cced.de/images/066.jpg]
    [IMG:http://www.cced.de/images/067.jpg]
    [IMG:http://www.cced.de/images/068.jpg]





    Also nochmals danke für die Unterstützung.

    Hallo zusammen,
    gleich eines vorweg,
    ich bin absoluter Python Anfänger.


    Ich habe ein Script, welches den Schallpegel (dB) über einen per USB angeschlossenen Schallpegelsensor ermittelt.
    Dies funktioniert tadellos.
    Der Wert soll in eine MySQLDatenbank geschrieben werden.
    Und hier scheiter ich.
    Hier mal mein Script,
    könnt Ihr mir sagen, wo der Fehler ist, bzw, den Code korrigieren?
    Die Variable die in die DB eingetragen werden soll ist "dec"



    Vielen Dank für eure Unterstützung!!!
    Gruss Markus


    Sowas passiert, wenn man die Grundlagen der Datenbank nicht berücksichtigt. Als erstes solltest Du Deine Tabellen normalisieren. Dass heisst, z.B. die Datenbanktabellen so zu gestalten, dass die Spaltenköpfe keine Daten enthalten. Bei Dir sind die Spaltenköpfe die verschiedenen Stellen. Was machst Du, wenn eine Stelle dazukommt? Etwa eine neue Tabelle?


    Hallo raspiproject,
    ich habe mir eure / deine Worte zu Herzen genommen und versuche gerade meine Datenbank zu "normalisieren".
    Ich bin mir nur nicht sicher, ob ich deine Anleitung richtig verstanden habe, guck doch mal bitte drauf, ob ich die Datenbankstruktur so erstellt habe, wie du es vorgeschlagen hast.


    Alle anderen sind natürlich ebenfalls herzlich eingeladen, Kritik / Anregungen abzugeben.
    Danke für deine / eure Unterstützung.


    Datenbankname: APiP
    für 3 Aquarien

    Also,
    der pH Sensor liest den pH Wert mit folgendem Script fehlerfrei aus und schreibt den Wert (z.B. 7,13) in die Textdatei /tmp/pH.txt.



    Der Wert in "line" entspricht z.B. 7.15. Dieser Wert soll in die DB eingetragen werden.


    Sorry, überlesen.
    Ergebnis:

    Code
    1. root@APiP:/home/pi/scripts/APiP/sensoren# ./pH1.py
    2. pH Wert des Aquariums testen...
    3. Traceback (most recent call last):
    4. File "./pH1.py", line 45, in <module>
    5. cur.execute('''INSERT into A1_pH (pH) values (%s)''' % (line))
    6. NameError: name 'cur' is not defined
    7. root@APiP:/home/pi/scripts/APiP/sensoren# ./pH1.py
    8. pH Wert des Aquariums testen...


    [hr]
    [quote='meigrafd','http://test.forum-raspberrypi.de/forum/index.php?thread/&postID=108017#post108017']
    Führ mal bitte folgendes temporäres Script aus und poste die Ausgabe:
    [quote]
    Ergebnis:


    hmm nö...
    die wollen auch nicht...

    Hallo meigrafd,
    Danke für deine Mühe....
    aber..


    Code
    1. root@APiP:/home/pi/scripts/APiP/sensoren# ./pH1.py
    2. pH Wert des Aquariums testen...
    3. Traceback (most recent call last):
    4. File "./pH1.py", line 53, in <module>
    5. cur.execute("INSERT INTO A1_pH (pH) VALUES (?)", (line,))
    6. File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
    7. query = query % db.literal(args)
    8. TypeError: not all arguments converted during string formatting

    Leider auch nicht..
    werde noch ein wenig weiter testen.
    DANKE für deine Unterstützung!!!! Gute Nacht!!!


    Code
    1. root@APiP:/home/pi/scripts/APiP/sensoren# ./pH.py
    2. pH Wert des Aquariums testen...
    3. 7.92
    4. Traceback (most recent call last):
    5. File "./pH.py", line 30, in <module>
    6. cur.execute('''INSERT into A1_pH (pH) values (%s, %s)''', (line, ))
    7. File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
    8. query = query % db.literal(args)
    9. TypeError: not enough arguments for format string

    Wir kommen weiter, das mit den Anführungszeichen war auf jeden fall 1 Fehler!
    Danke dafür!!


    Kannst du mal bitte testweise anstelle der Variable (line) einfach mal eine Zahl manuell eintragen?


    Oder du schnappst dir den fertigen Befehl und führst ihn direkt in der DB aus. Dann kannst du ihn dort anpassen und so versuchen den Fehler zu finden.


    cur.execute('INSERT INTO A1_pH (pH) VALUES (%s)', ("7.25"))


    Wird auch nicht eingetragen..
    und wenn ich den Befehl so: INSERT INTO A1_pH (pH) VALUES (%s)', ("7.25"))
    in die db eintrage kommt ein Format fehler...
    [hr]
    Au man.. ich bin zu müde für diesen schei....
    ich habe den Code aus einem anden Script kopiert, ABER da funktionierte es auch nicht, darum habe ich den wert n eine Textdatei schreiben lassen, dieser wird per SH Script eingelesen und in die DB geschrieben :-(
    Au man....
    da fehlt ne ganze menge....



    z.B....


    Auf die idee bin ich auch eben gekommen :-)
    Ausserdem habe ich mal die Einzüge verändert.
    jetzt bekomme ich auch eine MySQL Fehlermeldung.


    Code
    1. ./pH.py:31: Warning: Data truncated for column 'pH' at row 1
    2. cur.execute('INSERT INTO A1_pH (pH) VALUES (%s)', (line))


    Die Einzüge sehen jetzt so aus...