Attiny über "Funk" programmieren

OP #3834557
Lesenswert?

Hallo,

ich habe immer mal wieder kleinere Beleuchtungsprojekte, die ich nicht 
direkt mit dem PC verbinden kann aufgrund dessen, dass sich die Objekte 
> 5m vom PC entfernt stehen.

Gibt es eine gute Möglichkeit, AVRs über Funk/WLAN zu programmieren? 
Derzeit nutzte ich den DIAMEX AVR ISP Programmer, mit dem soweit sehr 
zufrieden bin.

Ich hab in meiner Elektronikkiste noch einige Teile ausgegraben, aber 
scheinbar nichts passendes.
Zuerst dachte ich, es dürfte mit den alten devolo dLan duo gehen. Diese 
scheien aber trotz USB-B Buchse nicht für sowas geeignet zu sein. Eine 
weitere möglich würde einer meiner Raspberrys vielleicht gehen. Habe da 
noch nichts passendes gefunden, ein USB Gerät über das Netzwerk zur 
Verfügung zu stellen, damit das Atmel Studio darauf Zugriff hat. Wäre 
vermutlich die einfachste der Möglichkeiten.

Alternativ besitze ich auch noch einen Arduino YUN. Nutze aber nicht die 
Arduino IDE über irgendwelche Plugins. Andere Tipps?
#3834565
Lesenswert?

Stefan S. schrieb:

>  Andere Tipps?

Aus einer ganz anderen Ecke.
Wenn du noch Platz in den Tinys hast, könnte man sich auch über einen 
Bootloader Gedanken machen.
Die Asuro werden zb über einen Bootloader programmiert, der 
interessanterweise per Infrarot angesprochen wird. Ist im Grunde einfach 
nur eine Infrarot-Verlängerung einer seriellen Schnittstelle.
Muss aber auch nicht so kompliziert sein. Ein serielles Kabel vom PC zur 
Lampe ist auch so schnell eingestöpselt.
Du musst dich halt auch mal von der Vorstellung lösen, dass die 
Programmübertragung nur über das Atmel Studio erfolgen kann.
OP #3834587
Lesenswert?

Einen extra Bootloader wollte ich mir ersparen. Die Attinys haben so 
schon einen bescheidenenen Flash ;)

Das mit dem Kabel ist das Problem, das würde quer durch den Raum hängen 
und es müsste aufgrund der länge wieder verstärkt werden. Am besten wäre 
es, wenn ich die USB Schnittstelle des Rasp irgendwie meinem PC zur 
Verfügung stellen kann.
Gast #3834591
Lesenswert?

Mach die Beleuchtung einfach direkt mit dem Raspberry, dann brauchste 
den Tiny gar nicht. Den R-PI kannst ja einfach per ssh programmieren. 
Oder, wenn du unbedingt einen dicken R-PI zur Beaufsichtigung des 
kleinen Tiny abstellen willst, man kann auch avrdude auf dem R-PI 
installieren...
#3834602
Lesenswert?

kommt halt drauf an..

1. Beim absolut freiem Programmieren wäre nur ein Serial-bootloader 
interessant den Du dann über IR oder Serial over Bluetooth verbinden 
könntest, Nachteil-> hierfür wäre ein exaktes aus und wiedereinschalten 
erforderlich um den Bootloader dann im boot (Reset) zu erwischen.

2. Ein zweiter Avr, wobei es einfacher wäre gleiche einen Chip mit 
Seriellem Bootloader zu wählen... Nachteil-> muss angesteckt werden.

3. Habe einen Atmega328p den man via (BTM-222)Bluetooth als Programmer 
nutzen kann. (Arduino(optiboot Emu) over Bluetooth ISP) Nachteil-> muss 
angesteckt werden.

Insgesamt ist der Tiny dafür einfach nicht gemacht.. kommt drauf an 
welche Pins Du noch frei hast und wieviel Platz dabei bleibt.. kann man 
halt weiterspinnen bis zum miniusb bootloader wie beim Adafruit Trinket 
den man mit einem Lappie erreicht (kostet 2 shared Pins für den 
Bootloader)

Denke für die Aktion falscher Chip!
OP #3834612
Lesenswert?

Der Attiny hat zwar eine BT Verbindung zum PC, jedoch nur über Rx/Tx 
ohne DTR. Wenn das Programm einigermaßen steht, brauch ich da nicht mehr 
dran. Kommunikation läuft danach nur noch über BT.

Habe jetzt erst einmnal den Raspi mit Devolo Dlan dort oben inkl. 
Netzteil untergebracht. Werde nachher mal nachschauen, ob der AVR 
Programmer überhaupt mit dem System klar kommt. Alternativ könnte ich 
dann auch die interne SPI Schnittstelle des RPI nutzen. Auf 3V3 läuft 
der Attiny841 sowieso, da mein BT Modul keine 5V abkann. Habe diese 
HC-05/06 Module im Einsatz ohne diese Adapterplatine.
#3834708
Lesenswert?

Stefan S. schrieb:

> ohne DTR. Wenn das Programm einigermaßen steht,

Was heisst, wenn es einnigermassen steht?

Wenn du den Tiny so verbaust, dass du da nicht mehr vernünftig ran 
kommst, dann muss das Programm bereits 'einigermassen stehen'. Zu diesem 
Zeitpunkt macht man höchstens noch Kleinigkeiten. Und dann ist es auch 
egal, ob das dann ein wenig umständlicher ist.
OP #3835044
Lesenswert?

Karl Heinz schrieb:
> Stefan S. schrieb:
>
>> ohne DTR. Wenn das Programm einigermaßen steht,
>
> Was heisst, wenn es einnigermassen steht?
>
> Wenn du den Tiny so verbaust, dass du da nicht mehr vernünftig ran
> kommst, dann muss das Programm bereits 'einigermassen stehen'. Zu diesem
> Zeitpunkt macht man höchstens noch Kleinigkeiten. Und dann ist es auch
> egal, ob das dann ein wenig umständlicher ist.

Hallo Karl Heinz. Rankommen tu ich immer wieder. Da wird nichts 
vergossen oder zugemauert. Nur ist das eine "besch**" Ecke um mal eben 
neue Daten drauf zupacken. Da bekomm ich keinen Stuhl/Tisch hin für 
Laptop oder ähnliches.

Den ISP hab ich einzeln auf einen Stecker rausgeführt. Mir gehts mehr um 
ein wiederverwendbaren Funk/WLAN ISP Programmer. Kann sogar wie gerade 
nur Ethernet haben. Das wäre alles kein Problem.

Werde jetzt erstmal testen wie das mit dem Programmer + Raspi geht. Hab 
aber auch irgendwo schon gesehen, dass mit der Raspi auch als Programmer 
direkt genutzt werden kann. Das wäre optimal. Einfach eine kleine 
Adapterplatine auf die GPIOs der dann 1:1 mit der ISP Schnittstelle 
verbaut wird.

Werd mich nachher mal um die genauen Befehlssätze für avrdude kümmern. 
Nutzte eigentlich keine GUI am rasp. Sollte auch direkt über ssh Zugriff 
auf der Konsole gehen.
Gast #3835492
Lesenswert?

Stefan S. schrieb:
> Gibt es eine gute Möglichkeit, AVRs über Funk/WLAN zu programmieren?
> Derzeit nutzte ich den DIAMEX AVR ISP Programmer, mit dem soweit sehr
> zufrieden bin.

Ich würde das so lösen:
AVR 910 Programmer (Beitrag "AVR910 Programmer, Schaltplan, Layout, Firmware") 
mit RFD21733 (gibt es auch als DIP Modul) statt MAX232. Auf PC-Seite 
dann ein USB -> Serial (LVTTL) Adapter + weiteren RFD21733. Der RF21733 
ist eine konfiguriationslose Funkbrücke, kann also direkt mit allen 
gängigen Tools eingesetzt werden.

Alternativ (so habe ich dies mit verschiedenen Funkmodulen bereits 
implementiert): I2C EEPROM an den zu programmierenden AVR, einfaches 
Protokoll, das die Daten vom PC empfängt und im EEPROM speichert sowie 
einen Bootloader, der die Daten aus dem EEPROM liest und ins Flash 
schreibt. Direkt per Funk würde ich bei dieser Variante nicht 
programmieren, da der Bootloader-Bereich häufig zu klein ist, den 
Funk-Stack zu integrieren und die Gefahr besteht, dass bei Abreissen der 
Kommunikation der AVR tot ist.
#3835578
Lesenswert?

Stefan S. schrieb:
> Hallo Karl Heinz. Rankommen tu ich immer wieder. Da wird nichts
> vergossen oder zugemauert. Nur ist das eine "besch**" Ecke um mal eben
> neue Daten drauf zupacken. Da bekomm ich keinen Stuhl/Tisch hin für
> Laptop oder ähnliches.

Den Stuhl und den Tisch brauchst du ja nicht für den Laptop, sondern für 
dich selbst.

Wenn der Laptop aber noch irgendwie in die Ecke passt, kannst du dir den 
per Remote Desktop auf deinen Schreibtisch-PC holen.

mfg.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren