Pages: 1 [2]   Go Down
Author Topic: Flash over IP  (Read 2429 times)
0 Members and 1 Guest are viewing this topic.
Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nick Gammon (aktiver Forum-Teilnehmer) hat sowas ähnliches schon mal gemacht, allerdings nicht über die serielle Schnittstelle, sondern als Programmer (ICSP). Aber grundsätzlich sollte das für Dich keinen grossen Unterschied machen.

https://github.com/nickgammon/arduino_sketches/blob/master/Atmega_Hex_Uploader/Atmega_Hex_Uploader.ino
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi pylon,

ja, das hatten wir vor kurzem schon mal in einem Thread.
Aber dies beschreibt einen Upload von einer SD-Karte und nicht über Ethernet.
Logged

Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Aber dies beschreibt einen Upload von einer SD-Karte und nicht über Ethernet.

Jetzt kombinierst Du das mit einem kleinen Webserver-Upload, wie z.B.

https://github.com/ovidiucp/TinyWebServer

und Du hast die Möglichkeit, Deine Updates einfach per Webformular hochzuladen.
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jetzt kombinierst Du das mit einem kleinen Webserver-Upload, wie z.B.
https://github.com/ovidiucp/TinyWebServer
und Du hast die Möglichkeit, Deine Updates einfach per Webformular hochzuladen.

Ok, hört sich gut an. Hab mir das ganze mal bei github gezogen.
Aber so ganz ans Ziel komm ich mit dem Upload nicht.
- Ich hab den Sketch FileUpload verwendet.
- Dann noch die Flash4.0-Lib "installiert"
- Den Sketch an mein Netzwerk angepasst, und dann auf nen Uno mit Ethernet-Shield geladen.
- Nach dem Start sieht es eigentlich erfolgreich aus:
Console:
Code:
Free RAM: 601
Setting up SD card...
Setting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.

Aber wie soll das mit dem File-Upload jetzt funktionieren?
Da steht zwar, man soll "curl" verwenden
Quote
You can now test uploading a file using curl:
*Note that since the handler in the source looks like this:
{"/upload/" "*", TinyWebServer::PUT, &TinyWebPutHandler::put_handler }
you must ensure that the path '/upload/' is in your submitted URL
curl -0 -T index.htm http://my-arduino-ip-address/upload/
Aber damit hab ich noch nie was gemacht.

Und dann fürchte ich, dass mir wohl bald der Speicher zu klein wird. Das FileUpload hat jetzt 26k. Wenn ich dann noch den Hex-Uploader dazuwerfe, dann wirds wohl eng.
Vllt. kann man das FileUpload ja noch etwas abspecken, aber dazu muss ich es erst mal verstehen. Und da ich nicht so der Profi bin, klappt so was erst, wenn ich es mal am Laufen habe.
Logged

Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK. klappt jetzt.
Muss man auch erst mal wissen, dass curl nicht in die Browserzeile eingetippt werden muss, sondern daß es ein Kommandozeilen-Tool ist. smiley-kiss smiley-kiss smiley-kiss

Logged

Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Und dann fürchte ich, dass mir wohl bald der Speicher zu klein wird. Das FileUpload hat jetzt 26k. Wenn ich dann noch den Hex-Uploader dazuwerfe, dann wirds wohl eng.
Vllt. kann man das FileUpload ja noch etwas abspecken, aber dazu muss ich es erst mal verstehen. Und da ich nicht so der Profi bin, klappt so was erst, wenn ich es mal am Laufen habe.

Ich glaube, sowohl der FileUpload (bzw. der TinyWebServer) als auch der Hex-Programmer lassen sich noch tüchtig verkleinern, sollte also hinzukriegen sein.
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich glaube, sowohl der FileUpload (bzw. der TinyWebServer) als auch der Hex-Programmer lassen sich noch tüchtig verkleinern, sollte also hinzukriegen sein.

Ja, mag sein, aber nicht für mich.  smiley-sad
Ich hab schon einiges mit Arduino und Webserver (aus den Arduino-Beispielen)  gemacht, aber diesen Code kann ich einfach nicht nachvollziehen.
Ich hab zwar schemenhaft verstanden, was die einzelnen Teile machen, aber mir kommt es vor, als sei das in einer "anderen" Sprache geschrieben.
Da fehlts mir einfach an C-Kenntnissen.
Logged

Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe gestern abend mal den Hex-Uploader soweit zusammengestript, dass er nur noch knapp 14 kB gross ist. Jetzt steht noch der Ersatz der SdFat-Library im Uploader oder der SD-Library im TinyWebServer an und  das Entfernen der unbenötigten Webserver-Teile (GET, POST und DELETE werden nicht benötigt), dann sollte das Ganze in die 32kB des UNO passen. Wäre es vertretbar, den Bootloader wegzulassen, damit mehr Platz für den Sketch übrig bleibt?
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wäre es vertretbar, den Bootloader wegzulassen, damit mehr Platz für den Sketch übrig bleibt?
Müßte denn nicht der Sketch dann der Bootloader werden? Der Sketch muss ja auf dem Arduino bleiben, damit man den erneut flashen kann, wenn mal ein anderes HEX-File übertragen werden kann.
Außer der Sketch ist auch immer Teil des neuen Sketches der übertragen wird.
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Außer der Sketch ist auch immer Teil des neuen Sketches der übertragen wird.

Nein, dieser Arduino wird immer nur als Programmer für einen anderen Arduino eingesetzt. Siehe weiter oben im Thread.
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, das hatte ich übersehen. Ein Arduino ist dann quasi der Service-Prozessor des eigentlichen Projekt-Arduino.
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe gestern abend mal den Hex-Uploader soweit zusammengestript, dass er nur noch knapp 14 kB gross ist. Jetzt steht noch der Ersatz der SdFat-Library im Uploader oder der SD-Library im TinyWebServer an und  das Entfernen der unbenötigten Webserver-Teile (GET, POST und DELETE werden nicht benötigt), dann sollte das Ganze in die 32kB des UNO passen. Wäre es vertretbar, den Bootloader wegzulassen, damit mehr Platz für den Sketch übrig bleibt?

Hey cool  smiley-grin
Bootloader braucht man bei dem "Prorammer-Uno" ja eh nicht.
Logged

Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

Pages: 1 [2]   Go Up
Jump to: