Hauptmenü

Firmata+Arduino

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

Vorheriges Thema - Nächstes Thema

T.ihmann

Ich habe im Forum / Internet mal nach Watchdog gesucht, sollte ja wohl mit


#include <avr/wdt.h>
wdt_enable(WDTO_2S);
wdt_reset();


gehen. Die letzte Zeile muß irgendwie in den Loop hinein. Nur an welche Stelle im Beispiel Sketch. Könntet Ihr hier noch mal eine Tipp geben. Ich möchte keine Dauer-Reboot-Schleife auf meinen Arduino flashen..

blueberry63

Hallo,

melde mich kurz zurück. Ich hatte wohl einen Verkabelungsfehler, aber jetzt ist der Nano im Netz  :D, sogar mit der Configurable Firmata. Nun würde ich gerne das Servo-Modul verwenden, aber dafür ist der Speicher wohl zu klein. Hat jemand einen Tip, was die Minimal-Konfig. ist, wenn man das Servo-Modul via Ethernet verwenden möchte?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

T.ihmann

Was willst Du denn verwenden, Nano mit UipEthernet Digital in/out, OneWire, Servo hat bei mir eine Größe von 29528 Bytes ohne DHCP. Kannst noch UDP rauskonfigurieren, spart auch noch etwas. Es sollte immer etwas Platz sein, sonst funktioniert UipEthernet manchmal nicht

Tobias

Hallo Norbert,

das erneute flashen mit verbundenem DTR hat funktioniert, danke!
Der Arduino holt sich jetzt seine IP per DHCP und connected erfolgreich zu FHEM. Das FRM Device habe ich vorher definiert. SUPER!!!

Jetzt scheitere ich allerdings an folgendem WIKI Satz:
ZitatWenn man das FRM device schon definiert hat, findet man im laufenden FHEM unter den FRM-attributen einen Eintrag: 'onewire-pins', dieser listet alle Pins auf, die OneWire unterstützen:
Wo finde ich 'onewire-pins'?? Habe mir die Attribute von meinem FRM-Device und neuem OWX-Device angeschaut aber keinen derartigen Eintrag gefunden. Auch in der Commandref zum FRM steht nichts.

Btw: Wenn ich von diesem Schaltplan ausgehe, und ich schließe OneWire an D2 an, muss dann als OWX-Pin 32 angegeben werden?
Kann ich zb. auch analoge Pins angeben? zb. A0 (PC0/ADC0)
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

blueberry63

@t.ihmann,

ich habe die temporäre Lösung aus diesem Thread auf einem UNO realisiert:

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

Es geht hier darum, mittels RC-Switch und eines angepassten Servo-Moduls über RF433 handelsübliche Funksteckdosen zu steuern. Das funktioniert bei mir auch ganz gut.

Z.zt. sind Norbert und Michael dabei, das Ganze in Firmata zu implementieren. Ich warte also besser auf dieses Ergebnis. Vielleicht passt diese Version ja dann auf einen NANO.

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Tobias

#305
Zusätzlich zu meinen obigen Fragen noch etwas:
mir ist aufgefallen das der ENC den Link (grüne/gelbe LED) oft einfach beendet, sich vorher aber auch nicht per DHCP angemeldet wird. Kann das sein das sich der ENC einfach abschaltet (die rote LED auf der Platine bleibt aber an) wenn keine IP erhalten wird? Versucht dann der Arduino nach einem bestimmten TimeOut die Verbindung neu herzustellen?
Ich habe die Pins INT/RESET/WOL/CLKOUT des ENC nicht angeschlossen.

Weiterhin ist mir aufgefallen das an einigen Stromversorgungen der Arduino zwar "an" geht, aber anscheinend keine Arbeit aufnimmt, die grüne LED blinkt nicht wie sonst. Ebenfalls geht zwar die rote LED des ENC auf der Platine an, aber kein NetzwerkLink, grüne LED, bleibt aus.
Ist das ganze Konstrukt sehr sensibel bzgl Stromversorgung? Gibt es da ähnliche Erfahrungen?
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

ntruchsess

Die Link-LED ist unabhängig davon, ob eine IP-addresse vergeben wurde oder nicht. Die zeigt ausschließlich die physikalische Verbindung an. Die ConfigurableFirmata ruft regelmäßig Ethernet.maintain() auf. Damit sollte sie eigentlich solange versuchen per DHCP eine Adresse zu bekommen, bis sie schließlich eine hat. Eine vernünftige Stromversorgung des Arduinos bzw. ENC28J60 ist unverzichtbar. Auch wenn es in der Regel schon funktioniert - wenn Du den ENC28J60 über den 3,3V Spannungsregler des Arduinos versorgst, kann es knapp werden, der bringt ja nur recht wenig Strom, je nachdem, was der Arduino sonst noch so macht.

Gruß,

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

Tobias

Norbert, Danke!
Hast du auch hierfür noch eine Antwort?
ZitatWo finde ich 'onewire-pins'??
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

ntruchsess

Zitat von: Tobias am 16 Mai 2014, 13:12:52
Wo finde ich 'onewire-pins'??

in den Internals des FRM-devices
while (!asleep()) {sheep++};

Tobias

Komisch. Die gab es bei mir nicht... ich teste heute Abend noch einmal

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

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

Wzut

@Tobias , war bei dir bei firmware_version mit der Ausgabe Schluss ?
Wenn ja, keine Sorge das passiert immer dann wenn man viel auskommentiert
( bei mir werden die ganzen Pin Zeilen auch nicht angezeigt , hat aber keinen Einfluss auf die Funktion ) 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Tobias

@wzut: korrekt
Ist aber eine dumme Eigenart :(

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

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

Tobias

#312
Ich wieder....
Habe im Sketch nur 1wire aktiviert sowie dhcp ausgeschaltet. Der Sketch ist gute 25kb groß bei 32kb flash.
In meinen Internals sehe ich die onewirePins nicht... siehe screenshot

nach besserer Verkabelung mit stabiler Stromversorgung läuft nun das Gespann warscheinlich stabil...

Habe einen DS2408 und einen DS2438 an Arduino Pin D9 angeschlossen.
define owxFRM owx 9

Leider bekomme ich im Log nur folgendes und die 2 Devices werden nicht per autocreate angelegt :(
2014.05.16 19:48:12 3: querying Firmata Firmware Version
2014.05.16 19:48:12 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_06
2014.05.16 19:51:05 1: OWX: 1-Wire bus owxFRM: interface Firmata detected in MyFRM
2014.05.16 19:51:18 1: OWX: 1-Wire devices found on bus owxFRM ()
2014.05.16 19:51:21 1: OWX: 1-Wire devices found on bus owxFRM ()


Edit: Wenn ich den Arduino vom Netz nehme, verabschiedet sich FHEM :(
Can't call method "packet_onewire_request" on an undefined value at FHEM/lib/Device/Firmata/Platform.pm line 779.
2014.05.16 23:10:07 1: Including fhem.cfg


Nach dem "ungeplanten" Neustart ist FRM wieder im listening Mode. Den Arduino habe ich heute morgen wieder eingeschaltet und es wurde wieder automatisch connected.

Edit2: kann das sein das ich am 1wirePin einen Pullup einziehen muss? Muss mir mal einen 4k7 besorgen....
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

Wzut

ja einen 4,7K zwischen Busleitung und 5V habe ich auch überall drin , ohne geht nichts.
Nur noch das OneWire Modul drin ? Irgendwo hatte Norbert mal geschrieben was mindestens drin sein muss bin mir im Moment nicht sicher ob der FirmataScheduler nicht auch noch gebraucht wird.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

T.ihmann

Firmata Scheduler habe ich auskommentiert, lief auch ohne