Link zur Hauptseite des Forums

LotharGehlhaar - Teichbauforum

DAS informative Forum der Koi-Szene
Link zur Enzyklopaedie
Aktuelle Zeit: Sa 27.Apr 2024 9:48

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 225 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5 ... 23  Nächste
Autor Nachricht
BeitragVerfasst: Mo 23.Mär 2015 0:01 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.718,34 Taler

Beiträge: 14513
Wohnort: 07548 Gera
Hallo Dennis,

schnuffi hat geschrieben:
Mit welchem code hattest du deine Ultraschall Sensoren angesprochen?

das Skript sollte sich mit in Deiner Software befinden.
/var/www/steuerung/quellen/sensoren/echolot.py

Mit diesem Skript kannst Du Dir aussuchen, welche PINs Du verwendest, musst sie als Parameter angeben.


Pfiffikus,
der dieses Skript von PHP aus ansteuert


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mo 23.Mär 2015 9:19 
Offline
Anonymer User
Benutzeravatar

Registriert: Do 03.Jan 2013 13:07
Cash on hand:
3.339,23 Taler

Beiträge: 646
Pfiffikus hat geschrieben:
Hallo Dennis,

schnuffi hat geschrieben:
Mit welchem code hattest du deine Ultraschall Sensoren angesprochen?

das Skript sollte sich mit in Deiner Software befinden.
/var/www/steuerung/quellen/sensoren/echolot.py

Mit diesem Skript kannst Du Dir aussuchen, welche PINs Du verwendest, musst sie als Parameter angeben.


Pfiffikus,
der dieses Skript von PHP aus ansteuert


Hi Pfiffikus,

danke :)

Ja das hatte ich schon gefunden(In php muss ich mich erst einmal rein arbeiten :roll: , dass kann noch ein wenig dauern).

Dachte du hattest evtl. bei deinem manuellen "Test" einen anderen Code verwendet. Also verwendest du auch die library "rpi.gpio".
Du benutzt noch ein PI B, oder? Damit funktioniert die LIB also.

Ich würde mir evtl auch noch einmal einen PI B+ zulegen (weil 40 pins :hammer3: ). Hat jemand von euch die Library rpi.gpio an einem PI B+ zum laufen bekommen?

Falls ja, würde ich mir evtl auch diesen noch einmal zulegen. :)

Funktioniert das anlernen eines HC-SR04 über Pfiffikus Webinterface bei jemandem in der Revision 234? Liefert dieser dann sinnvolle Werte?

Danke und Gruß

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mo 23.Mär 2015 15:31 
Offline
Anonymer User
Benutzeravatar

Registriert: Do 03.Jan 2013 13:07
Cash on hand:
3.339,23 Taler

Beiträge: 646
Kameramodul für Teichüberwachung live
Reiher / Katzenschreck

Hallo Zusammen,

ich habe noch eine Idee zur Erweiterung der Teichsteuerung bzw. Überwachung.

Folgendes Kameramodul:
Kameramodul_Raspberry

Verlängerungskabel 1m:
Flachbandkabel_1m

Als Bewegungssensor:
Bewegungssensor_7m

Eine Aufzeichnung sehe ich im Moment eher als kritsch und vielleicht unnötig an, wegen dem entstehenden Datenvolumen.

Verwendungszwecke:
- Evtl. Livestream um mal nach dem rechten zu schauen :?:
- Falls ein Alarm ausgelöst wurde kann man kurz nachschauen, man wird evtl nicht viel sehen
- Man könnte mit einem Bewegungssensor beim auslösen ein Bild generieren lassen, je nach Bedarf
- Wenn Bewegungssensor ausgelöst wird, schaltet sich kurz ein Pumpe an, die kurz sprüht und Angreifer oder Menschen abschreckt :)

Was haltet ihr von der Idee? Hätte da jemand Interesse dran?

Ich würde mir dann evtl. so ein Modul mal bestellen und es ausprobieren. Allerdings möchte ich erst einmal meinen HC-SR04 zum laufen bekommen. :)

@Pfiffikus: Könnte man ja wenn es ein fertiges Modul ist in dein Webinterface integrieren. Nur wenn du es auch möchtest, natürlich.

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: So 29.Mär 2015 20:34 
Offline
Anonymer User
Benutzeravatar

Registriert: Do 03.Jan 2013 13:07
Cash on hand:
3.339,23 Taler

Beiträge: 646
Hallo Zusammen,

ich habe mal den Code von Pfiffikus abgeändert. Beim Ausführen gab es einen Fehler das µ Zeichen konnte nicht interpretiert werden, da es kein gültiges ASCII Zeichen ist.

Der geändete Code:
- Ausgabe von allen drei Sensoren
- 200ms Wartezeit zwischen den Messungen eingefügt, damit sich nichts überschneidet
- Meine Sensoren sind wie in dem Post zuvor angeschlossen,Trigger = GPIO 18, Echo1 = 17, Echo2 = 27, Echo3 = 22


Code:
#----------------------#
# Author: Pfiffikus und Dennis#
#----------------------#
import time
import RPi.GPIO as GPIO
import sys

# Schreibe eingegebene GPIO pins in die Variablen
GPIOTrigger1 = int(18)
GPIOEcho1    = int(17)
GPIOEcho2   = int(27)
GPIOEcho3   = int(22)

#GPIO.setwarnings(False)

#Wieviel Messungen sollen durchgefuehrt werden
Counter = 1000

# function to measure the distance
print 'Start'
while Counter > 1:
  #time.sleep(0.2)

  def MeasureDistance(GPIOTrigger, GPIOEcho):
    time.sleep(0.2)
  # set trigger to high
    GPIO.output(GPIOTrigger, True)

  # set trigger after 10mikrosec to low
    time.sleep(0.00001)
    GPIO.output(GPIOTrigger, False)

      # store initial start time
    StartTime = time.time()
      # Endzeit festlegen
    EndTime = StartTime + 1

      # store start time
    while ((GPIO.input(GPIOEcho) == 0) & (StartTime < EndTime)):
      StartTime = time.time()

      # store stop time - aber vordefinieren
    StopTime = time.time()
    while ((GPIO.input(GPIOEcho) == 1) & (StartTime < EndTime)):
      StopTime = time.time()


      # Wenn keine Antwort vom Sensor empfangen wird, wird 0 mm  ausgegeben
    if StopTime - StartTime < 0.0001:
      StopTime =  StartTime

    # calculate distance
    TimeElapsed = StopTime - StartTime
    Distance = (TimeElapsed * 343000) / 2

    return Distance

    # Set Output to GPIOs
  GPIO.setmode(GPIO.BCM)

      # set up GPIO pins
  GPIO.setup(GPIOTrigger1, GPIO.OUT)
  GPIO.setup(GPIOEcho1, GPIO.IN)
  GPIO.setup(GPIOEcho2, GPIO.IN)
  GPIO.setup(GPIOEcho3, GPIO.IN)

      # set trigger to false
  GPIO.output(GPIOTrigger1, False)
  Millimeter1 = MeasureDistance(GPIOTrigger1, GPIOEcho1)

  GPIO.output(GPIOTrigger1, False)
  Millimeter2 = MeasureDistance(GPIOTrigger1, GPIOEcho2)

  GPIO.output(GPIOTrigger1, False)
  Millimeter3 = MeasureDistance(GPIOTrigger1, GPIOEcho3)

  print("%.0f" % Millimeter1 +", " + "%.0f" % Millimeter2 +", " + "%.0f" % Millimeter3)
#  print("%.0f" % Millimeter2)
#  print("%.0f" % Millimeter3)
  Counter = Counter - 1

GPIO.cleanup()


Hier die ausgegebene Messreihe:
pi@Teich ~ $ sudo python test_HCSR04.py
Start
168, 104, 63
167, 105, 63
169, 103, 60
164, 103, 60
168, 102, 60
166, 104, 61
168, 105, 61
168, 102, 60
167, 103, 63
165, 103, 62
170, 103, 62
166, 105, 63
172, 103, 63
169, 103, 62
166, 106, 63
169, 104, 64
164, 82, 64
169, 106, 61
168, 105, 62
169, 105, 61
161, 105, 61
169, 105, 62
167, 104, 61
168, 105, 61
169, 105, 61
168, 105, 61
168, 103, 61
166, 104, 61
168, 102, 61
169, 96, 62
166, 105, 64
163, 102, 61
168, 104, 62
169, 105, 61
usw.


Hier ist leider festzustellen, dass die Sensoren leider nicht immer korrekte Werte liefern. :(
Die Sensoren sind auch von unterschiedlicher Qualität. Manche haben mehr fehlerhafte Werte als andere, aber seht selbst.
Ich habe 1000 jeweils Messungen durchgeführt.

Hier mit nur einem Verbundenen Sensor:
Dateianhang:
Sensor1.png
Sensor1.png [ 14.73 KiB | 4161-mal betrachtet ]

Dateianhang:
Sensor2.png
Sensor2.png [ 12.75 KiB | 4161-mal betrachtet ]


Hier alle drei Sensoren zusammen:
Dateianhang:
Sensor1-3.png
Sensor1-3.png [ 42.79 KiB | 4161-mal betrachtet ]


Die Ausreißer haben aus meiner Sicht nichts mit dem paralellen Betrieb zu tun, da sie ja sequenziell abgearbeitet werden.

Hat jemand eine Idee wie man diese Fehlerhaften Werte abfangen könnte?

Möglichkeiten:
1. Man misst 20 mal und bildet dann den Mittelwert -> nicht mein Favorit
2. Man findet eine Möglichkeit die Fehlwerte bei 20 Messungen zu elemenieren
3. Man misst mit 2 Sensoren den gleichen Wasserstand und vergleicht die beiden gemessenen Werte, wenn diese zu stark voneinader abweichen, muss noch einmal gemessen werden. Nach 5 Fehlmessungen hintereinander wird Alarm ausgelöst.

Irgendwelche weiteren Ideen dazu?

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: So 29.Mär 2015 22:33 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.718,34 Taler

Beiträge: 14513
Wohnort: 07548 Gera
Hallo Dennis,

schnuffi hat geschrieben:
ich habe mal den Code von Pfiffikus abgeändert.

der war doch kaum von mir. Ich hatte nur einige Skripts im Netz gefunden. Die habe ich so modifiziert, dass sie bei defektem Sensor oder ausbleibendem Echo nicht hängen bleiben und dass man die GPIOs als Parameter übergeben kann. Dadurch wird dieses eine Skript für einen oder mehrere Sensoren geeignet, gleich welche GPIOs genutzt werden.


schnuffi hat geschrieben:
Beim Ausführen gab es einen Fehler das µ Zeichen konnte nicht interpretiert werden, da es kein gültiges ASCII Zeichen ist.

Wundert mich, denn dieses relativ unbedeutende Zeichen kommt nur ein einziges Mal innerhalb eines Kommentars vor.



schnuffi hat geschrieben:
Hier ist leider festzustellen, dass die Sensoren leider nicht immer korrekte Werte liefern. :(

Das hatte ich auch feststellen müssen. Praktisch will ich es nicht hundertprozentig auf die Sensoren schieben. Auch Störgeräusche in der Umgebung (Fledermäuse, Monitore, ...) könnten Fehlmessungen verursachen. Ehrlich gesagt, ich kenne die Geräuschkulisse meiner Umgebung im Ultraschallbereich nicht. Wir müssen eben damit leben.

schnuffi hat geschrieben:
Hat jemand eine Idee wie man diese Fehlerhaften Werte abfangen könnte?

Die von mir geschriebene Software misst gleich 20 mal den Abstand. Anschließend wird geschaut, in welchem Intervall von 8mm sich die Messwerte häufen. Werte, die nicht da drin im gefundenen Intervall liegen, werden verworfen. Von den verbliebenen Werten wird der Mittelwert gebildet.



Pfiffikus,
der sich noch dafür interessiert, wie Du das Übersprechen von den jeweils anderen Sensoren in den Griff bekommen hast


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: So 29.Mär 2015 22:47 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.718,34 Taler

Beiträge: 14513
Wohnort: 07548 Gera
Hallo Dennis,

schnuffi hat geschrieben:
- Wenn Bewegungssensor ausgelöst wird, schaltet sich kurz ein Pumpe an, die kurz sprüht und Angreifer oder Menschen abschreckt :)

@Pfiffikus: Könnte man ja wenn es ein fertiges Modul ist in dein Webinterface integrieren. Nur wenn du es auch möchtest, natürlich.

Die Idee ist nicht schlecht. Für den Bewegungssensor müsste nur eine Unterklasse von cSensor geschaffen werden. Dann haben wir eben einen Sensor, der als Messwerte nur 0 oder bei Bewegung 1 ausgibt.

Wenn das erledigt ist, wäre der Rest ein Kinderspiel. Dieser Bewegungssensor könnte der Auslöser für einen oder mehrere Jobs sein und einen Angreifer duschen, den Benutzer informieren oder was auch immer. Eigens dafür habe ich die Software objektorientiert und modular aufgebaut.


Pfiffikus,
der die Kameraklasse nicht selbst schreiben kann, da er die nötige Hardware nicht besitzt


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mo 30.Mär 2015 9:07 
Offline
Anonymer User
Benutzeravatar

Registriert: Do 03.Jan 2013 13:07
Cash on hand:
3.339,23 Taler

Beiträge: 646
Hallo Pfiffikus,

Pfiffikus hat geschrieben:

schnuffi hat geschrieben:
Beim Ausführen gab es einen Fehler das µ Zeichen konnte nicht interpretiert werden, da es kein gültiges ASCII Zeichen ist.

Wundert mich, denn dieses relativ unbedeutende Zeichen kommt nur ein einziges Mal innerhalb eines Kommentars vor.

Wenn du dein echolot.py versuchst auszuführen, kommt bei dir keine Fehlermeldung :?: Bei mir ist es scheinbar relevant, wenn ein ungültiges Zeichen im Kommentar steht :?:

Pfiffikus hat geschrieben:
schnuffi hat geschrieben:
Hier ist leider festzustellen, dass die Sensoren leider nicht immer korrekte Werte liefern. :(

Das hatte ich auch feststellen müssen. Praktisch will ich es nicht hundertprozentig auf die Sensoren schieben. Auch Störgeräusche in der Umgebung (Fledermäuse, Monitore, ...) könnten Fehlmessungen verursachen. Ehrlich gesagt, ich kenne die Geräuschkulisse meiner Umgebung im Ultraschallbereich nicht. Wir müssen eben damit leben.

Wenn eine Geräuschkullisse dies beeinflussen sollte, würde der Sensor ja nur früher das Echo detektieren. Das erklärt dann nicht die Fehlmessungen mit längerer Amplitude. Somit tippe ich auf einen Fehler bei den Sensoren, dessen Impulszeit nicht immer zu passen scheint.

Pfiffikus hat geschrieben:
schnuffi hat geschrieben:
Hat jemand eine Idee wie man diese Fehlerhaften Werte abfangen könnte?

Die von mir geschriebene Software misst gleich 20 mal den Abstand. Anschließend wird geschaut, in welchem Intervall von 8mm sich die Messwerte häufen. Werte, die nicht da drin im gefundenen Intervall liegen, werden verworfen. Von den verbliebenen Werten wird der Mittelwert gebildet.

Mich würde hier echt interessieren, wie du dies programmiert hast :). Gerne auch per PN. Leider bin ich PHP :hammer3: (Muss mich da erst einmal rein lesen)

Pfiffikus hat geschrieben:
Pfiffikus,
der sich noch dafür interessiert, wie Du das Übersprechen von den jeweils anderen Sensoren in den Griff bekommen hast


Ich habe die Sensoren so angeschlossen:

Dateianhang:
HC-SR04.jpg
HC-SR04.jpg [ 73.48 KiB | 4080-mal betrachtet ]


Ich kann es auch gerne noch einmal für die Enzi mit einem Programm zeichnen, falls Interesse besteht. :)
Diese Schaltung habe ich dann auf eine Streifenrasterplatine gelötet. ;)

Kannst du eigentlich die HC-SR04 Sensoren bei dir über die Website oder das Skript ansprechen? Bei mir scheint das Anlernen nicht zu funktionieren. :?:

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Werbung, um Taler einzunehmen
Verfasst: Sa 27.Apr 2024 9:48 
Online
Expertin
Benutzeravatar

Registriert: Mo 05.Dez 2005 19:01
Cash on hand:
immer zu wenige Taler

Beiträge: nur ein paar
Wohnort: Koi-Schnack
Anzeige:

_________________
Wenn du einen Monat lang ein werbefreies Forum willst, klicke hier und überweise mir 100 Taler!
Wenn du mich im Koi-Schnack etwas fragen möchtest, klicke hier!


Nach oben
 Profil Private Nachricht senden  
 
BeitragVerfasst: Mo 30.Mär 2015 9:11 
Offline
Anonymer User
Benutzeravatar

Registriert: Do 03.Jan 2013 13:07
Cash on hand:
3.339,23 Taler

Beiträge: 646
Pfiffikus hat geschrieben:
Hallo Dennis,

schnuffi hat geschrieben:
- Wenn Bewegungssensor ausgelöst wird, schaltet sich kurz ein Pumpe an, die kurz sprüht und Angreifer oder Menschen abschreckt :)

@Pfiffikus: Könnte man ja wenn es ein fertiges Modul ist in dein Webinterface integrieren. Nur wenn du es auch möchtest, natürlich.

Die Idee ist nicht schlecht. Für den Bewegungssensor müsste nur eine Unterklasse von cSensor geschaffen werden. Dann haben wir eben einen Sensor, der als Messwerte nur 0 oder bei Bewegung 1 ausgibt.

Wenn das erledigt ist, wäre der Rest ein Kinderspiel. Dieser Bewegungssensor könnte der Auslöser für einen oder mehrere Jobs sein und einen Angreifer duschen, den Benutzer informieren oder was auch immer. Eigens dafür habe ich die Software objektorientiert und modular aufgebaut.


Pfiffikus,
der die Kameraklasse nicht selbst schreiben kann, da er die nötige Hardware nicht besitzt


Gut, dann bestell ich gleich mal die IR Sensoren. Bei der Kamera belese ich mich erst nochmal. :)

Gruß Dennis,
der dir gerne auch zwei IR Sensoren zukommen lassen würde(werde ja keine 5stk brauchen), wenn diese dann da sind ;)

Edit: Eben bestellt 7-21 Tage Lieferzeit, die kommen garantiert aus Fernost -> Mal sehen wie lange es dauert 8)

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mo 30.Mär 2015 11:40 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Fr 02.Jan 2009 9:47
Cash on hand:
1.406,90 Taler

Beiträge: 6046
Wohnort: Lappersdorf
Geh mal von eher 21 Tagen aus. ; ) aber bei dem Preis kann man nicht meckern.

_________________
Gruß Robert

www.koifutterhandel.de


Nach oben
 Profil userposition on geomap  
 
BeitragVerfasst: Mo 30.Mär 2015 13:04 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.718,34 Taler

Beiträge: 14513
Wohnort: 07548 Gera
Hallo Dennis,

schnuffi hat geschrieben:
Wenn du dein echolot.py versuchst auszuführen, kommt bei dir keine Fehlermeldung :?: Bei mir ist es scheinbar relevant, wenn ein ungültiges Zeichen im Kommentar steht :?:

nein. Habe soeben einen solchen Sensor an meinen Testraspi angeschlossen. Das Skript funktioniert bei mir.

Code:
sudo /var/www/steuerung/quellen/sensoren/echolot.py 18 17
sudo /var/www/steuerung/quellen/sensoren/echolot.py 18 21
sudo /var/www/steuerung/quellen/sensoren/echolot.py 18 22

Das sind die Befehle, die Deinen Sensoren 1, 2 und 3 jeweils einen Messwert entlocken sollten. Wenn das nicht gelingt, brauchst Du die folgenden Schritte zur Integration ins Web-Interface nicht weiter probieren.

schnuffi hat geschrieben:
Kannst du eigentlich die HC-SR04 Sensoren bei dir über die Website oder das Skript ansprechen? Bei mir scheint das Anlernen nicht zu funktionieren. :?:

Ja, das ist ja eigentlich vorgesehen. Alles andere wäre unhandlich und nicht komfortabel. Für Deinen Sensor 1 habe ich mal ein Bildschirmfoto von den nötigen Einstellungen gemacht.
Dateianhang:
Sensor1.png
Sensor1.png [ 23.82 KiB | 4256-mal betrachtet ]

Das funktioniert aber nur dann, wenn Du das echolot.py-Skript bereits zum Laufen bekommen hattest.



schnuffi hat geschrieben:
Wenn eine Geräuschkullisse dies beeinflussen sollte, würde der Sensor ja nur früher das Echo detektieren. Das erklärt dann nicht die Fehlmessungen mit längerer Amplitude. Somit tippe ich auf einen Fehler bei den Sensoren, dessen Impulszeit nicht immer zu passen scheint.

Da kommen noch Fehlerquellen innerhalb von Linux in Frage. Es ist durchaus möglich, dass die CPU gerade mit einem anderen Prozess beschäftigt ist, während das Echo eingeht. Dieses wird dann etwas später, als eingetroffen, bearbeitet.

schnuffi hat geschrieben:
Mich würde hier echt interessieren, wie du dies programmiert hast :). Gerne auch per PN. Leider bin ich PHP :hammer3: (Muss mich da erst einmal rein lesen)

Kannst Du jederzeit nachlesen in /var/www/steuerung/quellen/sensoren/cPegelHCSR04Sensor.php derzeit in den Zeilen 48 bis 80.


schnuffi hat geschrieben:
Ich kann es auch gerne noch einmal für die Enzi mit einem Programm zeichnen, falls Interesse besteht. :)

Das Interesse ist groß. Nicht nur für die Enzyklopädie, sondern auch für die Hilfedatei, die ich direkt in die Software integrieren möchte.


Pfiffikus,
der diesen Schaltplan zusätzlich noch direkt in die Hilfedatei der Software integrieren würde


Nach oben
 Profil userposition on geomap  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 225 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5 ... 23  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de