Firmata over Ethernet: Einbindung in Arduino

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

Vorheriges Thema - Nächstes Thema

ntruchsess

Compilierst du mit der Arduino-IDE? Stream gehört ja zum Arduino-core, das sollte eigentlich nicht fehlen.
while (!asleep()) {sheep++};

woody

Guten Morgen,
Ja ich benutze die IDE 1.05 R2. Ganz normal installiert. Muss die Ethernet.h im Verzeichnisse
.von firmata stehen oder wird die über Pfade gezogen? Vielleicht ist es ja die falsche.
Wi kann ich das feststellen?

Fragen über Fragen.

Viele Grüße Woody

strauch

Die Firmata Library muss in den Library Ordner, dort wo auch die Sketche liegen.
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

Die ConfigurableFirmata-library muss die mit der IDE ausgelieferte Firmata-version ersetzen. Einfach in den libraries-folder bei den Sketches packen führt daszu, dass die Library 2 mal installiert ist.

Gruß,

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

ntruchsess

Zitat von: woody am 01 April 2014, 06:33:35Muss die Ethernet.h im Verzeichnisse von firmata stehen oder wird die über Pfade gezogen?
nein, die Ethernet.h ist Bestandteil der IDE (im libraries-folder der IDE, Directory 'Ethernet').
Zitat von: woody am 01 April 2014, 06:33:35Wi kann ich das feststellen?
In den Einstellungen der IDE kannst Du 'Ausführliche Ausgabe anzeigen während [X] Compilierung' anstellen, dann siehst Du welche Verzeichnisse die IDE in den Compilevorgang einbindet. Die IDE 1.0.x kopiert alles zum Compilieren in einen temp-folder, wenn da mal was drinliegt, was aktuell nicht reingehört, dann kann das zu Compililierfehlern führen - in diesem Fall reicht es das Board in den IDE-settings (Unter 'Tools') zu wechseln, 1x compilieren und wieder zum richtigen Board zurückzustellen. Bei jedem Wechsel des Boards werden alle Library-dateien neu ins temp-Verzeichnis kopiert.

Gruß,

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

woody

Hallo Ihr lieben Helferlein........
der Fehler mit dem stream lässt sich reproduzieren ,wenn in der .ino

#define remote_ip IPAddress(192,168,0,17)
//replace with hostname of server you want to connect to, comment out if using 'remote_ip'
//#define remote_host "server.local"

die IP eingetragen ist, aber der hostname nicht auskommentiert ist.

Vielen Dank an alle....

Hab noch ne kleine Frage:
Wie kann ich den Analogwerten 0-5V  z.B. 0-6000 Liter zuordnen. Gibts da ein tutorial wo sowas zusammnegefasst steht? 

VG
Woody

ntruchsess

#96
das ist kein Fehler, das ist so gewollt: wenn Du sowohl remote_host, als auch remote_ip configuriert hast ist nicht mehr eindeutig definiert, wie der Arduino eigentlich verbinden soll. Die Meldung die dann kommt, ist eigentlich unzweideutig:

ConfigurableFirmata.ino:126:2: error: #error "cannot define both remote_ip and remote_host at the same time!"
ConfigurableFirmata.ino: In function 'void setup()':
ConfigurableFirmata:253: error: 'stream' was not declared in this scope


Man muss sie nur komplett lesen oder ersatzweise komplett posten, nicht nur die letzte Zeile
Gruß,

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

matthias soll

Hallo zusammen,

ich bekomme das ENC28J60 auf meinem mega nicht zum laufen er sagt firmata inizialized und
FRM:192.168.1.116:1028 Connected
Aber: Unhandled sysex command

Wenn ich einen Ausgang schlten möchte kommt nur Firmata_11 no IODev assigned at ./FHEM/10_FRM.pm line 591.
Habe alles auf neustem Stand stabile stromversorgeung ip ist pingbar dieverse arduino sketchvarianten durchprobiert alles ohne Erfolg.
Ich weis nichtmehr wo ich suchen soll, Hardware habe ich durchgemessen.
Kann mir jemand einen Tip geben?

ntruchsess

Zitat von: matthias soll am 12 August 2014, 20:19:48
Aber: Unhandled sysex command

Schau noch mal in Deinen Sketch: Für FRM_IN dürfen FirmataExt und FirmataReporting in der ConfigurableFirmata nicht auskommentiert sein.

Gruß,

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

matthias soll

Hallo Norbert,
danke für deine Hilfe, ist aber nichts auskmmentiert.
Nur Stepper,Servo und analog in und out sind auskommentiert.
Wollte das sketch auch schon auf meinem uno testen habe es aber aus platzgründen nich kompilieren können. :-[
Soll ich eher beim sketch suchen oder kann es auch an fhem liegen?
Gruß
Matthias

ntruchsess

Unhandled SysexCommand sagt schon mal unzweideutig, dass die Netzwerkverbindung zum Arduino bidirektional funktioniert.
No IODev Assigned wäre typischerweise ein FHEM-seitiges Konfigurationsproblem.

Poste mal die Internals vom FRM und FRM_IN device.
while (!asleep()) {sheep++};

matthias soll

#101
ok mir war grade aufgefallen dass ich pinmode nicht für den mega angepasst hatte, das hat aber auch nichts geändert.
Hier die Internals:

FIRMATA Initialized
CONNECTS 1
DEF    3030 global
DeviceName 3030
FD 4
NAME FIRMATA
NOTIFYDEV global
NR 44
NTFY_ORDER 50-FIRMATA
PORT 3030
STATE Initialized
TYPE FRM
firmware ConfigurableFirmata.ino
firmware_version V_2_06


FRM:192.168.1.116:1030 Connected
Internals
BUF   
DeviceName 3030
FD 12
NAME FRM:192.168.1.116:1030
NR 380
SNAME FIRMATA
STATE Connected
TEMPORARY 1
TYPE FRM

Gruß
Matthias

matthias soll

#102
hallo,
irgendwas ist mit den sketch oder der hardware falsch.
Ich habe jetzt meinen UNO mit 5100 shield sofort zum laufen gebracht.
Jetzt zeigt er mir alle pins an,
aber trotzdem: Unhandled sysex command und Firmata_13 no IODev assigned at ./FHEM/10_FRM.pm line 591.
Gruß
Matthias

ntruchsess

#103
UIPEthernet braucht deutlich mehr Speicher, daher kann man auf einem Uno nicht alle Features gleichzeitig nutzen (z.B. geht I2C und 1Wire nicht zusammen, der Uno stürzt dann ab).

Steht das define des Firmata_13 denn nach dem FRM-device in der fhem.cfg oder davor? Hast Du das IODev-attribut schon mal manuell hinzugefügt?

(Übrigens, wenn Du möchtest, dass Dir jemand zielgerichtet hilft, dann braucht der alle(!) Informationen. Also den Sketch, so wie Du Ihn benutzt, genaue Versionsangabe oder Angabe des commits der UIPEthernet-lib und der ConfigurableFirmata, SVN-revision vom FHEM (bzw. aller beteiligter Files) und die komplette relevante Konfiguration (d.h. eine minimale fhem.cfg mit der das beschriebene Problem nachzuvollziehen ist. Ohne diese Information kann man am anderen Ende des Forums auch nur raten)

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

matthias soll

Hallo Norbert,
DANKE!!!
Jetzt habe ich es geschafft, ich habe das Sketch nur minimal angepasst (nur IP´s und Pin eingestellt und sonst nichts geändert).
Platz ist auf dem Mega ja genug.
Und in meiner fhem.cfg das attribut FIRMATA gestezt.

define FIRMATA FRM 3030 [global]

define Firmata_13 FRM_OUT 13
attr Firmata_13 IODev FIRMATA

Gruß
Matthias