Firmata over Ethernet: Einbindung in Arduino

Begonnen von CaptBlaubaer, 27 Oktober 2013, 00:44:58

Vorheriges Thema - Nächstes Thema

mago0211

Zitat von: ntruchsess am 01 Dezember 2013, 10:23:54
was hast Du denn angeschlossen? Manche Relaisboards z.B. werden 'active Low' also durch Verbinden mit Masse 'angeschaltet', da ist die Schaltlogic dann umgekehrt.

- Norbert

Ich habe ein 4 Kanal Relais Board von SainSmart dran. Kann mann die Schaltlogik irgendwie umdrehen?

Vielen Dank

Grüße
Markus

ntruchsess

Ich kann bei nächster Gelegenheit ein Attribut ins FRM_OUT einbauen, mit dem man die Semantik umdreht. Am Board wirst Du nicht ohne weiteres viel ändern können außer einen invertierenden Treiber vorzuschalten.

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

ThomasL

Zitat von: ntruchsess am 01 Dezember 2013, 21:13:25
Ich kann bei nächster Gelegenheit ein Attribut ins FRM_OUT einbauen, mit dem man die Semantik umdreht. Am Board wirst Du nicht ohne weiteres viel ändern können außer einen invertierenden Treiber vorzuschalten.

- Norbert

Hallo Norbert,

da bi nich auch sehr dran interessiert!

Danke
Thomas

Brater

Gruß, Brater

ntruchsess

Damit das im Alltagsgeschäft nicht wieder untergeht, hab mir grade mal einen Merker dafür auf Github angelegt.
while (!asleep()) {sheep++};

strauch

Zitat von: Achim am 24 November 2013, 15:35:21
#include <Wire.h>
#include <Servo.h>
bleiben mussten, da sonst beim Compilieren Fehler auftraten. Langsam lerne ich dazu.


Das brachte mich auch ans Ziel. (Arduino Nano und Ethernetshield mit ENJ......

@Norbert, ich vermute das FirmataExt und/oder FirmataScheduler notwendig sind damit das ganze funktioniert. Die hab ich aber einfach fröhlich auskommentiert. Vielleicht macht es Sinn dort in den Quelltext zu schreiben das die notwendig sind. Und vielleicht ist es auch Sinnvoll bei Wire.h und Servo.h hinzuschreiben das man das so auskommentieren kann. Vielleicht auch im Wikipediaeintrag?

Auf jedenfall vielen Dank für das Modul und den Sketch und die Library. Jetzt will ich mal schauen ob ich damit meinen Gaszähler "auslesen" kann. Ein Reddkontakt dran und jetzt muss ich nur noch FHEM überreden das alles hinzubekommen.... puh
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

ntruchsess

Zitat von: strauch am 29 Januar 2014, 22:28:02ich vermute das FirmataExt und/oder FirmataScheduler notwendig sind
FirmataScheduler ist nicht notwendig, FirmataExt schon.

Zitat von: strauch am 29 Januar 2014, 22:28:02Ein Reedkontakt dran und jetzt muss ich nur noch FHEM überreden das alles hinzubekommen.... puh
Denk dran, Du musst den Reedkontakt hardwareseitig (Stichwort 'Tiefpass' oder 'R/C-Glied') entprellen, damit Du pro echten Impuls nicht mehrere in FRM_IN zählst.

Gruß,

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

strauch

Danke für den Hinweis, lese ich mich mal ein. Bisher klappt das zählen auch noch nicht besonders gut, ich muss den Reedkontakt noch besser anbringen, bei meinen manuellen Versuchen mit einem Magnet hats sehr gut geklappt, aber da war ich auch nicht sonderlich schnell, so das ich entprellen müsste.

Gäb es nicht auch die Möglichkeit zu entprellen mit der Bounce Biblothek oder sprengt das die Sketchgröße total?
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

ntruchsess

klar könnte man das im Sketch debouncen. Es muss nur jemand Zeit dafür haben, das einzubauen. Am besten indem man eine entprellte Version der DigitalInputFirmata schreibt, mit der man die originale im ConfigurableFirmata-sketch ersetzt. Dann müsste das Firmata-Protokoll und damit auch die perl-firmata überhaupt nicht erweitert werden.

Gruß,

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

sackCfix

#39
Hallo,
zuerst vielen Dank für die Entwicklung dieser Firmware.

Leider bekomme ich Firmata nicht zum laufen, es wird keine Verbindung mit FHEM hergestellt.
Board ist ein Nano mit ENC28J60, der Chatserver funktioniert wenn ich die UIPEthernet verwende, auch FHEM reagiert wenn ich per Telnet auf Port 3030 anfrage, netstat meldet ebenfalls "LISTEN" für diesen Port.

Gibt es in der configurableFirmata eine Ethernet-Einstellung die sich vom ChatServer unterscheidet? Habe in Zeile 231 das ignore für SPI entdeckt, daran liegt es aber auch nicht.
Kompilieren läuft ohne Probleme nach der vorherigen Anleitung, UDP habe ich momentan noch aktiv, Größe ist damit bei 29.886 Bytes.

Oder kann man sich mit dem Arduino verbinden um zu sehen ob er überhaupt was macht?

Gruß,
Andreas

strauch

Hi Andreas,

ich hatte auch Schwierigkeiten, schau dir mal meine Konfiguration an, mein Problem war das ich
#include <utility/FirmataExt.h>
FirmataExt firmataExt;

auskommentiert hatte

http://forum.fhem.de/index.php/topic,19480.0.html

Danach ging es dann

Grüße

strauch
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

sackCfix

Danke für den Hinweis,

FirmataExt und FirmataScheduler sind aber noch drin, UDP habe ich jetzt mal rausgenommen, ändert sich jedoch nichts.

Allerdings taucht bei mir wenn ich"version" eingebe die 10_FRM nicht auf, wird die erst geladen wenn der Arduino verbunden ist?

Andreas

strauch

Mach mal ein update check und schau ob sie dabei steht.

Wenn ja führ mal ein update durch.

Gesendet von meinem Nexus 4 mit Tapatalk
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

sackCfix

Hmm,
daran liegt es auch nicht, Update hatte ich bereits heute morgen schon gemacht, die Module wurden auch alle aktualisiert
Habe das ganze auch schon auf zwei verschiedenen Nano- sowie ENC28-Boards versucht, brachte keine Änderung.

Andreas

strauch

Im FHEM Ordner in fhem Ordner liegt sie auch nicht? Wenn ja mach mal ein restart, ansonsten würde ich folgendes Probieren:

einmal ein Zwangsupdate:
update force

Dann vielleicht testweise nur die eine Datei:
update 10_frm.pm

Ansonsten von hier herunterladen und manuell in das Verzeichnis fhem packen:
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/10_FRM.pm
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.