Hauptmenü

Firmata+Arduino

Begonnen von Rohan, 31 Januar 2013, 14:31:12

Vorheriges Thema - Nächstes Thema

cyberdwarf

Hallo,

Update bezüglich IODev hat leider nichts gebracht. Fehler ist weiterhin vorhanden.

2014.03.11 22:35:42 1: 3030 disconnected, waiting to reappear
2014.03.11 22:35:42 1: /dev/ttyUSB1 disconnected, waiting to reappear
2014.03.11 22:35:42 1: /dev/ttyUSB0 disconnected, waiting to reappear
2014.03.11 22:35:42 1: Including fhem.cfg
2014.03.11 22:35:42 3: telnetPort: port 7072 opened
2014.03.11 22:35:42 3: WEB: port 8083 opened
2014.03.11 22:35:42 3: WEBphone: port 8084 opened
2014.03.11 22:35:42 3: WEBtablet: port 8085 opened
2014.03.11 22:35:43 3: Opening FIRMATA_USB device /dev/ttyUSB0
2014.03.11 22:35:43 3: Setting FIRMATA_USB baudrate to 57600
2014.03.11 22:35:43 3: FIRMATA_USB device opened
2014.03.11 22:35:46 3: querying Firmata Firmware Version
2014.03.11 22:35:46 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_05
2014.03.11 22:35:46 1: OWX: 1-Wire bus OWFRM: interface Firmata detected in FIRMATA_USB
2014.03.11 22:35:46 3: Opening FIRMATA_USB1 device /dev/ttyUSB1
2014.03.11 22:35:46 3: Setting FIRMATA_USB1 baudrate to 57600
2014.03.11 22:35:46 3: FIRMATA_USB1 device opened
2014.03.11 22:35:49 3: querying Firmata Firmware Version
2014.03.11 22:35:49 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_05
2014.03.11 22:35:49 3: FIRMATA_NET: port 3030 opened
2014.03.11 22:36:01 3: OWTHERM: Device OWX_10_072780020800 defined.
2014.03.11 22:36:01 2: error initializing Firmata_OUT_7: error initializing 'Firmata_OUT_7': Firmata_OUT_7, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_7: error initializing 'Firmata_OUT_7': Firmata_OUT_7, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_8: error initializing 'Firmata_OUT_8': Firmata_OUT_8, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_8: error initializing 'Firmata_OUT_8': Firmata_OUT_8, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_9: error initializing 'Firmata_OUT_9': Firmata_OUT_9, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_9: error initializing 'Firmata_OUT_9': Firmata_OUT_9, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_10: error initializing 'Firmata_OUT_10': Firmata_OUT_10, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_10: error initializing 'Firmata_OUT_10': Firmata_OUT_10, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_11: error initializing 'Firmata_OUT_11': Firmata_OUT_11, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_11: error initializing 'Firmata_OUT_11': Firmata_OUT_11, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_12: error initializing 'Firmata_OUT_12': Firmata_OUT_12, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_12: error initializing 'Firmata_OUT_12': Firmata_OUT_12, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_14: error initializing 'Firmata_OUT_14': Firmata_OUT_14, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_14: error initializing 'Firmata_OUT_14': Firmata_OUT_14, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_15: error initializing 'Firmata_OUT_15': Firmata_OUT_15, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_OUT_15: error initializing 'Firmata_OUT_15': Firmata_OUT_15, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_IN_3: error initializing 'Firmata_IN_3': Firmata_IN_3, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_IN_3: error initializing 'Firmata_IN_3': Firmata_IN_3, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_IN_4: error initializing 'Firmata_IN_4': Firmata_IN_4, FIRMATA_NET is not connected
2014.03.11 22:36:02 2: error initializing Firmata_IN_4: error initializing 'Firmata_IN_4': Firmata_IN_4, FIRMATA_NET is not connected
2014.03.11 22:36:03 2: error initializing Firmata_IN_5: error initializing 'Firmata_IN_5': Firmata_IN_5, FIRMATA_NET is not connected
2014.03.11 22:36:03 2: error initializing Firmata_IN_5: error initializing 'Firmata_IN_5': Firmata_IN_5, FIRMATA_NET is not connected
2014.03.11 22:36:03 2: error initializing LCD: no IODev set
2014.03.11 22:36:04 1: Including ./log/fhem.save
2014.03.11 22:36:08 1: OWX: 1-Wire devices found on bus OWFRM (OWX_10_072780020800)
2014.03.11 22:36:08 1: OWX: 1-Wire devices found on bus OWFRM (OWX_10_072780020800)
2014.03.11 22:36:12 3: querying Firmata Firmware Version
2014.03.11 22:36:12 3: Firmata Firmware Version: ConfigurableFirmata_net.ino V_2_05


IODev ist aber gesetzt (s.o. 1. Beitrag von mir).


Wenn ich dann mein Firmata_Net deaktiviere passiert folgendes
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.

und das System wird lahm gelegt.
"n_Test_scharf" ist ein notify!
"Firmata_IN_3:.*on set Test_scharf scharf; set Firmata_OUT_7 on"


Mein "OWX_10_072780020800" liefert die ganze Zeit über Daten. OWFRM schein nicht betroffen zu sein.

Beim Starten wird zwar "FIRMATA_USB device opened" im Log ausgegeben und die Firmware kann ausgelesen werden, aber im FHEM unter Unsorted wird FIRMATA_USB als "Initialized" angezeigt.
Erst wenn ich ein "set FIRMATA_USB reinit" oder "set FIRMATA_USB reset" ausführe, geht es wieder und FIRMATA_USB wird als opened angezeigt.

Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

ntruchsess

#241
Zitat von: strauch am 11 März 2014, 18:14:21@Norbert kann man dich eigtl. irgendwie bestechen, das du Support für ein DHT22 in die Firmata einbaust?!

klar kann man das. Schick mir einfach die nötige Zeit ;-). Arduino und DHT22 hab ich schon.

Aber helfen könntest Du dabei schon: arbeite mal ein passendes Konzept aus, wie man solche spezialisierten Sensoren ins Firmata-protocoll einbaut, ohne massenhaft 'pinmodes' für solche Spezialfälle zu 'verschwenden'. Firmata-protocol siehe firmata.org, diskussion und Änderungsvorschläge auf firmata-protocol auf github.

Wenn das Protokoll steht ist das Einbauen in FHEM eine Kleinigkeit
while (!asleep()) {sheep++};

strauch

Zitat von: ntruchsess am 13 März 2014, 14:06:17
klar kann man das. Schick mir einfach die nötige Zeit ;-). Arduino und DHT22 hab ich schon.

Kommt mir bekannt vor

Zitat von: ntruchsess am 13 März 2014, 14:06:17Aber helfen könntest Du dabei schon: arbeite mal ein passendes Konzept aus, wie man solche spezialisierten Sensoren ins Firmata-protocoll einbaut, ohne massenhaft 'pinmodes' für solche Spezialfälle zu 'verschwenden'. Firmata-protocol siehe firmata.org, diskussion und Änderungsvorschläge auf firmata-protocol auf github.

Wenn das Protokoll steht ist das Einbauen in FHEM eine Kleinigkeit

Des ist doch mal eine Aufgabe. Ob ich das kann.... werde ich wohl nur Wissen wenn ich mir das anschaue. Danke, das werde ich mal machen.
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: cyberdwarf am 11 März 2014, 23:12:58
2014.03.11 22:35:42 1: 3030 disconnected, waiting to reappear
2014.03.11 22:36:01 2: error initializing Firmata_OUT_7: error initializing 'Firmata_OUT_7': Firmata_OUT_7, FIRMATA_NET is not connected
2014.03.11 22:36:01 2: error initializing Firmata_OUT_7: error initializing 'Firmata_OUT_7': Firmata_OUT_7, FIRMATA_NET is not connected
...


das ist kein Fehler. Das sagt nur aus, dass der Arduino sich noch nicht über das Netzwerk verbunden hatte als fhem die FRM_IN/OUT...-Devices definiert hat. Da sollte ich ggf. den Loglevel ändern, oder das 'error' durch ein 'warning' ersetzten. Das ist aber schon seit mindestens 4 Monaten so im code, von welcher Version her hast Du denn geupdated?

Zitat von: cyberdwarf am 11 März 2014, 23:12:58
Wenn ich dann mein Firmata_Net deaktiviere passiert folgendes
2014.03.11 22:33:10 3: n_Test_scharf return value: pin '7' is not configured for mode 'INPUT' or 'OUTPUT' at FHEM/lib/Device/Firmata/Platform.pm line 467.
...

und das System wird lahm gelegt.
"n_Test_scharf" ist ein notify!
"Firmata_IN_3:.*on set Test_scharf scharf; set Firmata_OUT_7 on"
das habe ich (erfolglos) versucht nachzuvollziehen. Wie 'deaktivierst' Du das Firmata_net? Einfach abziehen? (so hab ich das jedenfalls nicht reproduzieren können).

Zitat von: cyberdwarf am 11 März 2014, 23:12:58
Beim Starten wird zwar "FIRMATA_USB device opened" im Log ausgegeben und die Firmware kann ausgelesen werden, aber im FHEM unter Unsorted wird FIRMATA_USB als "Initialized" angezeigt.
Erst wenn ich ein "set FIRMATA_USB reinit" oder "set FIRMATA_USB reset" ausführe, geht es wieder und FIRMATA_USB wird als opened angezeigt.

Der (rein optische) Fehler ist, dass nach einen (erfolgreichen) set xxx reset als state 'opened' und nicht 'Initialized' angezeigt wird, das habe ich gerade geändert und ins SVN committed.
'opened' bedeutet DevIO konnte das Device erfolgreich öffnen.
Anschließend wir versucht es (inklusive aller Client-devices) zu initialisieren. Wenn das geklappt hat, ist der State 'Initialized'.

der Unterschied zwischen set xxx reset und set xxx reinit ist, dass reset erst die Verbindung schließt und neu öffnen, bevor es (wie set xxx reinit) das FRM-device mit allen client-devices neu inititialisiert. Ein 'set xxx reset' ist somit fast dasselbe wie abziehen und wiederanstecken eines USB-devices (mit dem Unterschied, dass das USB-device nicht stromlos wird und auf OS-ebene auch bestehen bleibt).

- Norbert
(dass ich dachte mit den IODevs funktioniert irgendwas nicht lag daran, dass ich die neuen Module FRM_STEPPER und FRM_ROTENC vergessen hatte zur Liste der FRM-clients hinzuzufügen, ist jetzt aber auch drin und hätte auf FRM_IN/OUT/OWX etc.. keinen Einfluss gehabt)
while (!asleep()) {sheep++};

ntruchsess

#244
Zitat von: woody am 02 Februar 2014, 19:49:25
Hallo Leute,
habe noch ein anderes Problem, die Suche hat leider nichts gebracht und ich verstehs net.

Nach einem Reset oder rereadcfg, also wenn der Arduino sich neu connected hat er immer einen anderen Port.
Das bedeute allerdings auch, das die OWX-Devices immer neu gefunden werden.

da hatte ich eigentlich schon mal drauf geantwortet (auf die Sache mit dem Port), jetzt habe ich aber grade mal ein Testsetup mit mehreren Arduinos dranhängen um zu testet, ob da alles passt:

Also bei einem rereadcfg legt fhem alle Devices neu an, das ist normal.
OWX-Devices haben als IODev das zugehörige OWX-device (das ist nicht das FRM-device!). Dieses ändert sich bei einem rereadcfg nicht.
Das OWX-device hat als IODev das logische FRM-device (also das, was per 'define' erzeugt wird).
Sobald der Arduino sich über das Netzwerk verbindet, wird das OWX-device dynamisch mit dem temporären FRM-device für den dynamisch geöffneten Port verbunden. Anschließend macht das OWX-device den üblichen Bus-scan (wie beim fhem-neustart) und legt ggf. OWX-Devices neu an. Existierende bleiben dabei so, wie gehabt.

Also alles so, wie es (aus meiner Sicht) sein soll.

Das einzige, das mir aufgefallen ist, ist das ein 'set frmdevice reset' bei einem Network-Firmata-device einen Fehler macht, weil es nach dem Reset sofort versucht zu verbinden (bei der Network-Firmata aber auf den Arduino gewartet werden muss). Das werde ich gleich mal beheben, aber eigentlich ist das auch eher ein Schönheitsfehler, weil sobalt der Arduino nach dem 'reset' wieder verbindet ist alles in Butter.

- Norbert

P.S.: 'set frm reset' für Network-Firmata habe ich grade gefixed. Macht jetzt einen sauberen Firmata-reset, schließt die Client-connection und warted darauf, dass sich die Network-firmata wieder verbindet.
while (!asleep()) {sheep++};

cyberdwarf

Hallo,

Zitat von: ntruchsess am 13 März 2014, 16:44:38
das ist kein Fehler. Das sagt nur aus, dass der Arduino sich noch nicht über das Netzwerk verbunden hatte als fhem die FRM_IN/OUT...-Devices definiert hat. Da sollte ich ggf. den Loglevel ändern, oder das 'error' durch ein 'warning' ersetzten. Das ist aber schon seit mindestens 4 Monaten so im code, von welcher Version her hast Du denn geupdated?

Klingt logisch. Allerdings verstehe ich nicht, warum error initializing Firmata_OUT_7: error initializing 'Firmata_OUT_7': Firmata_OUT_7, FIRMATA_NET is not connected

FIRMATA_NET den Firmata_OUT_7 bedienen will.
FIRMATA_NET hat nur ein Device definiert und zwar Firmata_OUT_13.
Firmata_OUT_7 hat FIRMATA_USB als IODev.

Ich habe die Logs überprüft. Die Meldungen kommen schon länger, allerdings hat sich vorher mein Firmata_USB Device bei einem rereadcfg oder shutdown restart automatisch verbunden.
Jetzt sieht das so aus, wie im angehängten Screenshot.



Zitat von: ntruchsess am 13 März 2014, 16:44:38
das habe ich (erfolglos) versucht nachzuvollziehen. Wie 'deaktivierst' Du das Firmata_net? Einfach abziehen? (so hab ich das jedenfalls nicht reproduzieren können).

Ich kommentiere die Zeilen in der fhem.cfg aus. Danach tritt der Fehler auf.

#define FIRMATA_NET FRM 3030 global
#
#define Firmata_OUT_13 FRM_OUT 13
#attr Firmata_OUT_13 IODev FIRMATA_NET
#attr Firmata_OUT_13 group Netzwerk
#attr Firmata_OUT_13 room FRM
#attr Firmata_OUT_13 stateFormat value


Es sind dann nur noch FIRMATA_USB und FIRMATA_USB1 aktiviert.

Am FIRMATA_USB habe ich Firmata_OUT_ (7-12 und 14-15) und Firmata_IN_ (3-5)
Firmata_USB1 bedient das I2C Display.

Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

ntruchsess

#246
Zitat von: cyberdwarf am 13 März 2014, 21:34:44
Klingt logisch. Allerdings verstehe ich nicht, warum error initializing Firmata_OUT_7: error initializing 'Firmata_OUT_7': Firmata_OUT_7, FIRMATA_NET is not connected

FIRMATA_NET den Firmata_OUT_7 bedienen will.
FIRMATA_NET hat nur ein Device definiert und zwar Firmata_OUT_13.
Firmata_OUT_7 hat FIRMATA_USB als IODev.

Hallo Thorsten,

ich verstehe das Problem mitlerweile. Mein IODev-handling beim Network-arduino spielt nicht mit den Änderungen der letzen Monate an der AssignIODev-funktion zusammen. Ich muss dafür einiges am Startup der FRM-module umstellen, das dauert ein bischen. Danach sollten aber alle durch den bisherigen Versuch der Initialisierung bei noch-nicht-verbundener Networkfirmata Effekte erledigt sein.

Gruß,

Norbert

P.S.: FRM scheint nicht der einzige Leittragende zu sein . Den Fehler habe ich jetzt beim Basteln auch bekommen ;-) Wobei ich die Änderung, wie AssignIOPort jetzt das IODev-attribut behandelt grundsätzlich mal gut finde, die Module müssen halt passend dazu gestrickt sein.
while (!asleep()) {sheep++};

Will

So bei mir läuft der arduino jetzt. Mein Problem war, dass ich hinter 3030 kein global hatte.

Sent from my Nexus 7 using Tapatalk


cyberdwarf

Hallo Norbert,

ist doch schon mal gut, das du es nachstellen konntest. Danke für Deine Arbeit.


Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

ntruchsess

ich habe die initialisierung von FRM umgestellt, jetzt werden die Devices erst nach dem kompletten Laden der fhem.cfg initialisiert. Mit dem geänderten Verhalten der AssignIOPort-methode kommt es jetzt zurecht.

Fix ist im SVN committed.

Gruß,

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

Tobias

moin,
Ist mit der ConfigurableFirmata OneWireVersion möglich mehrere DS2482 anzusteuern?
Ist es möglich auch mehrere DS2480 anzusteuern? Also sind mehrere RX/TX Pins am Arduino konfigurierbar?

Hintergrund: im 1wire Thread ist eine Dual-1wirePlatine mit 2x DS2480 per Ethernetanbindung entstanden. Ich schaue nun inwieweit sich das ganze auch mit einem Arduino betreiben lässt. Im Idealfall mit bis zu 3x DS2482
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

fhainz

Hallo!

Nach dem heutigem Update spielen meine Stromzähler verrückt. Anscheinend überlebt der internal-pullup den neustart nicht.

2014.03.16 09:43:23.637 1: Including ./FHEM/arduino.cfg
2014.03.16 09:43:23.655 3: cannot set attribute internal-pullup to on for arduino_pin_45: arduino_pin_45, FIRMATA is not connected
2014.03.16 09:43:23.660 3: cannot set attribute internal-pullup to on for arduino_pin_46: arduino_pin_46, FIRMATA is not connected
2014.03.16 09:43:23.690 1: configfile: cannot set attribute internal-pullup to on for arduino_pin_45: arduino_pin_45, FIRMATA is not connected
cannot set attribute internal-pullup to on for arduino_pin_46: arduino_pin_46, FIRMATA is not connected
2014.03.16 09:43:23.690 1: Including ./log/fhem.save
2014.03.16 09:43:23.720 3: FIRMATA: port 3030 opened
2014.03.16 09:43:23.722 0: Server started with 258 defined entities (version $Id: fhem.pl 5197 2014-03-10 21:07:30Z rudolfkoenig $, os darwin, user Fabian, pid 63056)
2014.03.16 09:43:29.833 3: querying Firmata Firmware Version
2014.03.16 09:43:29.856 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_05


Hab jetzt wieder die Versionen von gestern am laufen.

Grüße

ntruchsess

Zitat von: Tobias am 16 März 2014, 07:48:19
Ist mit der ConfigurableFirmata OneWireVersion möglich mehrere DS2482 anzusteuern?Ist es möglich auch mehrere DS2480 anzusteuern? Also sind mehrere RX/TX Pins am Arduino konfigurierbar?

OneWire in der ConfigurableFirmata ist erst mal eine reine Softwarelösung, bei der der Arduino selber der Busmaster ist und das komplette Timing ganz ohne DS-irgendwas abwickelt. Die Vorteile eines speziellen Busmasters sind da gering (entlastet zwar den µC, aber das muss man erst mal so implementieren, dass der in der gesparten Zeit tatsächlich was anderes machen kann). Nur bei längeren Bussen mit vielen Chips dran kann ein spezialisierter Busmaster (mit eingebauter Slewrate-control) echte Vorteile bringen.
Aber der DS2480 ist wenig sinnvoll, RX/TX ist bei den Arduinos mit USB ja schon belegt und nur die Mega2560 und Due haben mehrere Hardware-serials. Der DS2482 mit I2C ist da die bessere Wahl, davon kann man ja auch bis zu 4 Stück an einem I2C-bus anschließen. Die ConfigurableFirmata-anbindung dafür habe ich im Oktober schon mal implementiert. Braucht allerdings noch Feinschliff, der DS2482 macht das Timing doch nicht komplett autonom wie ich ursprünglich dachte, da muss der µC mitarbeiten (ist beim DS2480 genauso). Das ist auch der Grund, warum eine Lösung, bei der die Intelligenz direkt am 1-Wire bus und nicht am anderen Ende einer 'verlängerten seriellen Schnittstelle' sitzt, sinnvoller ist. Da hängt die Stabilität nicht von der Qualität der Netzwerkverbundung ab. Der primäre Nachteil ist: der Arduino spricht kein owfs (hat noch niemand implementiert), sondern z.B. Firmata.

Falls Du eine Platine mit DS2482 für den Arduino machen willst: Am besten fände ich persönlich, wenn man die Platine direkt huckepack auf ein ENC28J60-modul (wie z.B. dieses stecken könnte und obendrauf einen 'Arduino mini pro'. Das hätte dann den kleinsten möglichen Formfaktor. Kann aber sein, dass andere lieber ein Shield im standard-Arduino-layout hätten. Als dritte Alternative einfach eine Platine, auf die man einen Arduino-nano aufstecken kann - da kann man dann ein Enc28J60-Ethernet-shield für Nano dazwischenstecken. Ist halt etwas teuerer als die Variante 'Mini Pro + ENC28J60-breakoutboard'...

Gruß,

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

ntruchsess

Zitat von: fhainz am 16 März 2014, 10:03:10Nach dem heutigem Update spielen meine Stromzähler verrückt. Anscheinend überlebt der internal-pullup den neustart nicht.

Danke für die Rückmeldung, habe ich grade behoben

Gruß,

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

cyberdwarf

Bei mir funktioniert alles, danke!
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)