Firmata Seriell/USB in 98_autocreate.pm integriert

Begonnen von CaptBlaubaer, 24 Oktober 2013, 01:44:30

Vorheriges Thema - Nächstes Thema

ntruchsess

#15
Das kann man schon hier im Forum diskutieren, geht ja schließlich darum, dass es mit FHEM läuft. Halt in der Rubrik 'Sonstiges'.

Speicherbedarf ist auf dem Mega natürlich weniger ein Thema ;-)
Aber das war auch nicht der primäre Grund, warum ich auf den Client gesetzt habe. Ich habe es schlichtweg nicht hinbekommen, dass sich FHEM sauber, schnell und vor allem auch zuverlässig automatisch wieder mit dem Arduino verbindet, wenn man den Arduino resettet oder temporär die Verbindung (physikalisch d.h. ohne protokollgesteuerten Verbindungsabbruch) trennt. Tu dir keinen Zwang an - wenn Du dafür eine Lösung hast würde ich mich natürlich darüber freuen und diese auch gerne ins offizielle Firmata-repository übernehmen.

Beim Callmonitor wird das im Prinzip genauso sein, nur dass sich offenbar niemand daran stört, dass ein Wiederverbinden nach hartem Abschalten der Fritzbox ein paar Minuten dauern kann. Mangels Fritzbox habe ich das nicht testen können, aber das Modul verläßt sich genauso darauf, dass DevIO_SimpleWrite impliziet die Verbindung schließt, wenn die Gegenseite nicht mehr da ist.
Wobei Du einen Arduino rein von den Resourcen her nicht mit einer FB vergleichen kannst. Der macht die eine oder andere noch offene und auf Timeout wartende Verbindung nix aus. Der Arduino ist in so einem Fall einfach nicht mehr erreichbar, bis die Timeouts abgelaufen sind.

Naja, wegen der Konfiguration: Vergleich das mal realistisch: Hat der Arduino als Server eine voreingestellte ip-addresse, dann muss man sich eine Addresse im gleichen Subnetz auf ein Interface am PC konfigurieren um ihn erreichen und konfigurieren zu können. Will der Client zu einer fest vorgegebenen default-ip-addresse verbinden, dann muss man eben diese auf dem Interface binden. Vom Aufwand her kein erkennbarer Unterschied. Ich würde dafür natürlich ein kleines FHEM-unabhängiges Tool (in Perl) schreiben. Das braucht es eh - so was über eine Implementierung in FHEM zu testen wäre mir zu aufwändig.

Ach so - auf einem Mega mit original Ethernetshield könnte man die Netzwerkkonfiguration auch einfach von SD-karte laden. Auf den kleineren Arduinos könnte da der Speicher aber zu knapp sein - die library um das FAT-filesystem zu lesen ist ja nicht gerade schlank.

- Norbert
while (!asleep()) {sheep++};

CaptBlaubaer

#16
Hallo Norbert,

ich habe unter Sonstiges ein neues Thema eröffnet:
ZitatFirmata over Ethernet: Einbindung in Arduino

Wenn das klappt schau ich mir erstmal Deine Lösung für FoE an. Vielleicht fallen mir dann noch ein paar Argumente ein. ;-)

Heißt das
ZitatAber das war auch nicht der primäre Grund, warum ich auf den Client gesetzt habe. Ich habe es schlichtweg nicht hinbekommen, dass sich FHEM sauber, schnell und vor allem auch zuverlässig automatisch wieder mit dem Arduino verbindet, wenn man den Arduino resettet oder temporär die Verbindung (physikalisch d.h. ohne protokollgesteuerten
dass Du schon eine FoE Server Variante getestet hast und auch das passende FHEM Modul dazu hast?

Ich versuch mal meine Anforderungen beschreiben:

       
  • Ein Firmata Gerät muss nicht mehr programmiert sondern "nur" noch konfiguriert werden.
  • Die Konfiguration muss mit standardisierten Mitteln erfolgen können, z.B. Webbrowser, Telnet, DHCP, Terminal, ....
    (Ein Firmata Windows Programme würde ich auch noch akzeptieren.)
  • Sofern vom Management Systemen wie z.B. FHEM unterstützt, muss es möglich sein ein oder mehrere konfigurierte Firmata Geräte automatisch zu erkennen und einzubinden.
  • Steuer- / Konfigurationsbefehle müssen gesichert übertragen werden. D.H., es ist nachvollziehbar, ob der Befehl ausgeführt wurde, oder ob nicht. (FHEM -> Firmata)
  • TBD  Push-Werte (Firmata -> FHEM) kann bei unkritischen Applikationen (z.B. Regentropfen zählen) ungesichert erfolgen (Bei einem Lichtschalter sollte der Befehl aber schon sicher empfangen werden)
  • To be continued ...
Viele Grüße,
CaptBlaubaer (CBR)
Best regards und viele Gruesse,
CaptBlaubaer (CBR)
_________________________________
FHEM 5.5 Raspberry Pi (B), IOMEGA iConnect, Firmata Arduinos USB/LAN, Gembird USB/LAN, ToDo: FHEM auf FritzBox 7390, 7270

ntruchsess

#17
Zitat von: CaptBlaubaer am 27 Oktober 2013, 00:57:37
Heißt dasdass Du schon eine FoE Server Variante getestet hast und auch das passende FHEM Modul dazu hast?
getestet: ja, passendes Modul haben: Nein, den Stand vom FRM habe ich nie ins SVN commitet und auch nicht mehr auf meiner Platte. Wäre auch total veraltet.
Der Firmata-Ethernet-Server von damals:
https://github.com/ntruchsess/arduino/tree/93c1c84efa3981e42b64d9c1615765d2fe8d4fb1/examples/OneWireSchedulerEthernetServer

Deine ganzen Wünsche darfst Du gerne unter 'Issues' ins Firmata Github repository einstellen https://github.com/firmata/arduino/issues, das hat mit FHEM so unmittelbar nix mehr zu tun, bzw. erst wenn da die Basis umgesetzt ist, kann man Unterstützung dafür ins FHEM einbauen.
Contributions zum Firmata-projekt sind in dem Zusammenhang sicher willkommen. Jeff Hoefs (der aktuelle Chef-maintainer) wünscht sich eh schon länger ein Configurationstool für die ConfigurableFirmata.
while (!asleep()) {sheep++};