8 und mehr Relais über USB an FritzBox schalten

kmeleon

Neuer User
Mitglied seit
8 Okt 2009
Beiträge
47
Punkte für Reaktionen
0
Punkte
6
Hallo!

Ich suche nach einer Möglichkeit, so ca. 8 Relais über die Fritz.Box zu schalten. Ich möchte dabei so wenig Leistung wie möglich verbrauchen, am liebsten über Internet die Relais an/ausschalten und es soll nicht nur 220V geschaltet werden. Außerdem möchte ich nicht an der fritzBox herumlöten.

Das soll geschaltet werden:
  • NAS-Ein/Ausschalten
  • Reset (low Power-Pegel) "schalten/drücken"
  • Akku-Ladegerät an/ausschalten

Klar kann man die Sachen auch irgendwie anders lösen, will ich aber nicht (der Mensch braucht ja auch Aufgaben :) )

Jetzt kommt das nächste Problem:

Ich möchte das Schalten von der Firma, bei der ich arbeite, aus erledigen können. Leider gibt es nur 3 Ports, die genutzt werden können:

  • http (da klemmt das Webinterface des NAS drauf)
  • https (da möchte ich gerne die Fritz!Box haben)
  • ftp (proxy) (da klemmt der ftp des NAS drauf)

Der höhere Stromverbrauch und die bereits vergebenen TCP/IP-Ports sprechen gegen einen kleinen Web Server, der dann an der Fritz.Box klemmt. Die Telefonlösung finde ich doof, weil es sehr beschränkt ist und die LED-Lösung an der fritzBox ist mir zu viel hingebastelt.

Da ich privat Hardware-Entwickler und berufstechnisch Software-Entwickler bin, dachte ich mir: Die einzige schöne Lösung ist die Verwendung des USB-Anschlusses. Also könnte ich 8 Relaistreiber an einen Mikroprozessor (z.B. AN2131) anklemmen und die Relais über USB schalten. Wie ich oben beschrieben habe, sehe ich zur Zeit nur die Lösung, auf das USB-Modul und damit die acht Relais über ftp zuzugreifen. D.h. ich melde mein Modul als Wechseldatenträger an und mein Modul erzeugt eine virtuelle Datei mit dem Namen "RELAIS1". Der Inhalt der Datei ist 0 für "Relais aus" oder 1 für "Relais an". Möchte ich jetzt z.B. das Relais Nr.7 einschalten, dann kopiere ich eine Datei mit dem Inhalt "RELAIS7" und dem Inhalt 1 auf den ftp-Server, also das USB-Modul und damit wird es eingeschaltet.

Soweit so gut, nur ist auf dem ftp-Port ja schon der NAS, ich müsste die fritzBox also bei jedem Zugriff auf die Relaiskarte umkonfigurieren (also NAS abklemmen und USB-Speicher dranklemmen). Das geht ja noch! Leider ist die Sache mit dem Wechseldatenträger nicht so schön und frisst auch relativ viel Ressourcen (ich habe auf dem Controller nur 6900 Bytes frei).

Schöner wäre das Schalten über die original AVM-Firmware über eine abgeänderte Webseite. Notfalls auch eine eigene Webseite, die dann eine exe auf der fritzBox startet, die dann mein USB-Modul antriggert. Nur wie bekomme ich dann noch die original AVM-Webseite angezeigt? Kann man die irgendwie als Sub-Webseite einblenden?

Vielleicht bin ich auch total auf dem Holzweg und Euch fällt noch eine bessere Lösung ein!

Zum Ansporn: Der Sourcecode und die evtl. entstehende Lösung wird als OpenSource-Projekt im Internet zur Verfügung gestellt!

Viele Grüße
Sven
 

lxuser

Mitglied
Mitglied seit
4 Nov 2004
Beiträge
287
Punkte für Reaktionen
0
Punkte
0
Hallo
Hallo!

Ich möchte das Schalten von der Firma, bei der ich arbeite, aus erledigen können. Leider gibt es nur 3 Ports, die genutzt werden können:

  • http (da klemmt das Webinterface des NAS drauf)
  • https (da möchte ich gerne die Fritz!Box haben)
  • ftp (proxy) (da klemmt der ftp des NAS drauf)
Bestimmt ein Proxy im Firmennetzwerk, aber beschränkt der nur den Zugriff durch die Port-Nummern oder auch die Protokolle. Wenn nur nach Portnummern gefiltert wird, bietet sich eine SSH-Verbindung ber Port 445 (eigentlich https) zur Fritzbox an, über die sich dann fast beliebig andere Protokolle und Ports tunneln lassen. Also z.B. das Webinterface der Fritzbox, das von Freetz (von der originalen Fritzbox-Firmware wrde ich an deiner Stelle eh wechseln, sollte ja für einen Softwareentwickler machbar sein)... .

Bei der Hardware würde ich zu einem USB-zu-Parallelport-Adapter greifen. Z.B. die von Profilic werden zumindest unter Freetz, evt. auch mit der originalen Firmware, unterstützt (Forumssuche). Und daran dann eine Parallelport-Relaiskarte deiner Wahl. Das ganze hat den Vorteil, dass sich reichlich Code-Beispiele zur Ansteuerung der parallen Schnittstelle per Konsole bzw. Bash-Skript und diversen Programmiersprachen finden lassen.

Gruß Mario
 
Zuletzt bearbeitet:

Darkyputz

Aktives Mitglied
Mitglied seit
27 Jul 2005
Beiträge
2,324
Punkte für Reaktionen
0
Punkte
36
Die Tätigkeiten die du auslösen möchtest könntest du auch via Call in über den Callmonitor/Dtmf Box auslösen...
Router anrufen und über tasten sagen welche Skripte abgefacklet werden sollen.
Eine Relaislösung für den fritzen selber mit Treibern etc ist mir aber leider nicht bekannt.
 

lxuser

Mitglied
Mitglied seit
4 Nov 2004
Beiträge
287
Punkte für Reaktionen
0
Punkte
0

princenewton007

Mitglied
Mitglied seit
23 Aug 2008
Beiträge
322
Punkte für Reaktionen
0
Punkte
16
Im WL500-Forum gibt es dazu einen interessanten Thread incl. Beispiel zur PHP-Ansteuerung der Pollin-Karte. Das C-Programm läßt sich mit Freetz kompilieren. Ich habe keinen USB-Parallel-Adapter aber es wird artig '00000000' beim Lesen zurückgeliefert.

The LPT is mapped into memeory, NOT I/O port (as on x86), therefore we dont't access it by the I/O fn writeb()!
Ob sich der Parallel-Port mappen läßt, weiß bestimmt Ralf oder einer der anderen Spezialisten ;)
 

kmeleon

Neuer User
Mitglied seit
8 Okt 2009
Beiträge
47
Punkte für Reaktionen
0
Punkte
6
[Edit frank_m24: Mehrere Beiträge zusammengefasst. Man kann seine Beiträge auch editieren.]
Vielen Dank an Euch alle!

Läuft freetz denn so stabil, dass man das wirklich in Erwägung ziehen kann? Ich möchte ungerne eine FritzBox haben, die öfter mal abstürzt oder irgendwelche komischen Effekte liefert. Vor nem halben Jahr hab ich da noch nicht so gute Dinge gelesen (DECT-Abbrüche etc.). Außerdem finde ich die Konfigurationsoberfläche von der FritzBox schön einfach und es geht alles über einen Port (nämlich https). Ist das bei freetz genauso möglich?

Gibt es nicht auch die Möglichkeit, die original FritzBox-Konfigurations-Webseiten zu ändern? Ich würde dann einfach irgendwo eine Plugins-Seite reinhängen, hätte dann die original Firmware und könnte noch Erweiterungen hineinbauen. Das geht wahrscheinlich nicht, oder?

@lxuser: Das mit der SSH-Verbindung ist wirklich eine gute Idee. Das muss ich mal ausprobieren. Allerdings weiß ich, dass jemand in meiner Firma das gleiche (SSH-Verbindung und dann alles Mögliche darüber laufen lassen) gemacht hat und anschließend gefeuert wurde. Vielleicht hat die IT das inzwischen gesperrt. Was mit dem USB-zu-Parallelport-Adapter alles geht, werde ich mal nachlesen. Auch eine gute Idee!

@Darkyputz: Das mit dem Callmonitor/der dtmfbox ist auch nicht schlecht. Werde ich mir mal anschauen!

@princenewton007: Das PHP-Skript ist bestimmt irgendwie wiederzuverwenden. An sowas hatte ich auch gedacht!

Viele Grüße

[Beitrag 2:]
Habe mich gerade mal kurz mit freetz beschäftigt. Das läuft ja scheinbar parallel zu der original Firmware. Auf freetz könnte ich dann von zu Hause aus (leider nicht in der Firma) über Port 81 zugreifen.

Warum führt die Installation von freetz eigentlich zum Verlust der Gewährleistung? Kann man das anschließend nicht wieder soweit deinstallieren, dass im Fall eines Defektes AVM davon gar nichts mehr sieht?
 

chriwi

Mitglied
Mitglied seit
14 Nov 2005
Beiträge
705
Punkte für Reaktionen
0
Punkte
0
1. Freetz läuft auf meoner FB7170 (und vorher auch auf der 7050) schon mehrere Jahre absolut stabil (< ein Reboot mit automatischem Wiederaufsetzen pro Monat).
2. Sofern die Box noch läuft kann mann Freetz mittels recover auch rückstandsloslos wieder entfernen.
3. Hat die Box aber einen Hardwarefehler der ein Recover unmöglich macht bekommt man Freetz natürlich nicht wieder weg und AVM hat unter Umständen die Möglichkeit es nach der Reperatur zu finden und zu bemängeln.

Zum thema: Wenn man schon über https:// Zugriff auf die Fernwartung der FB hat kann man dieses Interface Ja ähnlich wie bei Fritzload für eigene Zwecke erweitern, wie man damit dann aber Relais ansteuert bin ich überfragt, ich weiß aber daß es geht. Im Zweifelsfalle gibt es auch USB-Karten für Bastler die direkt I/O-Pins zur verfügung stellen und C-Code Beispiele mitbringne wie man sie Ansteuert, wieweit man diesen C-Code allerdings verändern muß damit er auf ner Fritzbox läuft entzieht sich meiner Kenntnis (im Original greift er wohl eher auf Windowstreiber zu).
.
 
Zuletzt bearbeitet:

pfeffer

Mitglied
Mitglied seit
26 Okt 2004
Beiträge
755
Punkte für Reaktionen
0
Punkte
16
solcher Versuche mit der FritzBox gab es schon mal. Mit der damals verfügbaren Hardware war es mit der Pollin-Karte nicht möglich. Grund: Die Karte meldet sich als HID-Device am USB-Controller an. Aber der USB-Kontroller der FritzBox unterstützt den langsamen HID-Modus nicht, sondern nur den schnellen Übertragungsmodus. So war es jedenfalls damals.
Ein USB zu Parallel-Adapter funktioniert hingegen an der FritzBox, daran kann man entsprechende Schaltungen basteln. EDIT: gerade oben verlinkten Artikel gelesen, dass es damit auch nicht geht.

Der Asus WL500gP hat einen USB-Host-Kontroller, mit dem die Pollin-Karte funktioniert (selbst getestet).

Gruß,
Pfeffer.
 

kmeleon

Neuer User
Mitglied seit
8 Okt 2009
Beiträge
47
Punkte für Reaktionen
0
Punkte
6
@pfeffer: Stimmt, allerdings wurde hier die Kombination Fritzbox 7170 und Velleman k8055 IO-Board genutzt. Dieses Board meldet sich als HID-Device an und in Verbindung mit USB1.1 hatte die 7170 damit wohl ein Problem.

Glücklicherweise habe ich die 7270 und kann aus meiner Relaiskarte (bei der z.Zt. noch keine Relais angeschlossen sind :) ) alles machen, was ich will.

Ein CDC-Device (also USB-Serial-Adapter) läuft darauf schon unter Windows. Das MassStorage-Device hatte ich angefangen (es wird auch schon unter Windows erkannt, aber ich bekomme noch keinen Laufwerksbuchstaben zugewiesen), aber die Lösung, die ich oben erklärt habe, ist einfach nicht vernünftig weiter zu pflegen, weil man halt eine FAT16-Verzeichnisstruktur nachbilden muss, die man eigentlich nicht hat. Die Lösung wäre ein absoluter Notnagel gewesen. Mit der Information von "chriwi" kann ich ja scheinbar die Webseiten ohne freetz-Installation modifizieren und dann baue ich eine Webseite nur für mein USB-Relaisboard ein. Über den USB-Serialadapter (oder noch besser über die Libusb) steuere ich dann die Relais an. Da ich dann noch genug Speicher frei habe, könnte ich auch noch so Sachen darstellen wie die Raum-Temperatur. Wenn ich dann auch noch den Türöffner mit der Relaiskarte verbunden hab und über WLAN (Handy) die Tür öffnen kann, habe ich mein Ziel erreicht :)

Ich habe also eigentlich alle Infos und hoffe, dass ich nicht vor der Realisierung sterben werde :)! Ich muss gleich mal Urlaub bei meinem Chef einreichen. Länger als 10 Tage mal 8 Stunden kann das ja nicht dauern...prust :)
 

kmeleon

Neuer User
Mitglied seit
8 Okt 2009
Beiträge
47
Punkte für Reaktionen
0
Punkte
6
Auch gar nicht schlecht! Der Typ ist ja noch verrückter als ich. Die FIS-Applikation auf seinem A4 ist echt stark! Sowas wollte ich auch schon mal machen. Die Geschichte mit dem Infrarot-Empfänger hatte ich zum Testen der USB-Funktionalität vor 6 Jahren mal rudimentär implementiert. Coole Seite!

In google hatte ich mal nach "fritzbox relais" gesucht, aber nichts gefunden. Auf Fritz!Relay bin ich nicht gekommen.

Mal gucken, ob ich es mit weniger Modifikationen und ohne Webserver hinbekomme.
 

ZZottel

Neuer User
Mitglied seit
27 Dez 2008
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
@kmeleon: Keine Ahnung, wie verrückt du bist... ich fasse es mal als Kompliment auf ;-)

Mittlerweile habe ich mein Fritz!Relay softwareseitig noch etwas weiterentwickelt. Mit einer Infrarot-Fernbedienung kann ich das WLAN der Box ein- und ausschalten. Manche Infrarot-Kommandos übersetzt die Box in passende Befehle für meinem "Media Player Classic". Somit kann ich meine Filme ganz komfortabel fernsteuern. Prinzipiell könnte man natürlich beliebige TCP-Aktivitäten mit der Fernbedienung anstoßen.
Achso, das coolste ist meine "Telefon-Stummschaltung": Wenn ein Telefon klingelt (oder ich jemanden anrufe) schaltet die Box automatisch das Relais, an dem meine Stereo-Anlage hängt.

Nochmal @kmeleon: Ich lese gerade von den Port-Beschränkungen in deiner Firma. Du kannst doch sicher von dort aus eMails verschicken. Vielleicht ließe sich damit was tricksen. Du müsstest die Fritz!Box nur per POP3 einen eMail-Account prüfen lassen. Willst du ein Relais schalten, schickst du eine eMail (mit definiertem Inhalt) an deine Mail-Adresse. Je nach Aktualisierungsintervall (z.B. eine Minute) schaltet dann das Relais.
 
Zuletzt bearbeitet von einem Moderator:

rusmueller

Neuer User
Mitglied seit
11 Feb 2006
Beiträge
108
Punkte für Reaktionen
0
Punkte
0
Hallo kmeleon,

ich habe auch so was in Entwicklung, wurde aber mangels Zeit bisher nicht beendet.
Trotzdem gibt's ein paar "Zwischenergebnisse", auf die ich hier mal verweisse, vielleicht hilft Dir ja irgendwas.
Wie chriwi schreibt kommt man über die Fernwartung via https von außen an die Box.
Ein Beispiel, wie man das Webinterface ohne Freetz erweitert findet man hier:
http://www.ip-phone-forum.de/showpost.php?p=1247821&postcount=42
Damit das Web-Interface neue Kommandos ausführen kann, muss man ein neues cgi-script anlegen, wie das geht findet man z.B. hier:
http://www.ip-phone-forum.de/showpost.php?p=1509034&postcount=26
Ich habe einen AtMega über einen USB-V24 Adapter angeschlossen, da dieser recht vielseitig ist kann man damit auch noch mehr "als nur" 8 Relais schalten. Dafür muss man den aber auch noch programmieren.

Viel Erfolg! Reiner
 

radislav

Aktives Mitglied
Mitglied seit
15 Mrz 2008
Beiträge
950
Punkte für Reaktionen
0
Punkte
16
hallo,

hat jemand von euch villeicht vor, fritz!relay zu kaufen? dann schließt euch uns hier an. ich hoffe, das angebot vom dem, der es bauen will, gilt noch

gruß
 

ZZottel

Neuer User
Mitglied seit
27 Dez 2008
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
@radislav: Rein aus Interesse: Wer bietet das Fritz!Relay zum Verkauf an?
 

kmeleon

Neuer User
Mitglied seit
8 Okt 2009
Beiträge
47
Punkte für Reaktionen
0
Punkte
6
[Edit frank_m24: Mehrere Beiträge zusammengefasst. Man kann seine Beiträge auch editieren.]
@ZZottel: Du bist definitiv verrückter als ich, obwohl ich sowas ja auch ziemlich cool finde. Um solche coolen Spielereien umzusetzen, fehlt mir leider die Zeit :mad:. Meine Relais-Station werde ich aber schon noch fertig machen...somewhere in time...

Nein, E-Mails verschicken geht nur über den Exchange-Server. POP3 ist ebenfalls gesperrt :-(. Aber natürlich kann ich über Exchange/Outlook Mails versenden. Dann müsste ich mit der Box meinen E-Mail-Account prüfen und dann die Mails parsen und so weiter. Da finde ich die Lösung mit dem Web-Interface doch einfacher. Trotzdem eine gute Idee! Beim Webinterface ist die Ausführung nicht versetzt und ich könnte auch sofort einen Status lesen. Auf die Box komme ich ja per https drauf!

Einen Eintrag im Menü hatte ich auch schon erzeugt und die Webseite wurde angezeigt. Ich habe inzwischen auch mal freetz auf die Box gepackt. Bin aber von der zusätzlichen Konfigurierei nicht so begeistert (ftp lief/läuft nicht mehr, warum auch immer, habe nicht weiter geforscht und...nein...auch nicht weiter gelesen). Nein, das ist keine Kritik! Was die Jungs da geschaffen haben, ist echt der Hammer! Ich danke Euch!

@rusmueller: Danke für die Info. Da sind definitiv brauchbare Sachen dabei! Super!

Zur Zeit kämpfe ich übrigens mit der uClibc. Die ist im Original unterschiedlich zur freetz-Variante. Ich würde ja gerne dropbear installieren (damit ich auch mal von außerhalb auf der Box herumfummeln kann), aber da fangen die Probleme schon an.


Das ist übrigens das Modul, was ich an die FritzBox hängen möchte:
[Edit frank_m24: Bild vom externen Hoster in Link umgewandelt, siehe auch hier.
Bitte benutzt den forumeigenen Dateimanager, um Bilder hochzuladen (Beitrag "Ändern" -> "Erweitert" -> "Anhänge verwalten").]

http://www.braintechnology.de/braintechnology/images/200021g.gif

Größter Vorteil (so denke ich jedenfalls jetzt noch): Die Firmware kann und muss von der FritzBox auf den µC geladen werden (über USB). Über Internet könnte man dann immer die aktuellste Firmware draufladen (per Web-Interface explizit befehlen). Die ganzen Pins, die noch frei sind, kann man für Relais, 433Mhz- oder IR-Empfänger usw. benutzen. Der USB-Code mit nem kleinen OS hat gerade mal 2500 Bytes verschluckt, bleiben also noch 4500 Bytes über.

[Beitrag 2:]
@ZZottel: Auch nicht schlecht! Deine Entwicklungen verkaufen sich, bevor Du davon etwas weißt.
 

ZZottel

Neuer User
Mitglied seit
27 Dez 2008
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
@kmeleon: Auf dem von dir gezeigten Modul ist ein Cypress-USB-Chipsatz drauf. Wird der von deiner Fritz!Box bzw. von Freetz unterstützt?
Ich habe bisher nur die Treiber für FTDI und Prolific gesehen.
 

kmeleon

Neuer User
Mitglied seit
8 Okt 2009
Beiträge
47
Punkte für Reaktionen
0
Punkte
6
@ZZottel: Hmmm...ich gehe mal davon aus, dass ich den Chip über libusb ansprechen kann!? Die Firmware hochflashen hab ich schon bereits geschafft. Im Web-Interface wird zwar nix angezeigt (kein USB-Gerät angeschlossen), aber über /proc/.../usb/ kann ich mein neues Device sehen. Ob ich den Chip (mit der neuen Firmware) dann über libusb ansprechen kann, weiß ich noch nicht. Soweit bin ich noch nicht...
 

travelling-man

Neuer User
Mitglied seit
22 Sep 2007
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Guten Abend alle miteinander,
bin noch auf der Suche nach einem einfachen USB-Relais, hat da zufällig schon jemand eine einfachere Schaltung?
MfG
T-M