BMP085 und mehrere DHT22 Sensor transmittier Absturz

    • BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Habe mich schon gewundert, das es im Raspberry Forum so ruhig geworden ist, bis ich auf das neue Forum hier gestoßen bin.

      Irgendwie ist das an mir vorbeigegangen. Das sieht jetzt hier viel besser aus.

      Folgende Probleme:

      1. Seit dem ich einen BMP085 Sensor angeschlossen habe und konfiguriert habe läuft der Sensor Transmittier nicht mehr.

      Es ist die I2C Schnittstelle in der Grundeinstellung des raspi eingeschaltet.

      Mit /var/www/shc $ php index.php app=shc -st -enableBMP <id (0-999)> habe ich die ID "85" gewählt.

      Wurde auch mit grüner Schrift "erfolgreich erstellt.

      Danach läuft der Sensor Transmittier nicht mehr.

      Beim erneuten Startversuch kommt folgende Fehlermeldung:

      pi@SHC2 /var/www/shc $ php index.php app=shc -st
      Traceback (most recent call last):
      File "/var/www/shc/shc/lib/external/python/bmp.py", line 37, in <module>
      sensor = BMP085.BMP085()
      File "build/bdist.linux-armv6l/egg/Adafruit_BMP/BMP085.py", line 64, in __init__
      File "build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py", line 25, in <module>
      ImportError: No module named smbus
      //////////////////////////////////////////////////////////////////////////////////////////////////
      // PHP Warning
      //////////////////////////////////////////////////////////////////////////////////////////////////
      Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      Zeile: 243
      Meldung: explode() expects parameter 2 to be string, array given
      Fehler Nummer: 2
      Zeit: 14.01.2015 11:57:18
      //Trace///////////////////////////////////////////////////////////////////////////////////////////
      #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(0))
      #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      #10 {main}

      pi@SHC2 /var/www/shc $

      Woran könnte das liegen?

      Problem Nr.2 mehrere DHT 22 Sensoren.

      Auf einem zweiten Raspi, welcher als Slave mit Schaltserver, Sheduler, und Sensortransmitter läuft wird nur ein DHT22 von 2 durch den Master Sensor Receiver angezeigt. Mit der ssh Konsole kann ich auf beide Werte zugreifen. Was noch komisch ist, ist das wenn ich den List Befehl eingebe, nur einer gelistet ist.

      Zur Adressierung habe ich als ID bei beiden 22 vergeben. Ist das so richtig? Also einmal 22 22 04 und einmal 22 22 22. Wobei die dritte Zahl der BCM GPIO Pin ist.

      Der zweite DHT22 taucht so nicht in den raumlosen Elemente auf. Habe es auch mit unterschiedlicher ID versucht, aber ohne Erfolg.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Ich nehmen mal an, dir fehlt das Python-Modul smbus, welches von dem Adafruitscript
      build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py
      benötigt wird.

      Das kannst du mit

      Source Code

      1. sudo apt-get install python-smbus


      nach installieren. Vielleicht klappt es dann.

      Aufgrund des fehlenden Moduls führt Python das Script nicht korrekt aus.
      Ich hab zwar keinen BMP-Sensor, aber das ist das, was ich aus der Fehlermeldung herauslese.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

      The post was edited 1 time, last by DieterWo ().

    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      DieterWo wrote:


      Ich nehmen mal an, dir fehlt das Python-Modul smbus, welches von dem Adafruitscript
      build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py
      benötigt wird.

      Das kannst du mit

      Source Code

      1. sudo apt-get install python-smbus


      nach installieren. Vielleicht klappt es dann.

      Aufgrund des fehlenden Moduls führt Python das Script nicht korrekt aus.
      Ich hab zwar keinen BMP-Sensor, aber das ist das, was ich aus der Fehlermeldung herauslese.


      Hallo Dieter,
      danke für die schnelle Antwort. Der smbus error ist jetzt weg, dafür aber noch ein anderer. Bezüglich des ladens des smbuses hatte ich in der Installationsanleitung nichts gesehen.
      Gibt es da vielleicht noch mehr, was nach zu installieren ist?

      pi@SHC2 /var/www/shc $ php index.php app=shc -st
      Traceback (most recent call last):
      File "/var/www/shc/shc/lib/external/python/bmp.py", line 37, in <module>
      sensor = BMP085.BMP085()
      File "build/bdist.linux-armv6l/egg/Adafruit_BMP/BMP085.py", line 66, in __init__
      File "build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py", line 64, in get_i2c_device
      File "build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py", line 75, in __init__
      IOError: [Errno 2] No such file or directory
      //////////////////////////////////////////////////////////////////////////////////////////////////
      // PHP Warning
      //////////////////////////////////////////////////////////////////////////////////////////////////
      Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      Zeile: 243
      Meldung: explode() expects parameter 2 to be string, array given
      Fehler Nummer: 2
      Zeit: 15.01.2015 00:24:22
      //Trace///////////////////////////////////////////////////////////////////////////////////////////
      #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(0))
      #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      #10 {main}

      pi@SHC2 /var/www/shc $
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      agent47 wrote:


      Bitte die Fehlerlisten immer in Code Tags packen


      Sorry.
      Ok, weiß zwar noch nicht wie das geht, werde es aber bestimmt herausfinden. Habe deshalb früher auch PDF's angehängt, um die Übersichtlichkeit zu wahren.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Es gibt ja nicht nur die Schellantwort unter den Posts, sondern auch den Button "Antworten". Damit kommst du in den Nachrichteneditor, und der hat Bottons zur Formatierung. Vielleicht schaust du dir das mal an und machst dich mit den Funktionen vertraut. Ist ja in anderen Foren auch nicht anders.

      Die Schnellantwort ist ja nur für, wie der Name schon sagt, nur für kurze, schnelle Kommentare.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

      The post was edited 1 time, last by DieterWo ().

    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      ok, so müsste es richtig mit dem "code tag" sein.

      So wie es für mich aussieht kommt jetzt die Fehlermeldung vom adafruit part.

      Habe auch schon versucht in der Zeile 37 eine 2 für Raspberry Rev. 2 einzugeben, aber auch ohne erfolg.

      Noch mal auf die DHT22 zurückzukommen. Gibt es hier niemand, der mehrere angeschlossen hat und posten kann wie er sie adressiert hat?

      Source Code

      1. pi@SHC2 ~ $ sudo python /var/www/shc/shc/lib/external/python/bmp.py
      2. Traceback (most recent call last):
      3.  File "/var/www/shc/shc/lib/external/python/bmp.py", line 37, in <module>
      4.    sensor = BMP085.BMP085()
      5.  File "build/bdist.linux-armv6l/egg/Adafruit_BMP/BMP085.py", line 66, in __init__
      6.  File "build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py", line 64, in get_i2c_device
      7.  File "build/bdist.linux-armv6l/egg/Adafruit_GPIO/I2C.py", line 75, in __init__
      8. IOError: [Errno 2] No such file or directory
      9. pi@SHC2 ~ $
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Schau mal hier.
      kompf.de/weather/pibaro.html
      Du kannst ja mal das machen, was der Autor hier wiedergibt. Vielleicht hilft dir das bei der Fehlersuche und um zu verstehen, wie das mit dem BMP funktioniert.


      Ich würd mir das aber erst mal durchlesen, und dann nur das machen, was zur Fehleranalyse sinnvoll ist, und nicht alles was da steht blind abtippen. Schließlich willst du ja nicht alles installieren, was da steht.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

      The post was edited 1 time, last by DieterWo ().

    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Danke für den Link, das hat mich entscheidend weitergebracht. Dennoch stürzt der Sensortransmitter ab, dazu aber später.

      In der wiki fehlen zum Betrieb des BMP085 entscheidende Schritte. Ich habe sie hier mal kurz zusammen geschrieben.

      In der raspi-config muss zuerst die I2C Schnittstelle eingeschaltet werden. Default ist off.

      Dann nach Anleitung von Agent47.

      Ob der Befehl: sudo apt-get install python-smbus jetzt notwendig ist, weiß ich nicht, da das später, wenn man der Anleitung des Link's von Dieter folgt nochmals überprüft wird.
      in /etc/modules muss i2c-bcm2708 und i2c-dev eingetragen werden.
      In /etc/modprobe.d/raspi-blacklist.conf muss blacklist spi-bcm2708 und blacklist i2c-bcm2708 entfernt, oder auskommentiert werden.
      danach: sudo apt-get install python-smbus i2c-tools (hierbei wird auch der smbus überprüft)
      dann: sudo adduser pi i2c
      Anschließend bekommt man folgendes:

      Source Code

      1. pi@SHC2 ~ $ i2cdetect -y 1
      2. 0 1 2 3 4 5 6 7 8 9 a b c d e f
      3. 00: -- -- -- -- -- -- -- -- -- -- -- -- --
      4. 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      5. 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      6. 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      7. 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      8. 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      9. 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      10. 70: -- -- -- -- -- -- -- 77
      11. pi@SHC2 ~ $ sudo python /var/www/shc/shc/lib/external/python/bmp.py
      12. 28.10;
      13. 99352.00;
      14. 165.15
      Display All

      Ich hatte zwar die ID 85 verwendet, aber richtig wäre wohl 77. Der Wert 28,1 C ist ok. Der Luftdruck soll wohl heißen 993.52 hPa. 165,15 Meter über NN stimmt nicht, es sollten so um die 100 Meter sein. Laut Wetteramt ist an meinem Ort z. Z. der Luftdruck 1.006,3 hPa bezogen auf NN. Wenn man die 100 Meter über NN zugrunde legt stimmt die Anzeige des Luftdrucks sehr genau. Das hat aber alles mit der Genauigkeit des Sensors zu tun.
      Das "händische Auslesen" klappt nun. Leider läuft nach wie vor der Sensortransmitter aber nicht mehr und es gibt folgende Fehlermeldung.

      Source Code

      1. pi@SHC2 /var/www/shc $ php index.php app=shc -st
      2. //////////////////////////////////////////////////////////////////////////////////////////////////
      3. // PHP Warning
      4. //////////////////////////////////////////////////////////////////////////////////////////////////
      5. Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      6. Zeile: 243
      7. Meldung: explode() expects parameter 2 to be string, array given
      8. Fehler Nummer: 2
      9. Zeit: 15.01.2015 13:15:51
      10. //Trace///////////////////////////////////////////////////////////////////////////////////////////
      11. #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      12. #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(3))
      13. #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      14. #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      15. #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      16. #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      17. #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      18. #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      19. #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      20. #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      21. #10 {main}
      22. pi@SHC2 /var/www/shc $ php index.php app=shc -st -disableBMP 85
      23. BMP Sensor erfolgreich deaktiviert
      24. pi@SHC2 /var/www/shc $ php index.php app=shc -st -enableBMP 77
      25. BMP Sensor erfolgreich aktiviert
      26. pi@SHC2 /var/www/shc $ php index.php app=shc -st
      27. //////////////////////////////////////////////////////////////////////////////////////////////////
      28. // PHP Warning
      29. //////////////////////////////////////////////////////////////////////////////////////////////////
      30. Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      31. Zeile: 243
      32. Meldung: explode() expects parameter 2 to be string, array given
      33. Fehler Nummer: 2
      34. Zeit: 15.01.2015 13:48:29
      35. //Trace///////////////////////////////////////////////////////////////////////////////////////////
      36. #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      37. #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(3))
      38. #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      39. #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      40. #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      41. #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      42. #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      43. #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      44. #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      45. #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      46. #10 {main}
      47. pi@SHC2 /var/www/shc $
      Display All


      Wie man sieht, hat der Wechsel der Id von 85 auf 77 keinen Unterschied gemacht.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Hier noch mal die Fehlermeldungen wenn der Sensortransmitter im debug modus gestartet wird.

      Der erste Teil mit den DS18x20 Sensoren sieht ja gut aus.

      Source Code

      1. pi@SHC2 /var/www/shc $ php index.php app=shc -st -d
      2. array(5) {
      3. ["succsess"]=>
      4. bool(true)
      5. ["sensorPointId"]=>
      6. int(110)
      7. ["sensorTypeId"]=>
      8. int(1)
      9. ["sensorId"]=>
      10. string(15) "28-000005fb4070"
      11. ["sensorValues"]=>
      12. array(1) {
      13. ["temp"]=>
      14. float(22.187)
      15. }
      16. }
      17. array(5) {
      18. ["succsess"]=>
      19. bool(true)
      20. ["sensorPointId"]=>
      21. int(110)
      22. ["sensorTypeId"]=>
      23. int(1)
      24. ["sensorId"]=>
      25. string(15) "28-000005fabcf5"
      26. ["sensorValues"]=>
      27. array(1) {
      28. ["temp"]=>
      29. float(40.75)
      30. }
      31. }
      32. //////////////////////////////////////////////////////////////////////////////////////////////////
      33. // PHP Warning
      34. //////////////////////////////////////////////////////////////////////////////////////////////////
      35. Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      36. Zeile: 243
      37. Meldung: explode() expects parameter 2 to be string, array given
      38. Fehler Nummer: 2
      39. Zeit: 15.01.2015 15:50:39
      40. //Trace///////////////////////////////////////////////////////////////////////////////////////////
      41. #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      42. #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(3))
      43. #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      44. #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      45. #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      46. #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      47. #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      48. #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      49. #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      50. #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      51. #10 {main}
      52. pi@SHC2 /var/www/shc $
      Display All
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Gut, bzw nicht gut aber auf dem Stand bin ich auch. Also erhalte die gleiche Fehlermeldung.

      Hatte gerade zwar kurzzeitig den DS18(x)20 Sensor drinnen, aber jetzt hat er schon 20 min angeblich kein Kontakt, obwohl wenn ich ihn per Konsole anspreche Ergebnisse erhalte. Dadrüber hinaus erhalte ich auch vom BMPxxx Sensor meine Messwerte, wenn ich diesen per Python Abfrage. Nur leider nicht im System. Habe den Sensor auch noch mal einen anderen Sensorpunkt hinzugefügt. Aber Ergebnis auch keines.




      Michael

      The post was edited 1 time, last by dermichael ().

    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      rmjspa wrote:


      In der wiki fehlen zum Betrieb des BMP085 entscheidende Schritte. Ich habe sie hier mal kurz zusammen geschrieben.




      Verwendest du ein älteres Raspbian als das vom 09.09.2014?
      Das Wiki habe ich nach den nötigen Installationsschritten mit einem neuen Image auf einem B+ erstellt. Mehr war in diesem Image nicht nötig.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Ich nutze ein Model B. Macht das ein Unterschied? Und als "Imageversion" nutze ich die vom 09.09.14 und nach update und upgrade solte doch normal alles auf dem neusten Stand sein oder nicht?

      Also nicht, dass da der Hase im Pfeffer begraben ist. Wäre nur schade, wenn Modell B nur bedingt noch unterstützt wird.



      Michael
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      @agent47

      Ich benutzte das rasbian Image vom 09.09.14, und jetzt das vom Dezember.

      Der Punkt ist, das Du manchmal Wissen voraussetzt, welches aber bei vielen, mir eingeschlossen nicht umbedingt da ist. Ein Beispiel war der Eintrag in /etc/modules für den DS18x20. Der hatte am Anfang auch in der damaligen Anleitung gefehlt und wurde später in die WIKI eingepflegt.

      Beim BMP085 ist die erste Hürde, das der I2C Bus in der raspi-config auch eingeschaltet ist. Wenn man vorher noch nicht mit dem Bus gearbeitet hat, erinnert man sich auch nicht daran, das dort dieser Bus extra aktiviert werden muss. (default ist off)

      Dann kommt die Fehlermeldung aus adafruit das der smbus fehlt. Was auch immer das ist.

      Ich habe dann deiesen Link von DieterWo bekommen.

      http://www.kompf.de/weather/pibaro.html

      Nach dieser Anleitung habe ich den smbus installiert und danach war dieser Fehler weg.

      Jetzt kam die ähnliche Hürde wie beim DS18x20, das etwas in etc/modules eingetragen werden muss.

      In /etc/modules muss i2c-bcm2708 und i2c-dev eingetragen werden
      In /etc/modprobe.d/raspi-blacklist.conf muss blacklist spi-bcm2708 und blacklist i2c-bcm2708 entfernt, oder auskommentiert werden.
      danach: sudo apt-get install python-smbus i2c-tools (hierbei wird auch der smbus überprüft)
      dann: sudo adduser pi i2c.

      Diese Schritte haben nichts mit dem Datum des Images zu tun, welches aber auch aktuell war.

      Danach waren die adafruit Fehlermeldungen weg.

      Eine weitere Hürde ist die ID des Sensors. Ich hatte 85 vergeben. Dabei hat jeder BMP085 als hard wirer Adresse die 77. Aber das spielt wohl keine Rolle, zumindest nehme ich das an.

      Man kann nach diesen Schritten mit:

      pi@SHC2 ~ $ sudo python /var/www/shc/shc/lib/external/python/bmp.py

      den BMP085 manuel auslesen.

      Der Sensortransmitter ist aber nach wie vor abgestürzt, lediglich die Fehlermeldungen sind weniger geworden.

      Meine Vermutung ist die, das der SHC ein anderes Format der Daten erwartet, als diese von dem adafruit- part übergeben werden.

      Meines Erachtens, sollte ein Snsortransmitter gar nicht abstürzen, wenn keine oder Daten mit falscher Formatierung ankommen, sondern lediglich eine Fehlermeldung abgeben und dann den Sensor ignorieren.

      Hier nochmals der Fehler code.

      Source Code

      1. pi@SHC2 /var/www/shc $ php index.php app=shc -st
      2. //////////////////////////////////////////////////////////////////////////////////////////////////
      3. // PHP Warning
      4. //////////////////////////////////////////////////////////////////////////////////////////////////
      5. Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      6. Zeile: 243
      7. Meldung: explode() expects parameter 2 to be string, array given
      8. Fehler Nummer: 2
      9. Zeit: 15.01.2015 13:15:51
      10. //Trace///////////////////////////////////////////////////////////////////////////////////////////
      11. #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      12. #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(3))
      13. #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      14. #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      15. #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      16. #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      17. #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      18. #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      19. #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      20. #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      21. #10 {main}
      22. pi@SHC2 /var/www/shc $ php index.php app=shc -st -disableBMP 85
      23. BMP Sensor erfolgreich deaktiviert
      24. pi@SHC2 /var/www/shc $ php index.php app=shc -st -enableBMP 77
      25. BMP Sensor erfolgreich aktiviert
      26. pi@SHC2 /var/www/shc $ php index.php app=shc -st
      27. //////////////////////////////////////////////////////////////////////////////////////////////////
      28. // PHP Warning
      29. //////////////////////////////////////////////////////////////////////////////////////////////////
      30. Datei: /var/www/shc/shc/lib/sensor/sensoreditor.class.php
      31. Zeile: 243
      32. Meldung: explode() expects parameter 2 to be string, array given
      33. Fehler Nummer: 2
      34. Zeit: 15.01.2015 13:48:29
      35. //Trace///////////////////////////////////////////////////////////////////////////////////////////
      36. #0 @ Line: 0 RWF\Error\Error->handlePhpError(2, 'explode() expects parameter 2 ...', '/var/www/shc/shc/lib/sensor/se...', 243, Array(1))
      37. #1 /var/www/shc/shc/lib/sensor/sensoreditor.class.php @ Line: 243 explode(';', Array(3))
      38. #2 /var/www/shc/shc/lib/sensor/sensordatatransmitter.class.php @ Line: 134 SHC\Sensor\SensorEditor->readBMP()
      39. #3 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 466 SHC\Sensor\SensorDataTransmitter->transmitSensorData()
      40. #4 /var/www/shc/shc/data/commands/cli/sensordatattransmittercli.class.php @ Line: 211 SHC\Command\CLI\SensorDatatTransmitterCli->executeCliCommand()
      41. #5 lib/request/abstractcommand.class.php @ Line: 77 SHC\Command\CLI\SensorDatatTransmitterCli->executeCommand()
      42. #6 lib/request/requesthandler.class.php @ Line: 216 RWF\Request\AbstractCommand->execute(RWF\Request\CliRequest, RWF\Request\CliResponse)
      43. #7 lib/request/requesthandler.class.php @ Line: 129 RWF\Request\RequestHandler->handleCliRequest()
      44. #8 lib/request/requesthandler.class.php @ Line: 111 RWF\Request\RequestHandler->__construct('cli', '')
      45. #9 /var/www/shc/index.php @ Line: 25 RWF\Request\RequestHandler::handleRequest()
      46. #10 {main}
      47. pi@SHC2 /var/www/shc $
      Display All


      Wenn der Sensor läuft, sollte man noch die Möglichkeit haben die tatsächliche Höhe über NN eingeben zu können um sinnvoll damit arbeiten zu können. Quasi ein offset nach der Höhenformel. Es ist schließlich nicht egal, ob der Sensor am Strand von Sylt oder auf der Zugspitze steht. Ich hatte die recht einfache Formel von Herrn Kopf (siehe Link oben) versucht einzugeben, was mir mangels Programmierkenntnissen aber nicht gelang. Um Missverständnisse zu vermeiden, dass war aber nachdem die Fehlermeldungen kamen und nach Absturz des Sensortransmitter.

      Den BMP085 habe ich nach neu aufsetzen des Systems erst mal beiseite gelegt, da sonst durch Absturz des Sensortransmitter gar keine anderen Sensoren mehr angezeigt werden.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Die grundsätzliche Installation z.B. DS18B20, also w1-GPIO und w1-therm gehört nicht zur Installation und Konfiguration des SHC. Deswegen könnten Sie im Wiki zwar erläutert werden, gehören da aber nicht zwangsläufig zu.
      Es gibt etliche Sensoren und Aktoren. Für die alle im Wiki ne Anleitung zu erstellen wäre kein geringer Aufwand. Und eigentlich will agent47 sich um die Entwicklung des SHC kümmern, und nicht Anleitungen schreiben, die im Internet schon zu finden sind.

      Für den DS18B20 hab ich schon ein Tutorial unter dem Forum "Sensoren" geschrieben. Wenn einer für etwas anderes ein Tutorial schreiben möchte, dann kam er das ja auch dort ablegen mit den Prefix
      "[Tutorial]". Dann kann sich sowas allein erweitern.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Sorry Dieter, Deine Meinung kann ich nur zum Teil teilen.

      Es ist richtig das agent47 besser Zeit in die Entwicklung und Fehlerbehebung steckt als Anleitungen zu schreiben.

      Ich bin auch nicht zu faul im Internet nach Lösungen zu suchen. Oft sind Beschreibungen im Internet auch wieder unvollständig, falsch oder überholt, oder beziehen sich auf einen anderen Anwendungsfall. Als Beispiel hat sich in dem Adafruit- part des BMP085 auch in den, ich sage mal letzten 2 Jahren einiges geändert. So, dass man aktuell mit einigen Tutorial nichts mehr anfangen kann. Wenn ich in Word 2013 ein Problem habe, brauche ich mir keine Anleitung aus 2002 anschauen. Ist vielleicht ein blödes Beispiel, aber ich glaube Du weist was ich meine.

      Wenn man genau hinschaut, sieht man auch, das das Tutorial von Herrn Kompf auch schon etwas älter ist und der Adafruit- part heute anders aussieht.

      Also hat Adafruit auch einige Veränderungen und vermutlich Verbesserungen vorgenommen. Zu sehen ist das z. B. an dem script zur Berechnung der Höhenformel.

      Vermutlich deswegen hat bei mir die Implementierung auch nicht geklappt. Ein versierter Scriptschreiber sieht das vielleicht auf den ersten Blick was da zu machen und zu ändern ist. Ich bin dafür eben zu unerfahren.

      Woher soll ich also genau wissen, welche Schritte noch benötigt werden. Nachdem wohl nun hoffentlich alle Installationsschritte richtig ausgeführt sind, liegt wohl noch ein Bug vor. Wenn der BMP085 bei agent47 bereits lief und ich kann mich an ein Bild erinnern, was er gepostet hat, hat vielleicht Adafruit in seinen Liberias etwas so geändert, das der SHC nicht mehr damit zurecht kommt.

      So wie man sieht und gesehen hat, war ich ja auch nicht der einzige, der darüber gestolpert ist.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Mit Version 2.2 wird auch noch einmal der Sensorsender und -empfänger überarbeitet. Beide Dienste funktionieren nur bei absolut Fehlerfreier Konfiguration was natürlich beim Einreichten sehr Hinderlich sein kann. Wie du schon geschrieben hast werde ich die Fehlerbehandlung überarbeiten so das die Dienste nicht beim kleinsten Fehler abstürzen. Zudem habe ich selbst auch das Problem das beide Dienste beim Autostart mit Fehler wieder aus gehen, starte ich das ganze später per Hand läuft alles.
      Diese Fehler werden eine besser Fehlerbehandlung bekommen, zudem werde ich neue Fehlermeldungen einbauen und das bei einem Fehlgeschlagenen Verbindungsversuch nicht gleich der Dienst abbricht sondern erst nach mehreren Fehlversuchen mit Wartezeiten dazwischen.

      dazu habe ich den Issue nochmal etwas Konkretisiert, das war sehr allgemein gehalten -> https://github.com/agent4788/SHC_Framework/issues/19

      Was die Dokumentation angeht, habe ich die Schritte beschrieben die ich benötigt habe um alles zum laufen zu bekommen. Es kann natürlich sein das es da noch Lücken gibt.
      Prinzipiell fehlt mir aber die Zeit alles bis ins Kleinste zu Dokumentieren und das SHC weiter zu entwickeln. Beispielsweise hat sich bis jetzt noch niemand auf meinen Aufruf beim SHC mit zu Helfen bei mir gemeldet. Es gibt hier zwar schon ein paar die schon sehr gut mit Helfen aber das ist Teils natürlich auch durch die Komplexität des Ganzen begrenzt. 
      Aktuell ist es einfach nicht machbar alles sauber zu Dokumentieren, wenn du den Weg gefunden hast wie bestimmte Probleme zu lösen sind kannst du hier gern Tutorials erstellen, die ich auch Teils mit in die Wikis übernehmen kann (bzw. wer auf GitHub angemeldet ist kann auch gern gleich am Wiki mitarbeiten)

      Es haben definitiv schon einmal alle unterstützen Sensoren am SHC Funktioniert, während der Entwicklung habe ich das auch mehrfach getestet. Es kann sich also nur um externe Konfigurationsprobleme Handeln. Die natürlich auch nicht einfach zu finden sind wenn die SHC Dienste so empfindlich sind.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      @agent47

      Vielen Dank für die ausführlichen Erklärungen. Ich bin gerne bereit ein Tutorial z. B. für den BMP085 zu schreiben, so das er sich manuel auslesen lässt. Im Augenblick würde ich aber nur zu einer Installation des BMP auf einem spare system raten um sich nicht sein laufendes System zu zerschießen.

      Was ich in den nächsten Tagen mal machen kann, ist den BMP085 an meinem Slave anzuschließen, da kann nicht soviel kaputt gehen. Ansonsten komme ich mit dem Fehler log hier nicht weiter.

      Wichtig finde ich auch eine ausführliche Bug Beschreibung. Z.B. der Sonnen- auf und Untergang. Zu dem das alle 12 Stunden geschaltet wird kommt bei mir noch hinzu, dass bei Sunset meist oft gar nicht geschaltet wird, das das Licht aber mit Sunrise immer zuverlässig ausgeht. Ist dies nun ein separater Bug, oder ist das mit dem Doppel schalten mit erschlagen? Ich glaube aber eher, da liegt noch etwas im argen.

      Wie Du geschrieben hast, ist wohl das wichtigste, das die Dienste zuverlässig laufen. Sonst sucht man sich einen Wolf.

      Ich kann z.B. nicht bestätigen, dass Dienste nach dem Autostart wieder ausgehen, obwohl ich, manchmal öfters einen restart mache. Dafür fällt mir auf, das der Schaltserver manchmal am Master wie auch am Slave ausfällt. Aber nur sporadisch. Da frage ich mich, ob ich das nun extra posten soll. Das ist nämlich erst seitdem ich die beiden raspi's neu aufgesetzt habe und war vorher nicht. Einmal war auch die Fritzbox abgestürzt und danach standen auch die Schaltserver. Zufall? Der einzige Unterschied ist, das ich den Master von einem B in einen B+ geändert habe und neue SD Karten nutze. (Sandisk Class10 8GB). Ich könnte mir auch vorstellen, dass man sich Fehler mit WLAN "einbauen" kann. Um das von vornherein auszuschließen habe ich die Raspi's verkabelt und eine statische IP vergeben. Eine verteilte Installation kann die möglich Fehler nochmals deutlich erhöhen.

      Deshalb finde ich eine Checklisten- artige Installationsanleitung enorm wichtig. Verstehe aber auch, das Du dafür nicht die Zeit hast und möchte Dir daraus keinen Vorwurf machen.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • RE: BMP085 und mehrere DHT22 Sensor transmittier Absturz

      Zu bekannten Bug zu denen schon Issues existieren ist es das beste diese zu Kommentieren. Da ich nicht jeden Bug nachstellen kann ist so gut wie jede Info Wichtig. Neue Bugs kannst du direkt als Issue erstellen oder hier im Forum posten. Z.B.: das der Schaltserver abstürzt ist mir so nicht bekannt, auch hie möglichst viele Infos dazu.