Projekt: Wetterstation - Lesefehler bei UART Übertragung - Problem mit pyserial

  • Hallo,


    bei meinem Wetterstationsprojekt bin ich an einem Punkt angelangt an dem ich leider nicht mehr weiterkomme...

    Der Plan ist, Wetterdaten wie Temperatur, Luftfeuchte und Luftdruck von meinem Arduino an den Raspberry Pi zu senden.

    Dieser soll die Daten dann in der mysql-Datenbank speichern (durch mysqldb).

    Per crontab habe ich vor in Intervallen das Python-Programm auszuführen um Wetterdaten in die Datenbank zu schreiben.


    Hie erstmal der Python-Code:


    und hier die Fehlermeldung wenn ich das Programm mit ctrl+c beende:


    Code
    ^CTraceback (most recent call last):
      File "./insertDB.py", line 8, in <module>
        data = arduino.readline()
      File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 446, in read
        ready,_,_ = select.select([self.fd],[],[], self._timeout)


    Es wäre klasse, wenn ihr mir weiterhelfen könntet :)


    Gruß Felix :danke_ATDE:

  • Ich habe das ganze mal mit der Methode read() anstatt mit readline() ausprobiert und da kommt es zu keinerlei Komplikationen. D.h. Die seriellen Daten werden empfangen und in die Datenbank geschrieben (soweit möglich mit read()).


    @ linsug:

    Code
    pi@raspberrypi:~ $ python insertDB.py
    ^CTraceback (most recent call last):
      File "insertDB.py", line 8, in <module>
        data = arduino.readline().strip()
      File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 446, in read
        ready,_,_ = select.select([self.fd],[],[], self._timeout)
    KeyboardInterrupt
    Quote

    Das sieht ehrlich gesagt nicht so schön aus, weil du nicht wirklich kontrollierst ob überhaupt etwas ausgelesen werden kann...


    Guck dir mal das an: https://github.com/meigrafd/Sa…ode/blob/master/serial.py


    Nachdem ich das Programm im Link mal ausgeführt habe kam dieses Feedback:

    Code
    pi@raspberrypi:~ $ python probe.py
    ^CArduino-> 21.2 , 77.40 , 946.56 ,  , 21.20 , 77.40 , 946.51 , 21.20 , 77.40 , 946.48 , 21.20 , 77.40 , 946.48 , 21.20 , 77.40 , 946.45 , 21.20 , 77.40 , 946.56 , Arduino-> ???x??x?????x????????x?????x?x???????xx????x? Arduino-> ???x??x?????x????????x????x?x???????xx??x??x? Arduino-> ???x??x?????x????????x????x?x???????xx??x??x? Arduino-> ???x??x?????x????????x?????x?x???????xx??x??x? Arduino-> ???x??x?????x????????x?????x?x???????xx??????x? Arduino-> ???x??x?????x????????x?????x?x???????x??????x? Arduino-> ???x??x?????x????????x?????x?x???????xx????x? Arduino-> ???x??x?????x????????x????x?x???????xx??????x? Arduino-> ???x??x?????x????????x?????x?x???????x????x? Arduino-> ???x??x?????x????????x?????x?x???????xx??x??x? Arduino-> ???x??x?????x????????x?????x?x???????xx??x??x? Arduino-> ???x??x?????x????????x????x?x???????x????x? 
    Schliesse Programm..

    Edited once, last by FelixD ().