Link zur Hauptseite des Forums

LotharGehlhaar - Teichbauforum

DAS informative Forum der Koi-Szene
Link zur Enzyklopaedie
Aktuelle Zeit: Do 28.Mär 2024 9:50

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 97 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 10  Nächste
Autor Nachricht
 Betreff des Beitrags: Schaltkontakte am Raspi
BeitragVerfasst: Fr 01.Mai 2015 11:13 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14507
Wohnort: 07548 Gera
Hallo Leute,

in der letzten Zeit kam immer wieder der Wunsch auf, dass der Raspi auch den Zustand eines Schwimmerschalters auswertet. Natürlich ist es dem Raspi egal, ob der Signalgeber schwimmt, hängt, fest montiert ist oder manuell betätigt wird. Also wird das Kind ganz allgemein "Schaltkontakt" heißen.

Um eine bessere Übersicht zu haben, habe ich für die Schaltkontakte ein neues Thema angefertigt.

Wie versprochen habe ich einen neuen Entwicklungszweig angefertigt, in dem wir die Veränderungen einpflegen, in dem ausprobiert und getestet werden kann. Und sofern alles funktioniert, werden die Resultate zu gegebener Zeit aus diesem Zweig in den Stamm der Software integriert.

http://svn.koi-gehlhaar.de/steuerung/zw ... altkontakt


Es spricht nichts dagegen, die Software aus diesem Zweig parallel zur funktionierenden Software auf dem Raspi zu installieren.
Code:
svn checkout http://svn.koi-gehlhaar.de/steuerung/zweige/schaltkontakt/ /var/www/schaltkontakt

rechnerdaten.php kann aus dem Stamm in diesen Zweig kopiert werden. Empfohlen ist die Veränderung der einen Zeile:
Code:
$g_SystemName   =   'Zweig Schaltkontakt';

Fertig! Der Zweig kann nun mit dieser Adresse (IP ggf. anpassen) aufgerufen werden.
http://192.168.1.50/schaltkontakt

Die ersten Menüpunkte sind im Zweig schon da. An dieser Stelle werden später auch andere Sensoren zu integrieren sein. Leitwertmessung, pH, Sauerstoff, ...
Es versteht sich von selbst, dass die neuen Punkte noch nicht funktionieren. Aber die anderen Sachen, die bisher funktionierten, sollten hier nach menschlichen Ermessen (noch nicht mit der Testsoftware getestet) normal funktionieren. "Cron-Jobs" müssen allerdings manuell per Klick auf den Menüpunkt veranlasst werden.


Pfiffikus,
der gespannt ist, wie sich die Arbeitsteilung an dieser Stelle bewährt


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Fr 01.Mai 2015 12:53 

Cash on hand: Locked
Hallo Gunter,
wie bekomme ich in dem Zweig den Schaltkontakt mit einem Job vertüddelt?


Nach oben
  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Fr 01.Mai 2015 16:39 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

Beiträge: 14507
Wohnort: 07548 Gera
Hallo Paul,

Fischkopf hat geschrieben:
wie bekomme ich in dem Zweig den Schaltkontakt mit einem Job vertüddelt?

noch garnicht, denn es funktioniert ja noch garnüscht.

Wenn es soweit ist, wirst Du den Kontakt ganz normal als einen möglichen Sensor auswählen können, wie heute schon Temperatur- und Pegelsensoren. Der Job vergleicht mit einem eingegebenen Wert, hier wird der Sensor nur 0 oder 1 "messen".


Pfiffikus,
der an dieser Stelle auch die Sensoren für die Wasserwerte unterbringen möchte


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Fr 01.Mai 2015 22:13 
Offline
Anonymer User
Benutzeravatar

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

Beiträge: 646
Hey Pfiffikus,

du warst mal wieder fleißig. :) Hab mir den Zweig gerade installiert.

Ich würde mich gerne an der Entwicklung beteiligen. Leider bin ich noch nicht dazu gekommen mich in php einzuarbeiten. :(
Ich würde es versuchen in Python zu realisieren.

Da du hier in dieser Sache der Projektleiter bist, würde ich vorschlagen, dass du einfach sagst, was noch nicht funktioniert und wobei du evtl Hilfe benötigst.

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Sa 02.Mai 2015 0:18 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Nov 2005 20:39
Cash on hand:
5.716,97 Taler

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

schnuffi hat geschrieben:
Ich würde es versuchen in Python zu realisieren.

Da du hier in dieser Sache der Projektleiter bist, würde ich vorschlagen, dass du einfach sagst, was noch nicht funktioniert und wobei du evtl Hilfe benötigst.

in Absprache mit Paul (Fischkopf) würde ich mir von Euch beiden ein Skript wünschen. Ihr beide habt Euch ja schon eingehend mit der Materie beschäftigt.
/var/www/schaltkontakt/quellen/sensoren/schaltkontakt.py

Das Skript kann zum Beispiel von der Konsole aus aufgerufen werden.
Ist der Kontakt geschlossen, gibt das Skript 1 aus.
Ist der Kontakt offen, gibt das Skript 0 aus.
Liegt eine Störung vor, gibt es etwas anderes aus.


Pfiffikus,
der davon ausgeht, dass Du auch noch exakte Zeichnungen erstellen könntest, falls hoeneß2 noch etwas brauchen sollte


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Sa 02.Mai 2015 1:01 
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:
/var/www/schaltkontakt/quellen/sensoren/schaltkontakt.py

Das Skript kann zum Beispiel von der Konsole aus aufgerufen werden.
Ist der Kontakt geschlossen, gibt das Skript 1 aus.
Ist der Kontakt offen, gibt das Skript 0 aus.
Liegt eine Störung vor, gibt es etwas anderes aus.

ist bereits geschehen.
File schaltkontakt.py

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

#GPIO PINs deklariren
GPIOin = int(sys.argv[1])

#Warnings ausschalten um fehlerhafte Logausgaben zu vermeiden
GPIO.setwarnings(False)

#set GPIO PINS
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIOin, GPIO.IN)

def Measure(GPIOin):
  #Read input Pin
  Status = GPIO.input(GPIOin)
  return Status

Status = Measure(GPIOin)
print Status
GPIO.cleanup()


Bei geschlossenem Schließer wird eine 1 ausgegeben
Bei offenem Schließer wird eine 0 ausgegeben

Bei geschlossenem Öffner wird eine 0 ausgegeben
Bei offenem Öffnerwird eine 1 ausgegeben

-------------------------------
Bei Fehlerhaften Ausgaben kommt z.B. so etwas heraus

Falscher GPIO gewählt:
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py 2
schaltkontakt.py:15: RuntimeWarning: A physical pull up resistor is fitted on th is channel!
GPIO.setup(GPIOin, GPIO.IN)
1
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py 66 Traceback (most recent call last):
File "schaltkontakt.py", line 15, in <module>
GPIO.setup(GPIOin, GPIO.IN)
ValueError: The channel sent is invalid on a Raspberry Pi
-------------------------------


Wenn du möchtest kann ich auch die Abfrage für Öffnerkontakt oder Schließerkontakt hinzufügen
In etwa so
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py "GPIO" "Schließer"
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py "GPIO" "Öffner"

Ausgabe wäre 1 oder 0 unabhängig was für ein Schalter verbunden ist
1 == betätigt
0 == nicht betätigt

Du müsstest das dann nur in deiner Steuerung vorsehen, dass dafür eine Auswahl getroffen :hallo:

Pfiffikus hat geschrieben:
Pfiffikus,
der davon ausgeht, dass Du auch noch exakte Zeichnungen erstellen könntest, falls hoeneß2 noch etwas brauchen sollte


Sicher doch, einfach bescheid geben :)

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Sa 02.Mai 2015 16:18 

Cash on hand: Locked
Hallo Allerseits,
bei mir muss immer als erstes vor dem lobenden AUTOR die Zeile welches Python ich benutzen möchte und wo sich das Python-Programm befindet.
Sonst kommt bei mir Das:
pi@raspberrypi1 /var/www/teichmonitor/Test_skripts $ sudo ./schaltkontakt.py 16
./schaltkontakt.py: 5: ./schaltkontakt.py: import: not found
./schaltkontakt.py: 6: ./schaltkontakt.py: import: not found
./schaltkontakt.py: 9: ./schaltkontakt.py: Syntax error: "(" unexpected


ALSO erst: #!/usr/bin/python2.7
Code:
#!/usr/bin/python2.7
#-----------------------------#
#      Author: Dennis         #
#-----------------------------#
import RPi.GPIO as GPIO
import sys


so ist es bei meinen Pi´s zumindest evtl liegt es an den verschiedenen installierten Pythonen Versionen 2.7.9 bis 3.4.2.
schnuffi hat geschrieben:
Bei geschlossenem Schließer wird eine 1 ausgegeben
Bei offenem Schließer wird eine 0 ausgegeben

Bei geschlossenem Öffner wird eine 0 ausgegeben
Bei offenem Öffnerwird eine 1 ausgegeben


evtl. Verwirrung!!!
Dennis ein offener Öffner ist gleich zusetzen wie ein offener Schließer beides mal liegt am GPIO low Signal an.

Ich weis Du meinst die Flankensteuerung (FALLING, RISING, BOTH oder beides) die in Deinem Skript nicht angegeben ist, was mich wundert????

GPIO.add_event_detect(GPIOin, GPIO.RISING)

Des weiteren würde ich auch die Kontakt-Prellung mit ein beziehen 300 ms.

GPIO.add_event_detect(GPIOin, GPIO.RISING, bouncetime=300)

Auf keinen Fall würde ich auf den Software gesetzten Widerstand verzichten, der macht mir keine Arbeit beim Ein bzw. Auslöten!

GPIO.setup(GPIOin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

Also könnte bis dahin das Skript so aus sehen:
Code:
#!/usr/bin/python2.7
#================================================================================================================================================
#Title       : Pegelschalter an GPIO auslesen
#Author      : Gemeinschaftsarbeit von der Teichsteuerung
#Datum       : 02.05.2015
#Version     : 01
#Anwendung   :Starte Script mit z.b pi@raspberrypi1 /var/www/schaltkontakt/quellen/sensoren/schaltkontakt.py $ sudo ./schaltkontakt.py 16
#Notizen     :Um einen GPIO zu exportieren muessen wir jedoch Root sein (was ein bisschen nervt). Entweder wechselt man vorher zum Root-Benutzer,
#          oder man aendert die Rechte der export-Datei: pi@raspberrypi ~ $ sudo chmod 222 /sys/class/gpio/export /sys/class/gpio/unexport
#         pi@raspberrypi ~ $ gpio export 16 in
#================================================================================================================================================
import RPi.GPIO as GPIO
import sys

#GPIO PINs deklariren
GPIOin = int(sys.argv[1])

#Warnings ausschalten um fehlerhafte Logausgaben zu vermeiden
GPIO.setwarnings(False)

#set GPIO PINS
GPIO.setmode(GPIO.BCM)

GPIO.setup(GPIOin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

# Hier Flankensteuerung FALLING, RISING, BOTH oder beides #
GPIO.add_event_detect(GPIOin, GPIO.RISING, bouncetime=300)

def Measure(GPIOin):
  #Read input Pin
  Status = GPIO.input(GPIOin)
  return Status

Status = Measure(GPIOin)
print Status
GPIO.cleanup()


Skript mit :
sudo ./schaltkontakt.py 16
0 Schalter offen
1 Schalter geschlossen
getestet!!

schnuffi hat geschrieben:
Wenn du möchtest kann ich auch die Abfrage für Öffnerkontakt oder Schließerkontakt hinzufügen
In etwa so
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py "GPIO" "Schließer"
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py "GPIO" "Öffner"


Wenn das möglich ist halte ich es von Vorteil, da es verschiedene Schwimmerschalter gibt, denke da gerade an solche Varianten ein wenig kleiner aber vom Prinzip her.
http://info.elektro-kahlhorn.de/schwimm ... ifa-gifas/
Sollte der RasPi´s jeweils die macht haben meinen 50m³ Teich in den Nachbar seine Kellerwohnung zu Pumpen, kommt auf jeden Fall an erster Prio so ein Ähnlicher Schwimmer-schalter zu tragen!!!

Dazu habe ich dann noch Fragen an Gunter:
Mit welcher Priorität wird der Schalter in der Teichsteuerung angebunden (Abfrage und Verarbeitung Intervall)
Wäre ein Logen nur bei einer Zustandsänderung möglich.

Zitat:
Pfiffikus,
der davon ausgeht, dass Du auch noch exakte Zeichnungen erstellen könntest, falls hoeneß2 noch etwas brauchen sollte

Reichen Euch die Fritzing Bilder von mir nicht sollte ich da noch was ändern?
Die können gerne benutzt werden, sind mit freier Fritzing Software erstellt!!
Dateianhang:
Pegel 1.jpg

Dateianhang:
Pegel_2.jpg


Pfiffikus hat geschrieben:
wir brauchen ein Shell-Skript, welches auf der Konsole aufgerufen werden kann. Sinngemäß muss es so ablaufen:

Eingabe:
Code:
root@raspberrypi1:/var/www/steuerung/quellen/sensoren# ./schalter.py 16


Sicherer wäre ohne nötige root-Rechte:
Code:
pi@raspberrypi1:/var/www/steuerung/quellen/sensoren# ./schalter.py 16

ohne root-Rechte bzw. sudo geht bei den GPIO in Verbindung mit Python wohl nichts, wie bei den
Ultraschallsensor HC-SR04 und der echolot.py

Ich habe das hier mal probiert:
Man muss kein root haben um auf die GPIOs zu zugreifen (zumindest nicht meinem Build) die beiden Dateien export und unexport gehören der Gruppe "gpio". Sollte der aktuelle Benutzer vermutlich "pi" nicht dieser Gruppe angehören, reicht folgendes:
sudo usermod -aG gpio pi
Im aktuellen Rasbian ist das allerdings schon geschehen.
http://raspberrypiguide.de/howtos/raspb ... mment15682

funktioniert aber mit Python nicht.

siehe hier:
http://www.netzmafia.de/skripten/hardwa ... PIO_C.html


also sollte /etc/sudoers um schalter.py erweitert werden.
www-data ALL=(root) NOPASSWD:/var/www/steuerung/quellen/sensoren/schalter.py


Nach oben
  
 
 Betreff des Beitrags: Werbung, um Taler einzunehmen
Verfasst: Do 28.Mär 2024 9:50 
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  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Sa 02.Mai 2015 17:42 

Cash on hand: Locked
Hallo Projektleitung und beteiligte Interessenten,

wie wäre es für die Zukünftigen Projekte, eine Art Lastenheft Softwareentwicklung zu erstellen (nicht öffentlich)?
-Aktuelle Situation
-Beschreibung und Hintergründe der geplanten Softwareentwicklung.
-Beschreibung des Soll-Konzepts
-Beschreibung von Schnittstellen und Techniken
-Funktionale Anforderungen
BLABLAbla.... wie früher auf der ..... ohne Ging gar nichts!


Nach oben
  
 
 Betreff des Beitrags: Re: AW: Schaltkontakte am Raspi
BeitragVerfasst: Sa 02.Mai 2015 17:49 
Offline
Anonymer User
Benutzeravatar

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

Beiträge: 646
Hallo Paul.

Zu erstens. Ja man kann in der Software die pullup pull down Widerstände setzen. Ist auch einfacher und besser.

Ich weiß nicht ob wir das bouncen der Kontakte unterbinden müssen. Da ja nur 3,3 v geschaltet werden und jede minute den wert auswerten.

Zu zweitens. Ja das finde ich auch gut. Macht die Arbeitsteilung einfacher und wir können uns mehr einbringen und Pfiffikus entlasten.

:grin:

Gesendet von meinem GT-I9305 mit Tapatalk 2

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: AW: Schaltkontakte am Raspi
BeitragVerfasst: Sa 02.Mai 2015 18:12 

Cash on hand: Locked
schnuffi hat geschrieben:
Hallo Paul.

Ich weiß nicht ob wir das bouncen der Kontakte unterbinden müssen. Da ja nur 3,3 v geschaltet werden und jede minute den wert auswerten.

Gesendet von meinem GT-I9305 mit Tapatalk 2


Hallo Dennis,
haben geht vor brauchen :wink:
Weis ich im Prinzip auch noch nicht, Kontaktprellen hat auch nichts viel mit der Spannungshöhe zu Tun bzw. bei 3,3 Volt eher als bei 3,3 KV.
Aber was ich weis, ist wo der Schw.schalter örtlich eingesetzt wird bei mir.
Viele Möglichkeiten habe ich da nicht und an diesem Ort ist auch mein Filter Rücklauf mit ordentlich Wasserbewegung!!!
wahrscheinlich brauche ich mehr als 300ms bouncetime ?
Bouncetime als Variable ist auch noch eine Idee!

Wie würde das Skript aussehen Dennis ? (Dann brauch ich nicht lange Puzzeln)
Mit Bouncetime als Variable und Abfrage für Öffnerkontakt oder Schließerkontakt.


Nach oben
  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 97 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 10  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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