Forum: Mikrocontroller und Digitale Elektronik Zuverlässiger µC für Relaisüberwachung


von DerTomate (Gast)


Lesenswert?

Hallo Leute,

vorab, ich bin ein blutiger Anfänger was diese Art Thema betrifft, also 
bitte ich um Nachsicht, falls derlei Themen bereits existieren.

Zur Problemstellung. Ich habe ein Relais, wenn es betätigt wird, soll 
eine URL aufgerufen werden, welche einen Alarm auslöst und das soll 24/7 
365 Tage im Jahr laufen. Es sollte ein kostengünstiger Ersatz für eine 
SPS sein, da diese etwas überdimensioniert wäre. Ich nehme an, dass 
besagter Alarm über URL zuvor immer manuell ausgelöst worden ist, da 
würde also die Automatisierung per µC nur eine Bequemlichkeit 
darstellen, falls es zuverlässig realisierbar wäre. Falls nicht, würde 
es halt einfach weiterhin manuell gemacht werden, da SPS dafür dann zu 
teuer wäre.

1. Ansatz war Raspberry Pi an Relais und per gpio.add_event_detect habe 
ich einen callback auf eine Funktion gemacht, welche mir die url öffnet 
und nach einer verstrichenen Zeit den Browser wieder schließt. Außerdem 
habe ich es als Autostart Skript eingestellt, falls mal die Versorgung 
verloren geht, doch hier liegt das Problem dieser Methode, denn der 
Raspberry Pi läuft über Flash Speicher, dieser soll laut meiner Suche 
das schwächste Glied sein bei Versorgungsverlust.


2. Ansatz mit Arduino nano. Relais an Arduino und Überprüfung auf 
Flanke, bei Flankenerkennung wird das Signal seriell über USB an den 
Computer übertragen, damit dieser per Python Skript die Url öffnet. Dort 
sollte ja zumindest der EEPROM zuverlässiger sein als der Flash Speicher 
beim Raspberry.
Eigentlich kenne ich den Arduino nur als Lern- oder Prototypenplattform, 
weiß daher ebenso nicht ob dieser zuverlässig ist. Wäre da ein Arduino 
Industrial zuverlässiger?
Die andere Frage bezieht sich auf die Programmierung, statt Polling auf 
positive Flanke würde ich es gerne wie beim Raspberry in Python über 
gpio.add_event_detect machen, damit ich die Flanke nicht verpassen kann. 
Wie nennt sich diese Funktion in anderen Programmiersprachen, wenn ich 
wissen möchte wie man das in c/c++ umsetzen würde? Einfach nur Event?


3. Ansatz mit Numato GPIO zu Usb Modul. Das Relais kommt über das GPIO 
Modul per USB direkt an den PC. Dort wird mit einem Python Programm in 
einer while Schleife duchgehend der Zustand des GPIO Pins seriell 
abgefragt und per Polling auf Flanke geprüft. Aber hier laufe ich wieder 
Gefahr, dass man eine Flanke verpassen könnte nicht? Könnte das 
verhindert werden, indem ich es anders programmiere? Damit ich es nicht 
verpasse, müsste das Programm durchgehend den seriellen Eingang 
überwachen und gleichzeitig nach der Flanke suchen, aber bei mir mit der 
While Schleife macht er das zyklisch hintereinander, dabei könnte er ja 
eben mal eine Flanke verpassen nicht? Und zur Zuverlässigkeit kann ich 
bei dem Teil auch nicht viel sagen, wobei es immerhin weniger Bauteile 
haben müsste als Arduino und Raspberry und folglich weniger Komponenten 
hätte, die Problem verursachen könnten?

4. Bisherige Ansätze waren alle denke ich zu umständlich oder 
überdimensioniert. Laut meiner Recherche sollte irgendein nackter µC 
vollkommen ausreichen für so eine Aufgabe und dabei auch zuverlässiger 
sein, eine Sps ist ja im Inneren auch ein µC, nur mit Redundanz, 
besserer Verfügbarkeit etc.. Nur habe ich noch nie irgendwas ausserhalb 
Arduino/Raspberry verwendet und keine Ahnung nach welchen Kriterien ich 
einen solchen µC aussuchen könnte, wie man diesen in Betrieb nimmt, 
programmiert oder weitere Funktionalitäten wie Ethernet hinzufügt.

5. Ich habe USB Relaiskarten gefunden, nach meine Verständnis kommen die 
je nach Hersteller alle mit einer eigenen Software, mit der die Karten 
geschaltet werden können, da sehe ich aber nicht, wie ich dann den 
Zustand auslesen soll um eine URL zu öffnen.

Falls ich etwas falsch verstanden haben soll, gerne darauf hinweisen. 
Denn wie erwähnt habe ich noch eine Menge zu lernen. Außerdem soll dies 
natürlich auch keine Aufforderung an euch sein, meine Arbeit zu 
übernehmen, ich komme einfach nur wegen meiner begrenzten Kenntnisse 
nicht wirklich weiter.

Ich bedanke mich vielmals für euer Verständnis.

von svensson (Gast)


Lesenswert?

Moin,

das ganze Konzept scheint etwas fragwürdig. Bei Alarm eine URL 
aufzurufen, setzt voraus, daß sämtliche Komponenten 
(PC/Router/Switches/Server) einsatzbereit sind, was i.a. nicht 
garantiert werden kann, schon gar nicht 24/7.

von Fordprefect (Gast)


Lesenswert?

Nimm doch einfach einen der Relaiskontakte und führe diesen z.B, auf 
eine Lampe /Hupe. Schon hast Du Deinen Alarm. Ganz ohne Kontroller /SPS

von DerTomate (Gast)


Lesenswert?

Die url ist von einer fertigen Software, welche als Alarm sms 
verschickt, da eben beim Alarm bestimmte Personen benachrichtigt werden 
sollten. Und irgendwie steht das auslösen des Alarms im Zusammenhang mit 
dem Relais, weiter Details sind mir leider auch nicht bekannt.

Auf den Rest(PC/Router/Switches/Server) hätte ich sowieso keinen 
Einfluss, da dies bereits bestehende Systeme sind, die sich scheinbar 
bewährt haben.

von Einer K. (Gast)


Lesenswert?

Eine SPS kocht auch nur mit Wasser.
Deren Flash/EEPROM schreibt man genau so schnell kaputt.
Womit überhaupt..?


Mir scheint, für die Aufgabe reicht ein ESP8266-01 vollkommen aus.
Wenn denn WLAN zur Verfügung steht.
Die Schwarzen Boards haben 1 MByte Flash, wovon man die Hälfte als 
SPIFFS nutzen kann.

von Karl B. (gustav)


Lesenswert?

Hi,
warum das Rad neu erfinden?:

https://www.expert-security.de/smart-home-alarmanlagen.html

ciao
gustav

von MaWin (Gast)


Lesenswert?

svensson schrieb:
> das ganze Konzept scheint etwas fragwürdig.

Das sehe ich auch so. Seit wann ist ein URL Aufruf eine garantierte 
Transaktion ? Die versackt doch ggf. an hundert Knotenpunkten.

Es muss sich um einen Internetgläubigen handeln, der bei jeder 
Internet-Fehlfunktion geflissentlich beide Augen zudrückt.

Womöglich dann noch per WLAN.

Wobei zugegeben seit der Abschaffung der Analogtelefonie mit VoIP auch 
kein zuverlässiger Alarm-Meldeweg mehr bereit steht.

Wenigstens müsste der URL Aufrufer die Rückmeldung auswerten, und 
überprüfen ob der nicht aus irgendeinem cache stammt, und die Aktion so 
lange wiederholen bis was aktuelles zurückkommt.

von DerTomate (Gast)


Lesenswert?

Daher würde ich im Idealfall natürlich auf Ethernet setzen wollen. 
Heisst ich müsste Softwaremäßig in meinem Python oder was auch immer 
Skript überprüfen, ob besagte URL tatsächlich erreichbar ist oder ob er 
diese nur aus dem Cache aufruft. Bei der Alarmsoftware handelt es sich 
übrigens um Poweralarm.

Ich könnte in der Schleife einbauen, dass periodisch geprüft wird, ob 
das Gerät ins Internet kommt und sonst gibt es eine Fehlermeldung aus?

Eine andere Möglichkeit die ich für vorstellbar halte wäre, den µC mit 
in die Alarmliste aufzunehmen, also nach Aufruf wird auch der µC per sms 
oder mail benachrichtigt, was halt eben einfacher ist, erfolgt die 
Rückmeldung per sms oder Mail nicht, so würde auch ein Fehler ausgegeben 
werden. Was in beiden Fällen wieder nicht optimal wäre, da ich entweder 
Sim Modul und Simkarte bräuchte oder ein email Account nur für den µC?

Wie gesagt, ich habe auch in Sachen Programmierung bin ich noch viel am 
lernen, weiß daher nicht was für Möglichkeiten ich noch hätte.

von Einer K. (Gast)


Lesenswert?

Jetzt verstehe ich gar nix mehr...

von DerTomate (Gast)


Lesenswert?

Ok, tut mir Leid, ich bin mit viel Halbwissen unterwegs und entschuldige 
mich, da einiges auch sehr schwammig/falsch formuliert ist. Ich weiß 
auch nicht ob ich die anderen Beiträge richtig verstanden habe.

Aber ich glaube MaWin wollte mir mitteilen, dass der Aufruf einer Url um 
einen SMS Alarm auszulösen ein fragwürdiges Konzept sei, da man nicht 
sicherstellen kann ob mit dem Url Aufruf der Alarm wirklich ausgelöst 
wurde.
Also dachte ich müsste ich softwarteseitig in meinem Skript was ändern. 
Ausser ich habe da schon wieder etwas was falsch verstanden.

Und wie gesagt, noch einmal kurz zusammengefasst, da ich das oben 
unschön dargestellt habe.

Relais wird betätigt->
Signal wird irgendwie ausgelesen->
Url der Poweralarmsoftware wird aufgerufen->
Poweralarm schickt sms an vorkonfigurierte Nummer aka Alarm ausgelöst

Meine Aufgabe beschränkt sich ausschließlich auf das Signal auslesen und 
anschließende Url aufrufen. Was natürlich die Auswahl der passenden 
Hardware und die zugehörige Programmierung einschließt.

von svensson (Gast)


Lesenswert?

Wenn es nur um die endgültige Meldung per SMS geht, dann könnte auch ein 
Gerät wie das Conrad GX-110 verwendet werden, das direkt eine SMS über 
Mobilfunk versendet.

von Einer K. (Gast)


Lesenswert?

> Was natürlich die Auswahl der passenden Hardware ..

Suchst du sowas, ebay: 272432787707 ?

Durfte so mit die einfachste und billigste Methode sein, Daten ins 
Ethernet zu bekommen.....

von DerTomate (Gast)


Lesenswert?

Also ich habe mich gerade noch mal mit dem Zuständigen abgesprochen und 
siehe da, ich habe meine Aufgabenstellung einfach falsch aufgefasst.

Es ist doch nicht so schlimm, wenn es mal nicht gehen sollte, denn eben 
habe ich erfahren, dass auch andere Alarme anderweitig ausgelöst werden 
und der Alarm den ich einrichten soll per SMS dient nur als Ergänzung, 
Redundanz, falls die anderen nicht eingehen sollten.

Ich bin die ganze Zeit davon ausgegangen, ich müsste sicherstellen, dass 
da auf keinen Fall irgendetwas ausfällt. Aber wie mehrfach zuvor 
erwähnt, spätestens wenn (PC/Router/Switches/Server) ausfällt geht 
nichts mehr.. In dem Sinne finde ich dass sich meine Aufgabenstellung 
jetzt enorm vereinfacht hat, weil ich dachte ich bräuchte etwas mit der 
Zuverlässigkeit einer Sps aber zum Preis eines µC.

Das heißt es bleibt eigentlich nur die Frage, welche der Optionen 
zuverlässiger ist. Arduino oder Raspberry, aber das kann ich dann auch 
selber guggeln, brauch ich euch nicht weiter stören/verwirren.

von DerTomate (Gast)


Lesenswert?

Danke für die Hilfestellung.

Beitrag #5932307 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

ESP8266 wären dafür sehr einfach, haben allerdings einen gemischen Ruf, 
was die Zuverlässigkeit angeht. Ich habe einen (in Arduino programmiert) 
seit 2 Jahren in 24h Betrieb - ohne Ausfall.

Ansonsten ist vielleicht das folgende Projekt interessant, vor allem 
wenn du ROHS und CE konforme Hardware brauchst: 
http://stefanfrings.de/net_io/index.html
Diese Firmware verschickt Emails, das kannst du sicher mit geringem 
Aufwand auf einen HTTP Request umbauen.

> der Alarm den ich einrichten soll per SMS dient nur als Ergänzung,

Dafür wiederum gibt es Fertiggeräte für Alarmanlagen, zum Beispiel beim 
ELV Versand für ca 100 Euro. 
https://www.elv.de/gsm-telefonwaehlgeraet-gtw-20.html

von michael_ (Gast)


Lesenswert?

svensson schrieb:
> Wenn es nur um die endgültige Meldung per SMS geht, dann könnte auch ein
> Gerät wie das Conrad GX-110 verwendet werden, das direkt eine SMS über
> Mobilfunk versendet.

Für 1/10 des Preises kriegt man so eine Alarmanlage:

https://www.ebay.de/itm/Wireless-GSM-SMS-Home-Einbrecher-Sicherheit-Alarm-System-Detektor-Sensor-Kit-APP/323414056471

Die kann noch viel, viel mehr.
GSM-SMS an mehrere Teilnehmer, Akkugestützt ...

Hab ich für jemanden besorgt, der ist voll zufrieden.

von Lutz S. (lutzs)


Lesenswert?

'Wobei zugegeben seit der Abschaffung der Analogtelefonie mit VoIP auch
kein zuverlässiger Alarm-Meldeweg mehr bereit steht.'

Man kann analoge Anschlüsse für bestimmte Sonderdienste noch schalten 
lassen, allerdings werden die dann im Amt auch in die IP-Wolke 
umgesetzt.

So stabil wie früher wird es in der Tat nicht mehr.

von Wolfgang (Gast)


Lesenswert?

DerTomate schrieb:
> Ich könnte in der Schleife einbauen, dass periodisch geprüft wird, ob
> das Gerät ins Internet kommt und sonst gibt es eine Fehlermeldung aus?

Vielleicht am besten gleich an eine URL ...

von MaWin (Gast)


Lesenswert?

DerTomate schrieb:
> ich habe meine Aufgabenstellung einfach falsch aufgefasst.
>
> Es ist doch nicht so schlimm, wenn es mal nicht gehen sollte,

Na dann.

DerTomate schrieb:
> Das heißt es bleibt eigentlich nur die Frage, welche der Optionen
> zuverlässiger ist. Arduino oder Raspberry

Irrelevant, dein Router, Netzteil, oder Internet ist viel 
unzuverlässiger als dein uC.

Ist dir schon mal dein Thermometer, Wecker, Armbanduhr abgestürzt (so 
lange die Batterie ok war) ? Da läuft schliesslich Software von 
Ingenieuren, nicht von Programmierhanseln drauf.


Ein rPi zur Relaisüberwachung klingt mrgaunzuverlässig  da läuft ja 
megabyteweise nutzlose Software drauf die nur Unfug anstellt.

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> Ist dir schon mal dein Thermometer, Wecker, Armbanduhr abgestürzt (so
> lange die Batterie ok war) ?

Ja, mehrfach.

> Da läuft schliesslich Software von
> Ingenieuren, nicht von Programmierhanseln drauf.

Damals in den 80er Jahren war das wohl noch so. Heute nicht mehr. Da 
kann man sich leider nicht mehr darauf verlassen, dass der Wecker weckt.

Ich stimme allerdings mit Dir überein, dass alle Mikrocontroller bei 
sauberer Programmierung und Beschaltung zuverlässig laufen.

von Der Zweite günstige Troll aus dem Duzendpack (Gast)


Lesenswert?

Was als zuverlässige, nicht allzu teure Komponente erhältlich ist wäre 
ein SMS Relais. So ein Ding hat zB 8 eingaenge, welche Konfiguriert 
werden können, und SMS bei Eintreffen eines Zustandes versenden. Wir 
haben solche schon seit Jahren als Fehlermelder im Einsatz. Die hapen 
eine prepay SIM drin und laufen an 12 V mit wenig Strom.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Stefanus F. schrieb:
>
> Ich stimme allerdings mit Dir überein, dass alle Mikrocontroller bei
> sauberer Programmierung und Beschaltung zuverlässig laufen.

Js, ist richtig ungewohnt :-)

von Manfred (Gast)


Lesenswert?

Stefanus F. schrieb:
> dass alle Mikrocontroller bei
> sauberer Programmierung und Beschaltung zuverlässig laufen.

Ja, hier läuft ein ProMini-328 seit über zwei Jahren vor sich hin.

Was ich über einen längeren Zeitraum keinesfalls einsetzen würde, ist 
eine USB-Anbindung zum PC. Wenn das unbedingt sein muß, gehört ein 
zyklischer Test drauf und die Software so programmiert, dss sie einen 
Ausfall der USB-Anbindung meldet.

von svensson (Gast)


Lesenswert?

michael_ schrieb:
> svensson schrieb:
>> Wenn es nur um die endgültige Meldung per SMS geht, dann könnte auch ein
>> Gerät wie das Conrad GX-110 verwendet werden, das direkt eine SMS über
>> Mobilfunk versendet.
>
> Für 1/10 des Preises kriegt man so eine Alarmanlage:

Scheint tatsächlich teurer geworden zu sein. Aber egal, 250 Euro sind 
nicht zuviel dafür, denn die funktioniert tatsächlich seit Jahren(!) in 
mehreren Exemplaren zuverlässig. Was man von einer mehrere 1000 Euro 
teuren "Profi"-Lösung leider nicht behaupten kann. :-((

Das Ding kann auch für jeden Eingang bis zu 10 SMS versenden, teilweise 
können auch Bedingungen definiert werden.

von michael_ (Gast)


Lesenswert?

svensson schrieb:
>> Für 1/10 des Preises kriegt man so eine Alarmanlage:
>
> Scheint tatsächlich teurer geworden zu sein. Aber egal, 250 Euro sind
> nicht zuviel dafür,

Doch.
Was man für Funktionen bei dem Chinateil für 35EUR kriegt, überzeugt 
vollkommen. Nur die CH -- Engl. Beschreibung ist kompliziert.
Dazu noch die Anbindung von Funk-Sensoren.

In D wird es für 130EUR verkauft.

Die Weterentwicklung macht zu ähnlichen Preis auch die Anbindung zum 
Smartfone.

von Stefan F. (Gast)


Lesenswert?

michael_ schrieb:
> Was man für Funktionen bei dem Chinateil für 35EUR kriegt, überzeugt
> vollkommen.

Funktionsumfang ist nicht alles. Meine Berührungspunkte mit chinesischer 
Software sind allesamt vorsichtig formuliert enttäuschend. Sobald etwas 
verkaufbar ist, geht es scheinbar raus und wird danach jahrelang weiter 
so produziert und nicht mehr nachgebessert.

von svensson (Gast)


Lesenswert?

OT: Für die ganze Billigheimerei habe ich kein Verständnis mehr. 250 
Euro für eine Lösung, die nachweisbar und zuverlässig funktioniert, ist 
nicht viel, wenn die zu überwachende Technik das Tausendfache kostet.

Einerseits verdienen hier im Forum angeblich alle 100k/Jahr oder mehr 
und beklagen sich darüber, daß die Firmen alle nur noch billig, billig 
produzieren wollen. Andererseits scheint Geiz eben doch geil zu sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.