AVR-Net IO mit Firmata/FRM

Begonnen von ntruchsess, 20 November 2013, 11:10:58

Vorheriges Thema - Nächstes Thema

ntruchsess

Zitat von: Rohan am 31 Januar 2013, 14:31:12Bei mir kam umgehend die Frage auf, ob dies nicht eine Alternative zu den AVR-Net-IOs sein kann.

Mittlerweile gibt es die nötigen Libs um Arduino-sketches auf dem AVR-Net-IO laufen zu lassen (avr-netino), ich wollte mal abfragen, wie der Bedarf ist, die Firmata/FRM-lösung damit zu nutzen? Im Prinzip gibt es die Software dazu ja schon, meine UIPEthernet-lib bräuchte nur ein paar zusätzliche Zeilen, um die SPI-konstanten für das Board passend zu setzen, dann sollte das laufen. Ich hab nur keinen AVR-Net-IO um das auszuprobieren, aber wenn es jemand brauchen könnte, würde ich die 20 EUR mal ausgeben (über einen gesponsorten NetIO würde ich mich aber auch freuen ;-) )

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

betateilchen

Zitat von: ntruchsess am 20 November 2013, 11:10:58aber wenn es jemand brauchen könnte, würde ich die 20 EUR mal ausgeben (über einen gesponsorten NetIO würde ich mich aber auch freuen

Schick mir Deine Adresse per email hier über das Forum. Bei mir liegt das Ding ohnehin nur ungenutzt im Schrank.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

ntruchsess

email ist unterwegs, danke schonmal  :)
while (!asleep()) {sheep++};

Puschel74

Hallo,

ich hab noch einen AVR-NET-IO hier rumliegen und würde mich als Tester zur Verfügung stellen - sofern du dir das mit mir zutraust  8)
Anbieten kann ich den original Atmega32-18PU oder einen Atmega 644-20PU.
Ein mySmartUSB light ist ebenso vorhanden wie die nötige Software um die Firmware zu kompilieren (auf dem RasPi) und zu flashen (unter Windows).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ntruchsess

prima, dann können wir ja loslegen, wenn ich den Net-IO von Betateilchen hier liegen habe.

Der mySmartUSB sollte zum flashen genügen. Ich habe selber einen AVR-Dragon, mit dem könnte man auch 'on-chip-debuggen'. Der Atmega32 wird sicher reichen um die auf Digital/Analog-IO plus 1-Wire abgespeckte ConfigurableFiramata für ENC28J60 laufen zu lassen - passt ja auch auf einen Nano drauf.

Gruß,

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

ntruchsess

so, der NetIO ist heute angekommen, noch mal vielen Dank an Udo (Betateilchen)!

dann schau ich mir jetzt mal an, wie man das mit den netino-libraries als Arduino benutzen kann.

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

ntruchsess

kleiner Zwischenstatus:
netino ist geflashed, UIPEthernet-beispiele gehen auch schon :-)
Jetzt kann ich mich an die Boardspezifischen Anpassungen der Firmata machen. Da fehlen ein paar Macros in der Boards.h

Eigentlich gar nicht schlecht das Teil - zwar nicht so aufgeräumt wie die aktuellen SMD-Arduinos, dafür aber mit soliden Anschlüssen. Und preislich ist das Teil ja auch nicht uninteressant. Wenn die EthernetFirmata drauf läuft, dann wird's mal wieder Zeit für einen Wiki-eintrag :-)

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

Wzut

Wie schauts denn aktuell mit dem Projekt aus ? Besteht noch Hoffnung demnächst meinen NetIO unter Firmata laufen zu lassen oder soll ich lieber den nächsten Arduino bestellen ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ntruchsess

#8
Hallo Jürgen,

Hatte leider keine Zeit, das zu dokumentieren, war aber nicht schwer zum laufen zu kriegen. Eigentlich war es zu einfach zum dokumentieren ;-)

Installier Dir die netino. Anleitung zum Bootloader brennen auf dem NetIO etc. liegt dort im Wiki. Im Prinzip brauchst Du nur die core-files - EtherCard, LiquidCristal und RM12 kannst Du löschen (oder lassen...)

Dann hast Du den NetIO als neues Board in der Arduino-IDE.

Dazu noch die UIPEthernet.

Dann kannst Du die ConfigurableFirmata praktisch schon draufspielen. Wenn ich mich richtig erinnere ist in den Core-files SS passend definiert, so dass das IS_PIN_SPI()-macro funktionieren müsste. (Hab damals die UIPEthernet auch auf die SS-konstante als Default umgestellt, da ist also nix anzupassen). Ggf an der Stelle noch die Pins, die schon 'fest vergeben' sind auf IGNORE setzten (hab ich jetzt nicht im Kopf, ob bzw. welche das waren - siehe dazu den NetIO-schaltplan).

Wegen dem Seriellen Anschluss: Entweder Du hast noch einen Rechner, der sowas hat (am einfachsten, wenn sowas noch da ist), oder besorgst Dir einen richtigen USB/RS232-Wandler (mit 9-poligem DSub-Stecker), oder (ab billigsten, wenn man keine echte Serielle Schnittstelle mehr hat) besorgst Dir eine FTDI-232 USB-UART-Platine von eBay, ziehst den MAX232 des NetIO aus der Fassung und steckst den UART-adapter mit ein paar Breadboard-steckkabeln direkt an den passenden Pins der MAX232-IC-fassung an (Dazu muss man natürlich Schaltpläne lesen können, ansonsten bleibt Alternative 1 und 2). Auto-reset ist verzichtbar, man kann auch direkt nach dem Drücken von Upload in der IDE mit der anderen Hand den NetIO resetten.

Und jeden erfolgreichen Schritt brav mitschreiben und anschließend ins Wiki stellen, sonst geht es Dir wie mir - es läuft und keiner weiß warum ;-)

Wenn du Fragen hast, frag einfach - ich kann besser programmieren oder im Detail beraten, als saubere Anleitungen schreiben.

Gruß,

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

Wzut

Danke für das Update. Ja mein PC ist wie ich so alt das er noch eine echte serielle Schnittstelle hat :) Der Autoreset will ich trotdem drin haben, einen 100nF an zwei Pins zu löten tut nicht weh - habe mit der einfachen Lösung schon gute Erfahrung auf dem Steckbrett mit einem nackten Atmega32p gemacht.
Mir war vor allem wichtig das der Ethernetpart der Firmata schon darauf läuft. Achso, die letzte von dir veröffentliche Version war doch die V2.05 ?   bzw die komplett Version die Ende Feb mit ROTENC zusammen kam ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ntruchsess

Aktuelle Links:

ConfigurableFirmata_v2.05
ConfigurableFirmata v2.06 (mit ROTENC)
UIPEthernet Master (muss mal wieder ein Release machen, sind schon ein paar Fixes seit 1.06 reingekommen)

Viel Erfolg,

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

Wzut

erster Zwischenstand : Der NetIO läuft unter Firmata und hat eine serielle Verbindung zu FHEM
Leider ist mein ATmega644 noch für einen anderen Test verbaut so das ich mit dem Original ATmega32 testen musste, dazu waren folgende Änderungen nötig :
Boards.h
// Sanguino
war : #elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__
ist : #elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega32__)

Servo.cpp
static void initISR(timer16_Sequence_t timer)
war : #if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__)
ist : #if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__)|| defined(__AVR_ATmega32__)

Beim Thema Ethernet habe ich aktuell das Problem das ich mit den 32K Speicher nicht auskomme, d.h. ich muss fast alles auskommentieren damit es a auf den ATmega32 passt und b auch nachher eine TCP/IP Verbindung zu FHEM aufgebaut wird. Gab es da nicht mal irgendwelche Tipps wie man den Speicherhunger der UIP Lib etwas im Zaum halten kann ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ntruchsess

Zitat von: Wzut am 20 März 2014, 07:45:38Gab es da nicht mal irgendwelche Tipps wie man den Speicherhunger der UIP Lib etwas im Zaum halten kann ?

Lasse den UDP-code durch Setzen von UIP_CONF_UDP auf 0 in der uipethernet-conf.h weg. Das spart knapp 5kb flash. Braucht natürlich eine feste IP für den Arduino und FHEM, da DNS und DHCP nicht ohne UDP geht.

UIP_CONF_MAX_CONNECTIONS kannst Du im Prinzip auch auf 1 Setzen, die Firmata macht ja nie mehr als eine Client-verbindung auf, das spart etwas RAM.

Bei den Defines in Board.h muss man schon etwas spezifischer sein, ein ATmega644 hat signifikante Unterschiede zum ATmega32 (nicht nur Flash+RAM, z.B. externe Interrupts sind auch unterschiedlich).

Gruß,

Norbert

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

Inputsammler

Hallo zusammen,

Werde mich heute mal an meinen NetIo von Ethersex auf Firmata umflashen.

Hat sich eigentlich seit dem letzten Eintrag hier evtl neue Anpassungen ergeben.

Danke
Gruß Gerd
Rpi's und Bpi's und Hw von Dirk und locutus
CCU2,F20,Ks300,1-Wire,Homematic usw ...
vitodens 300 & IstrkrM372 auslesen über USB und FHEM
RUHE IN FRIEDEN AHA1805 RIP Mallorca +29.08.16
I miss you and your Family H.H.L.L.

Wzut

Besorge dir auf jeden Fall die aktuelle Firmata Version von Norbert ( 2.06 ? ) und wenn du mit dem Atmega32 arbeiteten willst spare Speicherplatz wo es nur geht ( siehe mein Post vom März 2014).
Ich betreibe den NET-IO + Firmata seit letzten Sommer, allerdings mit dem ATmega644, da mit dem knappen freiem Speicher des ATmega32 kein stabiler Dauerbetrieb möglich war.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Bjoern777

Hallo zusammen,

wie schauts mit der Stabilität aus? Habt ihr den netio umgebaut?
Gab oder gibt noch die Probleme mit der Spannungsversorgung und mit dem Stromverbrauch?

Hatte den Artikel gefunden:
http://www.st0ne.net/blog/2012/05/10/pollin-avr-net-io-verbesserungsmasnahmen/

Gruss Björn

Lorenz

Bei mir läuft der Net-IO nun 1 Jahr ohne Probleme, ich habe aber gleich zu Anfang die Verbesserungen im Bereich der Spannungsversorgung umgesetzt.

LG
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

Wzut

Zitat von: Lorenz am 26 Mai 2015, 23:20:10
Bei mir läuft der Net-IO nun 1 Jahr ohne Probleme
Dito , LED ist raus , zusätzliche Kondensatoren rein und beide Regler (5V & 3,3V) gegen Traco DC-DC Wandler ersetzt, Versorgunsgspannung : 14Volt Wechselspannung von einem 50 Jahre alten primitiven Klingeltrafo.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Joerg

Hallo,

habt ihr für das NETIO vielleicht ein .hex file für einen ATMEGA32 ?

Schöne Grüsse

Joerg