Go Down

Topic: Arduino und das Internet - wirklich die richtige Mischung? (Read 1 time) previous topic - next topic

MrGlasspoole

Hi da drausen,

so nun schreib ich auch mal in den Deutschen Bereich :)

Jetzt wo ich loslegen wollte stelle ich fest das das alles gar nicht so geht wie ich es mir vorgestellt habe.
Meine Probleme betreffen die Verbindung zwischen Arduino und der großen weiten Welt.
Bevor ich mir den Arduino und so weiter zugelegt habe, habe ich natürlich einiges gelesen.
Tja ich sah das sehr viele Daten logen und Dinge von unterwegs steuern und eben viel mit
dem Arduino im web gemacht wird. Ich dachte also das gewisse Dinge wohl ganz einfach sind
bzw grundsätzlich vorhanden und schon 1000 fach gemacht wurden.
Ich habe also nicht weiter drüber nachgedacht...

Nun stelle ich fest das FTP so gut wie wohl gar nicht genutzt wird und auch das SSL ein Problem ist.
Bei dem was viele so alles mit dem Arduino in Netz laden dachte ich: FTP kein Problem.
Aber fast alle senden die Daten per HTTP POST.

Meine Idee war das ganze auf SD zu speichern (csv) und in gewissen Abständen auf den Webspace hoch zu laden.
Denn was ist wenn die Internetverbindung mal nicht geht, der Router ausfällt usw... , dann hat sich was mit
zb Loggen von Sensoren.
Eine einzige FTP Lösung habe ich im ganzen web gefunden (bzw hier). Aber der Login wird plain text gesendet.
SFTP muß es ja nicht sein aber FTPS wäre schon nicht schlecht.

Nun habe ich ein Verzeichnis angelegt in das die Daten sollten und eine php liegt die die Daten aus meinen csv
in die Datenbank schreibt. Natürlich soll das niemand aufrufen bzw Google nicht sehen können.
Also basic access authentication aufs Verzeichnis. Und schon das nächste Problem.
HTTPS geht wohl nicht mit dem Arduino. Mir ist klar das der Atmega nicht den ganzen Verkehr verschlüsseln/entschlüsseln
kann, aber zumindest soweit kommunizieren das Passwort senden geht müsste drin sein.

Bitte nicht falsch verstehen. Arduino ist toll, aber wie kann es sein das so viele mit ihm im Web spielen
und kaum FTP genutzt wird und Passwörter plain text gesendet werden?
Was ist mit den ganzen Smartphone Steuerungs-Spielereien die manche machen?

Muss ich auf Himbeerkuchen oder Hundeknochen umsteigen?
Was übersehe ich?

uwefed

Wenn Du Linux kannst dann Himbeerkuchen.
Der Arduino (UNO oder MEGA) ist einfach nicht dafür vorgesehen um größere Datenmengen zu verschieben.
Ich hab zuwenig Erfahrung ob der Due das bewerkstelligen könnte.

Grüße Uwe


MrGlasspoole

Nun ja, mir ging es mehr um den Sicherheitsaspekt.
Datenmäßig fallen ja bei ein paar Sensoren nur ein paar KB an als csv
auf einer SD. Andere loggen ja 20 Sensoren jede Sekunde und schicken sie ins Web.

Einen habe ich gefunden der hängt nen key an die URL und nur mit diesem
key nimmt die Seite es an. Nur was nützt das ohne HTTPS wenn das alles
plain text läuft und man alles mitloggen kann.

Und 500 Zeichen lange URLs alle 2 Sekunden zum Server finde ich auch nicht grade
effizient. Erstens nicht dafür gemacht und unnötige Belastung der Leitung bzw
Energieverschwendung.

jurs


Was übersehe ich?


Aktuelle PCs haben über 2000 MB RAM-Hauptspeicher, ein Arduino UNO mit Atmega328 hat 2 KB = 0,002 MB RAM-Speicher.

Das ist weniger als ein Zehntel dessen, was vor 25 Jahren ein C64 mit geladenem Basic-Interpreter als freien RAM gemeldet hat.

Lädst Du beim Arduino UNO ein 20 Zeichen langes Passwort in den RAM-Speicher, schon ist 1% des RAM-Speichers voll.

Für eine FTP-Verbindung benötigst Du Datenverbindungen auf wenigstens zwei Ports:
Port 20 =>TCP DATA Port
Port 21 =>TCP Control Port

Können die Ehternet-Shields überhaupt "zwei Verbindungen gleichzeitig" erstellen, aufrecht erhalten und bedienen?
Und wie viel RAM ginge wohl dabei drauf?

Für HTTP-POST benötigst Du jedenfalls nur eine einzige Verbindung und nur einen Port.

Wenn Du umfangreiche Internetdaten austauschen möchtest, übergibst Du die Daten lokal besser erstmal vom Mikrocontroller an einen "richtigen Computer", wie einen Android-Rechner, einen Raspberry oder einen PC, und läßt den Datenaustausch mit dem Internet einen richtigen Computer machen, der mehr Rechenpower und vollem auch "mehr RAM-Speicher" hat.

Oder schickst die Daten per HTTP-Post an einen Rechner im Internet. Mit der Basic HTTP-Authentication wie sie im Apache-Webserver standardmäßig enthalten ist und was auch mit einem Arduino machbar ist, kannst Du problemlos auf "geschützte Verzeichnisse" eines Webservers zugreifen, ohne ein Passwort im Klartext übertragen zu müssen, und verschlüsseln müßtest Du Deine Daten dann über einfache Bitschiebereien dann schon selbst.

MrGlasspoole

FTP geht. Gibts hier im playground.

Es geht ja auch gar nicht um großen Datenaustausch. Mal davon abgesehen das viele
diesen betreiben.

Mit übersehen meinte ich: Bedienung von Dingen im Haushalt per Smartphone und eben Daten
upload den andere machen. Wo ist der Zugriffsschutz bei diesen?

Da Twittert die Katze und die Heizung wird ein und ausgeschaltet von Unterwegs...
Und jeder mit Tablet vorm Haus kann sämtliche Passwörter mitschreiben?

Go Up