Hi,
immer wieder - und in sehr vielen Beiträgen zu speziellen Themen zu finden - werden Events erwähnt.
Als Anfänger stellt sich mir das so dar - um an meinem Beispielprojekt Alarmanlage mit Reedkontakten und Piface zu bleiben:
Hardware:
Ein Piface digital2 sitzt auf einem Raspi B+. An den Eingängen sitzen die benötigten Reedkontakte und stellen zur Masse eine Verbindung her, solange sie durch Magneten geschlossen sind. Wird nun einer der Magnete vom Reedkontakt durch Öffnen einer überwachten Öffnung getrennt, so öffnet der Kontakt und der Eingang ändert damit sein Potenzial. Diese Eingänge werden überwacht.
Software - Weg ohne Event:
In einer Schleife werden nacheinander alle benötigten Eingänge der Reihe nach für eine kurze Zeit nach dem anliegenden Potenzial abgefragt (high/low). Solange sie alle ein niedriges Potenzial behalten, wird die Schleife fortgesetzt. Wenn die Abfrage auf ein hohes Potenzial stößt, dann wird ein Relais betätigt und der Alarm ertönt.
Ich habe das mit Raspian Jessie und LXDE in einem LXDE-Fenster mit Python3 und grafischer Anzeige (0 oder 1) der Ergebnisse der Abfrage verwirklicht.
Bemerkung:
Dabei bekomme ich in dem Grafikfenster eine Anzeige über die Auslastung der CPU des Raspi Werte zwischen etwa 40% und etwa 90% Auslastung. Die CPU ist daher wohl stark belastet. Grundlast ist die Grafikoberfläche und allgemeines Betriebssystem mit 40% so denke ich. Die restlichen bis 50% Auslastung werden durch mein Programm zur Abfrage verbraucht (in den sleep-Phasen geht die Auslastung deutlich zurück).
Software mit Event: Wenn ich nun die Hardware des Piface zum "Warten" auf ein Ereignis, nämlich der Änderung des Potenzials an einem Eingänge programmieren kann, dann wird die CPU des Raspi deutlich entlastet.
Dies begründet für mich den Wunsch nach einem "Tutorial Event", das klärt, welche Voraussetzungen gegeben sein müssen, um so ein Event zu definieren, woher ich allgemein die Informationen bekomme, um zu erfahren, welche Möglichkeiten einer Ereignisdefinition ich habe, und das Ganze bitte auf deutsch!
Ich habe das Forum in dieser Hinsicht bereits abgesucht, aber keine zusammenhängende Erklärung gefunden. Außerdem eine Bitte: wenn Programmzeilen verwendet werden, die als Tutorial dienen sollen, dann sollte jede Zeile auf ihre Bedeutung/Sinn kommentiert sein.
Ist so ein Tutorial möglich?
Gruß
Carillon
ps noch eine Anmerkung zu diesem Forum: was mir fehlt, ist eine Übersicht der Gliederung der Forenthemen und deren Unterthemen, so dass ich gezielt in den Unterthemen und Unter-Unterhemen nach passenden lehrreichen Beiträgen suchen kann. Vorarbeit wurde ja schon dankenswerterweise von meigrafd mit "Thread-faq-nuetzliche-links-linksammlung" gemacht. Aber wo im Forum steht das, damit ich das gezielt aufsuchen kann?