Link zur Hauptseite des Forums

LotharGehlhaar - Teichbauforum

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

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 97 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6 ... 10  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Di 05.Mai 2015 13:35 
Offline
Anonymer User
Benutzeravatar

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

Beiträge: 646
Hallo Pfiffikus,

Fischkopf hat geschrieben:
Skript kann eigentlich in die Teich-Software eingebaut werden Gunter :!:


Sehe ich genau so. :D


Aufruf wäre dann:

Übergabeparameter:
./schaltkontakt.py "GPIO" "Wartezeit zwischen den Messungen"
Bsp. pi@Teich: /var/www/....# ./schaltkontakt.py 16 0.1


Rückgabeparameter:
1 wenn Schließer betätigt / 0 wenn Schließer nicht betätigt
Bsp. pi@Teich: /var/www/....# ./schaltkontakt.py 16 0.1
0

oder
Bsp. pi@Teich: /var/www/....# ./schaltkontakt.py 16 0.1
1


Weiterhin müsste das skript noch in der Datei /etc/sudoers ausführbar gemacht werden. Hab gerade nicht auf dem Schirm wie :hammer3:

_________________
____________________
Viele Grüße
Dennis
____________________


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Di 05.Mai 2015 13:51 

Cash on hand: Locked
schnuffi hat geschrieben:
Weiterhin müsste das skript noch in der Datei /etc/sudoers ausführbar gemacht werden. Hab gerade nicht auf dem Schirm wie :hammer3:



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


ich glaube so wie auch die echolot.py, hatte schon zu Anfang auf Seite 1 geschrieben Dennis.


Nach oben
  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Di 05.Mai 2015 20:22 
Offline
Realer User
Realer User
Benutzeravatar

Registriert: Mo 14.Dez 2009 15:17
Cash on hand:
46,72 Taler

Beiträge: 710
Servus,

ich kann mich gerade nicht um die Integration des Schwimmers kümmern.

Ich muss gerade ein anderes Problem klären. Ich habe ein Image gemacht und jetzt will der Raspi nicht mehr starten und ich habe keine Ahnung warum.

D.h. aktuell kein Zugriff auf den Raspi und somit auch nicht auf den Entwicklerzweig, sorry!!!

Gruß
Bernhard

Natürlich könnte ich den einfachen Weg gehen und ein älteres Image aufspielen, aber ich will das Problem verstehen.

_________________
______________________________________________________________________________________________________________________
Der wahrscheinlich weltweit einzige Koifutterhändler, der eigentlich gar kein Futter verkaufen will!
http://www.koifutterhandel.de
Lieferung ist tagesformabhängig, Paypalzahlung ist aber möglich.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Di 05.Mai 2015 20:46 

Cash on hand: Locked
hoeneß2 hat geschrieben:
Servus,

ich kann mich gerade nicht um die Integration des Schwimmers kümmern.

Ich muss gerade ein anderes Problem klären. Ich habe ein Image gemacht und jetzt will der Raspi nicht mehr starten und ich habe keine Ahnung warum.

D.h. aktuell kein Zugriff auf den Raspi und somit auch nicht auf den Entwicklerzweig, sorry!!!

Gruß
Bernhard

Natürlich könnte ich den einfachen Weg gehen und ein älteres Image aufspielen, aber ich will das Problem verstehen.


Hallo Bernhard,
hast Du Dir evtl. die Karte abgeschossen?


Nach oben
  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Di 05.Mai 2015 21:32 

Cash on hand: Locked
schnuffi hat geschrieben:
Hallo Pfiffikus,

Fischkopf hat geschrieben:
Skript kann eigentlich in die Teich-Software eingebaut werden Gunter :!:


Sehe ich genau so. :D


Aufruf wäre dann:

Übergabeparameter:
./schaltkontakt.py "GPIO" "Wartezeit zwischen den Messungen"
Bsp. pi@Teich: /var/www/....# ./schaltkontakt.py 16 0.1


Rückgabeparameter:
1 wenn Schließer betätigt / 0 wenn Schließer nicht betätigt
Bsp. pi@Teich: /var/www/....# ./schaltkontakt.py 16 0.1
0

oder
Bsp. pi@Teich: /var/www/....# ./schaltkontakt.py 16 0.1
1


Weiterhin müsste das skript noch in der Datei /etc/sudoers ausführbar gemacht werden. Hab gerade nicht auf dem Schirm wie :hammer3:


Bis Dato habe ich immer nur mit 1 sec. getestet, wegen der Übersichtlichkeit.

hatte gerade dann mit 0.1 sprich ./schaltkontakt.py 16 0.1 gespielt.
Auf Grund der int Integerfunktion wird die Kommastelle angemeckert:

./schaltkontakt.py 16 0.1
Traceback (most recent call last):
File "./schaltkontakt.py", line 25, in <module>
Wartezeit = int(sys.argv[2])
ValueError: invalid literal for int() with base 10: '0.1'

Deshalb habe ich um unter 1sec. zukommen durch 10 geteilt.
#Wartezeit zwischen den Messungen
Wartezeit = int(sys.argv[2])/10

Das Heist dann bei der Eingabe:
./schaltkontakt.py 16 1
entspricht 0.1 sec = 100msec.

Hier der Neue Code:
Code:
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
#============================================================================================================================================
#Title       : Pegelschalter an GPIO auslesen
#Author      : Gemeinschaftsarbeit Dennis schnuffi / Paul Fischkopf
#Datum       : 05.05.2015
#Version     : 09
#                              GPIO  Wartezeit 1 entspricht 0.1 sec. 10 entspricht 1 sec.
#                                                                             ^   ^                             
#Anwendung   :Starte Script mit z.b pi@raspberrypi $ sudo ./schaltkontakt.py 16 1
#Notizen     :Um einen GPIO zu exportieren muessen wir jedoch Root sein. Entweder wechselt man vorher zum Root-Benutzer, oder benutzt sudo.
#          Es muessen fünf gleiche Eingangssignale innerhalb der frei wählbaren Wartezeit zwischen den Messwerten erreicht werden,
#             um dann die Ausgabe zu erhalten.
#===========================================================================================================================================

#Import der erforderlichen Bibliotheken
import RPi.GPIO as GPIO
import sys
import time

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

#Wartezeit zwischen den Messungen
Wartezeit = int(sys.argv[2])/10

#deaktivieren Ausfall Ausgänge um unerwarteten Log-Ausgaben zu vermeiden
GPIO.setwarnings(False)

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


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

   
#------------Start Messung mit X Wiederholungen------------
#definieren Variablen Schutzzustand der Schleife und wie viele gleiche Werte in einer Reihe nachgewiesen werden
retries = 5
guard = 1
counter = 0
#Da der counter bei betreten der Schleife eh 0 ist wird eine Messung erzwungen, so kann START einfach mit 0 deklariert werden
START = 0
   
   
#Start Hauptschleife
while guard:
   #Wartezeit zwischen den Messungen /10 das Heist 1 entspricht 0.1 sec = 100ms.
   time.sleep(Wartezeit)
   #wenn Zähler == 0 beginnen, als Ausgangszustand des Eingangs-Pin zu messen
   if counter == 0:
      START = Measure(GPIOin)
   
   #prüfen, wie viele erfolgreiche Wiederholungen erkannt werden
   if counter < retries:
      #wenn nicht alle Wiederholungsversuche durchgeführt werden, führe eine weitere Messung durch
      CYCLE = Measure(GPIOin)
      #überprüfe ob Startwert und Zykluswert gleich sind, wenn JA Zähler erhöhen, wenn nicht die Messung mit Zähler 0 und neuen Zyklus zu beginnen
      if START == CYCLE:
         counter = counter + 1

         # Nur zum Testen Ausgabe Zähler und GPIOin Status
         print "Zaehler "  + str(counter)
         Status = Measure(GPIOin)
         print "Eingang ist "  + str(Status)

      else:
         counter = 0
   else:
      guard = 0
      #Wenn alle Werte in der Schleife gleich sind Messung zurückgegeben
      print START

GPIO.cleanup()


Nach oben
  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Do 07.Mai 2015 21:18 

Cash on hand: Locked
Pfiffikus hat geschrieben:
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


Hallo Gunter,
ist die Funktion Einstellungen>Neuer Sensor schon gegeben?

Wenn ich das mache :
Dateianhang:
Sch1.jpg


wird aber nichts übernommen:
Dateianhang:
Sch2.jpg


Zu bearbeiten ist die Datei /etc/sudoers
sudo joe /etc/sudoers
In dieser Datei ergänzen wir eine Zeile, gefolgt von einer leeren Zeile und speichern ab.
www-data ALL = (root) NOPASSWD : /var/www/zweig/quellen/sensoren/schaltkontakt.py
Damit darf der Webserver den Schaltkontakt abfragen, bekommt jedoch keine weiteren unnötigen root-Berechtigungen.

habe das geändert auf:
www-data ALL=(root) NOPASSWD:/var/www/schaltkontakt/quellen/sensoren/schaltkontakt.py
da die Datei ja nicht in zweig sondern in schaltkontakt liegt.

Code:
svn checkout http://svn.koi-gehlhaar.de/steuerung/zweige/Fischkopf/schaltkontakt/ /var/www/schaltkontakt


Testmessung Nach dem Anschluss eines Sensors und der Inbetriebnahme der Software kann man die Funktion des Python-Skripts und die Zusammenarbeit mit der Hardware testen. Auf der Konsole gibt man diesen Befehl ein, passt allerdings die korrekten GPIO-Nummern an:
sudo /var/www/zweig/quellen/sensoren/schaltkontakt.py 16
Wenn an dieser Stelle 0 oder 1 ausgegeben wird, hat man bis hier her alles richtig gemacht.
Das klappt:
Dateianhang:
Sch3.jpg



Puzelspieler Bittet um Support!Bild


Nach oben
  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: Fr 08.Mai 2015 6:31 
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 Paul,

der Fehler, dass in der Hilfestellung ein falscher Pfad angegeben wurde, wurde schon vom Dennis bemerkt. In meinem Entwicklungszweig ist er bereits behoben. Dort ist auch das verbesserte Echo-Skript von ihm eingebaut. Bei den Tests zeigte sich aber noch ein Fehler. Deshalb konnte ich die Resultate noch nicht in den Stamm integrieren.


Mein Zeitplan sieht so aus, dass ich den Fehler heute korrigiere, gefunden ist er ja schon. Wenn das erfolgreich war, sollte endlich wieder Neues in den Stamm eingemischt werden.

Darüber hinaus würde ich gerne Deine Schreibberechtigung noch auf den Zweig mit den Schaltkontakten ausweiten. Dann kannst Du das Skript, welches hier schon im Thema gezeigt wurde, dort einbauen. Zeitgleich will ich die Klasse für Schaltkontakte schreiben, damit diese Sachen in den Jobs nutzbar wird. Wie schnell das geht, hängt nicht unmaßgeblich vom Wetter ab - hoffen wir auf Regen!


Pfiffikus,
der jetzt erst noch ein paar Stunden schuften gehen muss


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Werbung, um Taler einzunehmen
Verfasst: Sa 27.Apr 2024 14:46 
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: So 10.Mai 2015 19:42 
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 Paul,

Fischkopf hat geschrieben:
Jetzt wäre eine Implementierung des Pegelschalters in die Steuerung schön :hallo: Pfiffikus.

Fischkopf hat geschrieben:
Hallo Gunter,
ist die Funktion Einstellungen>Neuer Sensor schon gegeben?

gerade bin ich am Schreiben. So soll es dann mal aussehen, hier eine Designstudie:

Dateianhang:
Job.png
Job.png [ 19.93 KiB | 3921-mal betrachtet ]


Ich hoffe, so in etwa hattet Ihr Euch das gedacht.


Pfiffikus,
der hofft, das bald einigermaßen funktionsfähig hochladen zu können


Nach oben
 Profil userposition on geomap  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: So 10.Mai 2015 20:12 

Cash on hand: Locked
Pfiffikus hat geschrieben:
Hallo Paul,

Fischkopf hat geschrieben:
Jetzt wäre eine Implementierung des Pegelschalters in die Steuerung schön :hallo: Pfiffikus.

Fischkopf hat geschrieben:
Hallo Gunter,
ist die Funktion Einstellungen>Neuer Sensor schon gegeben?

gerade bin ich am Schreiben. So soll es dann mal aussehen, hier eine Designstudie:

Dateianhang:
Job.png


Ich hoffe, so in etwa hattet Ihr Euch das gedacht.


Pfiffikus,
der hofft, das bald einigermaßen funktionsfähig hochladen zu können


Hallo Gunter,
ist da auch was möglich:
Fischkopf hat geschrieben:
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.


Ist es Dir eigentlich möglich die Programmierung wie für den Pegelschalter (schaltkontakt.py) zu kopieren sage ich mal um für x Dateien in yyyyyy.py Platzhalter zu schaffen.
Aber als Ausgabe bekommst Du nicht 0 / 1 sondern einen Wert 8,41...... oder evtl. max. 5 Werte.


Nach oben
  
 
 Betreff des Beitrags: Re: Schaltkontakte am Raspi
BeitragVerfasst: So 10.Mai 2015 20:48 
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 Paul,

Fischkopf hat geschrieben:
ist da auch was möglich:
Fischkopf hat geschrieben:
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.

derzeit werden die Jobs in der Reihenfolge abgearbeitet, in der sie in der Datenbank vorgefunden werden. Es wäre aber kein großes Problem, die Jobs in der aufsteigenden Reihenfolge des vom Benutzer festgelegten Ranges abarbeiten zu lassen.

Bis jetzt ist das noch nicht weiter relevant gewesen, denn die Jobs sind ja ruckzuck abgearbeitet. Deshalb gibt es ja noch die lästige Einschränkung, dass Impulsschaltungen mindestens 2 Minuten schalten müssen.


Das Loggen ist an dieser Stelle erstmal überhaupt nicht mehr vorgesehen. Deshalb entfallen auch diese Teile im Anmeldeformular des Kontaktes. Wenn jemand loggen möchte, so will ich dafür eigene Jobs definieren, die Messwerte in Messreihen schreiben. Anschließend wird auch das Loggen von Tempersturen und Pegeln auf diese Art der Erfassung umgestellt.

Fischkopf hat geschrieben:
Ist es Dir eigentlich möglich die Programmierung wie für den Pegelschalter (schaltkontakt.py) zu kopieren sage ich mal um für x Dateien in yyyyyy.py Platzhalter zu schaffen.
Aber als Ausgabe bekommst Du nicht 0 / 1 sondern einen Wert 8,41...... oder evtl. max. 5 Werte.

Wenn ich das richtig verstehe, sollen noch weitere Sensortypen angemeldet werden. Unterhalb vom Schaltkontakt ist Platz für weitere Sensortypen wie pH, Leitwert, O² usw.


Pfiffikus,
der das in dieser Woche noch nicht alles schaffen wird


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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