2.6k Aufrufe
Gefragt in Peripherie von mikoop Experte (2.7k Punkte)
Hallo,

Ich grüble darüber nach, wie ich ein (bzw mehrere) externe Signale so in den PC bekomme, dass ich damit eine Batch-Datei oder ein Script auslösen kann.

Der Hintergrund ist der, dass ich per PC (Win7) und Relaisplatinen bei uns im Betrieb die Bewässerung steuere.
Um auf die verschiedene Witterung reagieren zu können, habe ich mehrere bat-Dateien auf dem Desktop, die die Länge und Intensität der Bewässerungsvorgänge steuern bzw anpasssen.
Diese werden von mir oder einem Mitarbeiter bei Bedarf ausgelöst.

Nun habe ich mir überlegt, dass es gut wäre, wenn ich zB die 'Regen-Bat' automatisch auslösen könnnte, wenn es zB über 3 mm geregnet hat oder die 'heiss-bat' bei Temperaturen über 28 °C.

Ich habe aber noch keine konkrete Vorstellung, wie ich das anstelle.
Ein Regensensor, der ein Relais schliesst (oder im anderen Fall ein Thermostat) ist kein großes Problem.
Aber wie bekomme ich dieses Signal in den PC? Ich habe gehört, dass die Kontakte der Parallel- Schnittstelle ausgelesen werden könnten, aber wie?

Hat jemand von euch eine Idee dazu oder kennt eine passende Anwendung?

Vielen Dank im Voraus für alle Denkansätze,

Gruss, Mikoop

7 Antworten

0 Punkte
Beantwortet von ennok Experte (1.2k Punkte)
Ich habe mir für eine ähnliche Anwendung einfach im nächsten Elektronikmarkt das billigste Gamepad besorgt, um an die Controller-Logik zu kommen, das Ding auseinandergebaut und an die Buttons Buchsen gelötet.

Automationssoftware, die auf Joystick-Buttons reagiert, gibt es ja genug. Wenn man ganz viele Eingänge braucht, könnte man auch über ein paar Widerstände verschiedene Analog-Stick-Achsenbewegungen simulieren.
0 Punkte
Beantwortet von locke Experte (1.2k Punkte)
Hallo,
ich finde das ziemlich aufwendig, auch in Sachen Stromverbrauch für den PC, der ja immer an sein soll.
Für schmales Geld gibt's z.B. von Eaton oder Siemens Kleinsteuerungen, die einfach zu programmieren sind und in jeden Stromverteiler passen, wo auch die Ansteuerung der benötigten Wasserventile rein müssen. Die sind genau für so einen Zweck entwickelt worden.

Einfach mal drüber nachdenken.

Gruß
Locke
0 Punkte
Beantwortet von
ich hab das so in erinnerung das mikoop sein jetziges system nicht selbst zusammengebaut hat und es darum nicht oder nur ungern ändern will. ist ja auch mit kosten verbunden.

zum thema: ja man kann den parallelport relativ einfach abfragen, findet man auch in elektronik grundkursen, zumindest früher, heutzutage ist usb angesagt. aber nicht mit den eingebauten batch befehlen, da braucht man schon eine programmiersprache dazu. und mit windows 7 sind port abfragen bzw direkter port zugriff auch nicht mehr möglich, man muss also die tricks kennen oder fertige software verwenden. gibt sicher bausätze wo auch software dabei ist.

doch da dreht sich das rad im kreis und man ist wieder beim vorschlag von locke

....
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Mikoop,

du kannst eine (hoffentlich noch) vorhandene LPT-Druckerschnittstelle des PC nutzen, um Schalter zu lesen. Schnittstellenbasis ist die inpout32.dll zu der es einige Informationen zu finden gibt.
Hier z.B. hat jemand einiges dazu geschrieben und weiter unten auch Beispielprogramme verlinkt:
www.activevb.de/tutorials/tut_parallel/parallel.html
Hier findest du ein Tutorial, wie die Schnittslelle unter VB genutzt werden kann:
www.codeproject.com/Articles/15020/Reading-from-Parallel-Port-using-Inpout-dll
Gib bei Google mal den Suchbegriff inpout.dll ein und du wirst bestimmt etwas passendes finden.

Gruß und viel Erfolg
computerschrat
0 Punkte
Beantwortet von mikoop Experte (2.7k Punkte)
Hallo nochmal,

vielen Dank für eure Tipps.

Am Pc möchte ich festhalten. Ich hatte mich schon mal mit Siemens Logo und der ELV Homematic befasst, das aber wieder verworfen. Es gibt dafür zwar Relais und Sensoren, aber das läuft alles mit 220 V, mir reichen 24 V. Ausserdem müsste ich mich da sehr intensiv in die Programmierung einarbeiten.

Das genannte Eaton scheint ja so was ähnliches zu sein.
Ganz interessant scheint der Arduino zu sein, da gibt es ja viele Module wie Sensoren und Relais dafür. Ich kann aber nicht durchblicken, ob die Anschlüsse letztendlich reichen und auch da müsste ich in eine mir unbekannte Programmierung einarbeiten.

Die PC Lösung hat den Vorteil, dass ich durch die Anbindung ins Firmennetzwerk den Rechner fernsteuern kann und ihn auch meine Mitarbeiter bedienen können.
Ausserdem läuft das System ja schon...

@computerschrat
Danke für deine Links, eine LPT SChnittstelle ist vorhanden, allerdings bestehe ich da nicht drauf, COM oder USB wären auch vorhanden - Hauptsache ein Eingang.
Insgesamt schein das recht kompliziert zu werden, ich muss mich da mal länger mit befassen.
Ich bin mir auch nicht sicher, ob ich ohne Schaden die Kontakte der Schnittstelle (ohne Verbraucher) einfach so verbinden kann. Gibt es da keinen Kurzschluss?

Vielleicht wäre eine vorgefertigte Sensorplatine zum Anschluss an den PC eine Lösung, so was wie das hier . Muss ich mir noch mal in Ruhe anschauen.

Gerne nehme ich noch weitere Tipps entgegen während ich versuche das bisher genannte weiter abzuarbeiten.

Danke und Gruss, Mikoop
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Mikoop,

schau dir mal dieses Interface an, eventuell hilft dir dieser Lösungsansatz. Da gibt es sicherlich noch mehr.
https://simple-solutions.de/shop/product_info.php?products_id=13

Ich habe für meinen Garten eine Beregnungssteuerung mit einem Raspberry Pi gebaut. Die steuert sechs Ventile für verschiedene Ecken im Garten. Bedienen kann ich die Anlage über eine selbstgeschriebene Webschnittstelle, in der ich den aktuellen Zustand ansehen, jeden Kreis einzeln starten, einen ganzen Ablauf starten oder die Beregnungszeiten einstellen kann.
Gleichzeitig werden alle Beregnungszeiten in einer kleine Datenbank mitgeschrieben. Den Inhalt der Datenbank sehe ich dann auch über die Webschnittstelle der Anlage. Und mit der angeschlossenen Webcam kann ich in den Garten schauen und sehen, ob die Beregnung wirklich läuft.

Gruß
computerschrat
0 Punkte
Beantwortet von mikoop Experte (2.7k Punkte)
Hallo computerschrat,

Bei mir läuft es ganz ähnlich wie bei dir, vielleicht in etwas größerem Maßstab.

Mein Bewässerungs-PC startet sich jeden Morgen um 7°° und arbeitet periodisch die Liste der zu bewässernden Kreise ab. Abends um 21°° Uhr fährt sich der Rechner wieder runter und nimmt dabei auch die ganze Peripherie (Stromversorgung der Relais, Webcam, Monitor und Switch) vom Strom.

Im Moment steuere ich 4 Platinen mit je 8 Relais, also 32 Bewässerungskreise, evtl. erweitere ich nächstes Jahr auf 40 Kreise.

Das Bewässerungsprogramm arbeitet automatisch immer dieselbe Liste ab (zumindest heisst die Liste immer gleich). Der Inhalt der Liste kann aber verändert werden.

Dazu führe ich eine Excel-Liste auf unserem Server, in der alle Kreise aufgeführt sind mit Nummer, Kultur und Wasserbedarf (zB Beet 2.4 ; Rosen; feucht). Ein Makro von Excelking hier aus dem SN erstellt beim Speichern daraus eine txt-Datei.

Auf dem Wasser Desktop habe ich dann Verknüpfungen zu bat-Dateien je nach Witterung (Regen, normal, bedeckt, heiss). Damit rufe ich vbs Scripte auf, die den Wasserbedarf aus der txt-Datei je nach Witterung in eine Zeitangabe umschreiben.
Anschliessend wird die Liste unter dem Standard-Namen für das Bewässerungsprogramm wieder gespeichert und das Bild des Desktop Hintergrunds geändert, damit man sofort den Modus der Bewässerung erkennt (also Regenbild, Sonne, Wolken).
So kann ich (oder ein Mitarbeiter) jederzeit die Bewässerung anpassen.

Da der Rechner im Heizungsraum unseres Gewächshaus an die Wand gedübelt ist, und ich da nicht täglich hinkomme steure ich den Rechner per VNC von meinem Büro oder zu Hause aus, ausserdem streamt eine Webcam das Geschehen im Schaltkasten (die LED der Relais) ins Firmen-LAN als zusätzliche Kontrolle.

Das Ganze funktioniert so auch ganz gut (seit 2 Jahren), die automatische Anpassung an das Wetter wäre nur noch das 'Tüpfelchen auf dem i' und kann getrost als Spielerei angesehen werden. Von daher darf das nicht zu aufwändig werden, hin und wieder mal eine Batch-Datei auszuführen überfordert mich nicht gerade...

Wenn ich diese LPT-Schnittstellen - Auslese probiere richte ich mir wohl erst einen (ausgemusterten) Test-PC ein. Schliesslich will ich mir bei einem Fehler nicht die ganze Bewässerungssteuerung grillen und den ganzen Tag mit dem Schlauch in der Hand rumlaufen.

Danke für deinen Link, den schau ich mir näher an, ich denke das geht in die richtige Richtung.

Danke und Gruss, Mikoop
...