Hallo Ich möchte Daten (RS232) über WiFi(Hausnetz) auf eine Internet Server speichern. Es gibt doch die NET IO Platinen von Pollin. Gibt es damit eine möglichkeit Daten die von der RS232 Schnittstelle auf eine Webserver mit fester IP zu senden und dort die Daten dann in einer Datei zu speichern. Wenn jemmand was weiß wäre ich mal wieder Dankbar. Gruss Franz
Franz Suahnein schrieb: > Gibt es damit eine möglichkeit Daten die von der RS232 Schnittstelle auf > eine Webserver mit fester IP zu senden und dort die Daten dann in einer > Datei zu speichern. Ja, im Prinzip muss dein Client nur eine HTTP Anfrage stellen. Je nach Datenmenge eben GET (wenig Daten) oder per POST (mehr Daten). Auf der Serverseite, wird die Anfrage dann verarbeitet und die empfangen Daten gespeichert (Datei, Datenbank, etc.). Hierfür bietet sich z.B. PHP an. Das ist sicherlich auch mit einfachen Mikrocontrollern zu lösen (z.B. AVR-NET-IO), wobei ich persönlich immer GANZ stark davon abrate. Kleine 8 Bit Mikrocontroller sind dafür einfach nicht angedacht und die vielen Netzwerk-Projekte erachte ich eher als Proof-of-Concept und nicht als brauchbare Lösungen. Für solche Anwendungen eignen sich Linux-Boards wie z.B. ein Raspberry Pi, ein GNUblin, etc. viel mehr, weil sie ein ausgereiften Netzwerk-Stack mitbringen und auch Ressourcen-technisch nicht am Limit arbeiten. Nicht nur ist man viel flexibler (DNS, DHCP, NTP, etc.) und schneller am Ziel, sondern man ist zu alledem auch standardkonform in Bezug auf viele RFCs. Bei Eigenentwicklungen bzw. Bastellösungen auf AVR Basis schaut das alles anders aus, insbesondere auch, weil HTTP TCP als Transportprotokoll erfordert. Zwar gibt es auch (W)LAN Module, die ziemlich viel in Hardware erledigen, allerdings sind diese preislich kaum billiger und bei Weitem nicht so universell einsetzbar. Mit freundlichen Grüßen, Karol Babioch
> Kleine 8 Bit Mikrocontroller sind dafür einfach nicht angedacht und > die vielen Netzwerk-Projekte erachte ich eher als Proof-of-Concept Richtig. Zum Lernen und Basteln ist das allerdings trotzdem interessant. Auf meiner Homepage findest Du ein Projekt, wo ich mit AVR Mikrocontroller eine Internet Anbindung realisiere. Da solltest Du Dir den Source Code der Alarmierung via Email ansehen. Ein einfacher HTTP Client funktioniert ähnlich, der Code wäre daher eine gute Kopiervorlage. http://stefanfrings.de/avr_io/index.html
Fertige WiFi Module mit seriellem Port wären: Lantronics WiPort http://www.lantronix.com/device-networking/embedded-device-servers/wiport.html Digi Connect Wi-Me http://www.digi.com/products/wireless-wired-embedded-solutions/solutions-on-module/digi-connect/digiconnectwime Da kannst Du einen AVR dran anschließen, der die Daten paketiert und per HTTP Protokoll sendet. HTTP musst Du schon selbst implementieren, das ist jedoch nicht schwer. Kompliziert wird es erst, wenn ein Proxy mit Authentisierung dazwischen steht. Leider sind beide Module für Privatkunden nirgends kaufbar - glaube ich. Bitte korrigiert mich, falls das nicht stimmt.
Ich bin gerade vom Stuhl gefallen. Reichelt will dafür 160 Euro!!!! http://de.rs-online.com/web/p/product/436664/?grossPrice=Y&cm_mmc=DE|Shopping-_-Google+PLA-_-Digi+International|Single+Board+Computer-_-436664&kpid=&kpid=436664&istCompanyId=52a64cda-ce26-40e3-8e0a-3440bb7baaa2&istItemId=xirratptw&istBid=tztx
Karol Babioch schrieb: > Ja, im Prinzip muss dein Client nur eine HTTP Anfrage stellen. Je nach > Datenmenge eben GET (wenig Daten) oder per POST (mehr Daten). HTTP ist bei weitem nicht die einzige Methode, vieleicht für Einsteiger einfach aber alles andere als Recourcenschonend. Eine einfache TCP-Verbindung mit einem passenden Server auf dem Rechner reicht und belastet dem AVR nicht so. >[...] Hierfür bietet sich z.B. PHP an. Genau, auch die moderne HArdware muß ja irgendwie ausgelastet werden ;-) > > Das ist sicherlich auch mit einfachen Mikrocontrollern zu lösen (z.B. > AVR-NET-IO), wobei ich persönlich immer GANZ stark davon abrate. Warum? Ein 386SX33 konnte schon gut mit dem Netzwerk umgehen, warum sollte ein MEGA1284/20 mit ähnlicher Rechenleistung das nicht schaffen? Es geht hier ja nicht darum eine Gigabitstrecke auszulasten, für die gewünschte Anwendung sind 10MBit mehr als ausreichend. > Kleine 8 Bit Mikrocontroller sind dafür einfach nicht angedacht Wer sagt das? Wozu braucht man sonst 128kB bei einem 8bitter? > Für solche Anwendungen eignen sich Linux-Boards wie z.B. ein Raspberry > Pi, ein GNUblin, etc. viel mehr, [...] Vor allem verbrauchen sie mehr Strom. Ein Raspberry Pi liegt bei etwa 5 Watt, ein Mega328 mit ENC28j60 läuft ohne Energiesparmaßnahmen mit 0,5Watt. Man muß nicht auf jedes Probelm mit einem ARM draufschlagen nur weil er alles abdecken kann.
stefan us schrieb: > Ich bin gerade vom Stuhl gefallen. Reichelt will dafür 160 > Euro!!!! > > http://de.rs-online.com/web/p/product/436664/?gros... Und RS ebenso :-)
der Beitrag "Wlan2Serial Modul für 5 euro" ist scheinbar genau das was du suchst.
>> der Beitrag "Wlan2Serial Modul für 5 euro" ist scheinbar genau das was >> du suchst. Definition von scheinbar ist ganz oben in dieser Liste: http://de.wikipedia.org/wiki/Scheinbar
Oder ein HLK-RM04. Dafür gibt es OpenCPN Software, so das Du ggf auch noch was eigenes draufprogrammieren kannst. Kostet zwar 8 Euro, dafür ist die Entwicklungsumgebung usw. verfügbar.
stefan us schrieb: > Richtig. Zum Lernen und Basteln ist das allerdings trotzdem interessant. Klar, nur ist das vermutlich nicht der richtige Einstieg für jemanden, der mit dem Ganzen anfängt und überhaupt erst Fragen zur Realisierbarkeit stellt. Für einen Fortgeschrittenen ist das sicherlich ein interessantes Hobbyprojekt, welches mehrere "Gebiete" miteinander verbindet. Allerdings neigen auch viele Hobby-Bastler dazu, sich als Netzwerk-Experten ausgeben zu müssen, nur weil sie mit ihrem Arduino ein ping abgesetzt haben. Wie gesagt: Ich halt ein solches Projekt für akademisch äußerst sinnvoll. Man lernt sicherlich eine Menge über die Struktur und den Aufbau eines Netzwerk-Stacks. Allerdings halte ich es für wenig praktikabel und auch nicht für ein gutes Einstiegsprojekt in die Welt der Mikrocontroller und der vernetzten Sensorik. stefan us schrieb: > HTTP musst Du schon selbst implementieren, das > ist jedoch nicht schwer. Je, nachdem was du unter schwer verstehst. Sicherlich machbar, aber im Wesentlichen absolut unnötig und auch nicht ganz trivial. stefan us schrieb: > Ich bin gerade vom Stuhl gefallen. Reichelt will dafür 160 Euro!!!! Ich bin da gar nicht so verwundert, da ähnliche Module in der Vergangenheit schon weit über 50 Euro gekostet haben. Dafür erhält man dann schon fast zwei Linux-Boards bzw. ein Linux-Board mit sämtlichen Equipment. Oliver R. schrieb: > HTTP ist bei weitem nicht die einzige Methode, vieleicht für Einsteiger > einfach aber alles andere als Recourcenschonend. Dafür aber standardisiert und gerade auf Seiten des Servers gibt es eine Menge Werkzeuge, welche einem das Leben vereinfachen. > Eine einfache > TCP-Verbindung mit einem passenden Server auf dem Rechner reicht und > belastet dem AVR nicht so. Wenn man nicht krampfhaft am AVR festhält, dann ist das auch kein Problem. Ansonsten sind Eigenentwicklungen gefragt. Klar, kann man sich per Copy & Paste erste Socket-Implementierungen zusammenschustern, aber sobald es robust und vernünftig funktionieren soll wird es schon nicht ganz so einfach. Von Sicherheit ist dann noch nicht einmal die Rede. SSL/TLS ist mit einem 8-Bit AVR nahezu unmöglich und nicht die Mühe wert. Oliver R. schrieb: > Warum? Ein 386SX33 konnte schon gut mit dem Netzwerk umgehen, warum > sollte ein MEGA1284/20 mit ähnlicher Rechenleistung das nicht schaffen? Es geht weniger um das Schaffen, sondern viel mehr um die erforderliche Arbeit. Zumindest für Linux gibt es schon alles was man braucht (Netzwerkstack, wget/curl, openssl). Selbst wenn man sehr gewissenhaft arbeitet, alles dokumentiert und versioniert, ist das gut innerhalb von einem Nachmittag zu schaffen. Bei einem AVR fängt man im Grunde bei 0 an, und kommt auch nicht weit darüber hinaus. Oliver R. schrieb: > Es geht hier ja nicht darum eine Gigabitstrecke auszulasten, für die > gewünschte Anwendung sind 10MBit mehr als ausreichend. Um die Geschwindigkeit geht es mir hier gar nicht - sondern um eine saubere und modulare Architektur auf Seiten der Software. Und das ist meinem AVR nicht machbar. Oliver R. schrieb: > Wer sagt das? Wozu braucht man sonst 128kB bei einem 8bitter? Du willst mir also sagen, dass du in die 128 kB einen voll ausgereiften Netzwerk-Stack bekommst? Inklusive flexiblen Möglichkeiten zur Filterung von Paketen, DNS, DHCP, NTP, usw. usf.? Das halte ich für eine gewagte These. Und überhaupt ist das absolut sinnlos, wenn man nicht an der akademischen Übung selbst interessiert ist, da es alles bereits dutzendfach gibt und gut getestet ist. Oliver R. schrieb: > Vor allem verbrauchen sie mehr Strom. Klar und sofern das ein K.O.-Kriterium ist, muss man sich nach Alternativen umsehen. Bis dahin aber, ist man mit einer solchen Lösung bei Weitem besser bedient als mit einer AVR Frickellösung, die bei gutem Wetter im eigenen Netzwerk geht und sich nur übers Neuflashen der Firmware "konfigurieren" lässt. Oliver R. schrieb: > Man muß nicht auf jedes Probelm mit einem ARM draufschlagen nur weil er > alles abdecken kann. Sehe ich genau so. Allerdings darf man genauso wenig an 8-Bit Mikrocontrollern festhalten, und darauf beharren, dass diese im Prinzip alles können. Für manche Aufgaben (Netzwerk, USB) gibt es eben bessere Optionen und sofern nichts dagegen spricht (Energieverbrauch z.B.), sollte man auch davon Gebrauch machen, anstatt sich das Leben selbst schwer zu machen. Übrigens: Das mit der Sicherheit sollte man nicht unterschätzen. Selbst, wenn die Werte an sich absolut unkritisch sind, ist eine Authentifizierung ist absolut sinnvoll, sodass nicht jeder irgendwelche Werte abliefern kann bzw. deine Datenbank mit Müll vollschreibt. Um Manipulationen durch MiTM Angriffe vorzubeugen ist auch eine Transportverschlüsselung sinnvoll, und schon bist du beim Thema SSL/TLS. Während das mit einem Linuxboard 0 Mehrwert auf Seiten des Clients darstellt (https:// anstatt http:// aufrufen), ist es ein absolutes Ausschlusskriterium für Eigenentwicklungen auf AVR-Basis. Oder will jemand tatsächlich eine SSL/TLS Bibliothek samt Zertifikatverwaltung implementieren? Da haben bekanntermaßen sogar die großen Open-Source Projekte (openssl, gnutls) und auch Apple und Microsoft ihre Probleme mit. Viel Spaß dabei ;). Mit freundlichen Grüßen, Karol Babioch
:
Bearbeitet durch User
Karol Babioch schrieb: > Du willst mir also sagen, dass du in die 128 kB einen voll ausgereiften > Netzwerk-Stack bekommst? Inklusive flexiblen Möglichkeiten zur Filterung > von Paketen, DNS, DHCP, NTP, usw. usf.? Das halte ich für eine gewagte > These. Jetzt verlangst Du aber etwas viel. Einen Filter mag man ja grad noch zum Stack zählen aber Anwendungen wie DNS, NTP, HTTP gehören sicher nicht dazu. Und ja, das funktioniert. Eine reine Datenerfassung braucht nicht viel und selten eine Filtermöglichkeit. Mit der Verschlüsselung hast Du natürlich recht, im industriellen Umfeld oder bei Internetbeteiligung kommt das nicht mehr in Frage. Es ist keine Lösung zu zusammenklicken und zurücklehnen aber die reine Weiterleitung von erfassten Daten über ein Netzwerk schafft ein 8bitter noch ganz gut. Ganz davon abgesehen, daß viele zusammengeklickte Linuxanwendungen im Netzwerkbereich grad ein Problem mit den vorgefertigten Modulen haben. Der Entwickler kennt sein Produkt nicht mehr komplett und jeder Bug in einem Modul schlägt plötzlich riesen Wellen weil es von jedem zweiten benutzt wurde und unüberschaubar viele Geräte mit einem Schlag für das gleiche Problem anfällig sind und nicht gepatch werden.
Oliver R. schrieb: > aber Anwendungen wie DNS, NTP, HTTP gehören sicher > nicht dazu. Und wieso nicht? Das sind zwar Anwendungen, die nicht mehr im Kernel anzusiedeln sind, ohne die aber ein netzwerkfähiges Gerät nicht besonders nützlich ist. Oliver R. schrieb: > Eine reine Datenerfassung braucht nicht viel > und selten eine Filtermöglichkeit. DNS wäre schon ganz schön nett, oder kannst du garantieren, dass dein Server IMMER unter der gleichen IP zu erreichen ist? DHCP kann auch nicht schaden ... Oliver R. schrieb: > aber die reine Weiterleitung > von erfassten Daten über ein Netzwerk schafft ein 8bitter noch ganz gut. Und was verstehst du bitte unter ganz gut? Es ist möglich, ja, aber es ist unnötig kompliziert. Solche Dinge erfordern einfach einen ausgereiften Netzwerk-Stack, und die kommen i.d.R. im Verbund mit einem Betriebssystem. Und all das ist zwar prinzipiell möglich, aber halt nicht wirklich praktikabel. Oliver R. schrieb: > Ganz davon abgesehen, daß viele zusammengeklickte Linuxanwendungen im > Netzwerkbereich grad ein Problem mit den vorgefertigten Modulen haben. Ja, das ist ein ganz grundsätzliches Problem. Allerdings heißt das im Umkehrschluss ja nicht, dass jede Eigenentwicklung sicher ist. Ganz im Gegenteil: Viele Eigenentwicklungen sind aus sicherheitstechnischer Sicht absoluter Schrott, weil sich die Entwickler nicht mit der Thematik auskennen. Ich denke der Einsatz von fertiger und ausgereifter Software, die von einer ganzen Industrie aus Akademikern und "Bösewichten" aktiv auf Schwachstellen hin untersucht wird und daher ab und an gepatcht werden muss, ist weitaus sinnvoller als die Eigenentwicklung von Software, welche nie jemand testet und demnach Sicherheitslücken gar nicht erst bekannt werden, obwohl diese definitiv auch existieren. Mit freundlichen Grüßen, Karol Babioch
Karol Babioch schrieb: > Und wieso nicht? Ich halt mich da etwas an die OSI-Definition bzw das TCP/IP-Layer-Model, der IP-Stack umfasst normal nur Internet- und Transport-Layer. Das Application-Layer ist zu umfangreich und zu vielfältig um noch zu Stack zu gehören. Inwieweit DHCP und DNS sinnvoll sind hängt vom Anwendungsfall ab aber so kompliziert sind die nicht, daß man die nicht noch unterkriegt. Karol Babioch schrieb: > Es ist möglich, ja, aber es ist unnötig kompliziert. Aber es ist überschaubar. Du kannst auf alle Funktionen verzichten, die Du nicht brauchst und schleppst keinen Balast mit. Und wenn Dein Stack einmal steht kannst Du den genauso wie die Linuxroutinen immer wieder verwenden. Karol Babioch schrieb: > Viele Eigenentwicklungen sind aus sicherheitstechnischer Sicht absoluter > Schrott Das stimmt jetzt aber unabhängig von der verwendeten Plattform. Karol Babioch schrieb: > ist weitaus sinnvoller als die Eigenentwicklung von Software, > welche nie jemand testet und demnach Sicherheitslücken gar nicht erst > bekannt werden Prinzip Apple, es gibt keine Viren weil sie sich mangels Verbreitung nicht lohnen ;-) *duck'n'run*
Oliver R. schrieb: > Ich halt mich da etwas an die OSI-Definition bzw das TCP/IP-Layer-Model, > der IP-Stack umfasst normal nur Internet- und Transport-Layer. Bitte? In beiden Modellen (und auch im DoD-Modell) ist (mindestens) eine Schicht den Anwendungen gewidmet und damit auch Teil des Stacks. Man muss halt zwischen Komponenten, die im Kernel integriert sind, und Anwendungen unterscheiden. So oder so macht aber ein netzwerkfähiges Gerät ohne Anwendungen keinen Sinn. Oliver R. schrieb: > Inwieweit DHCP und DNS sinnvoll sind hängt vom Anwendungsfall ab Dann beschreib mir mal einen Anwendungsfall aus der Praxis wo das nicht notwendig ist. Klar kann man Hostnamen, IP Adressen, Netzmasken und Gateways hardcoden und seine Pakete immer an die gleiche IP Adresse senden. In der Praxis dürfte das aber kaum die Regel sein. Oliver R. schrieb: > Aber es ist überschaubar. Das kommt ganz darauf an wie genau man es nimmt. Wenn man sich wirklich an alle Standards und RFCs halten will, dann gilt es auch Sachen zu implementieren, die man nicht unbedingt braucht, und ggf. als "unnötig" erscheinen. Eine Eigenentwicklung auf Basis eines sauberen und modularen Konzept hingegen wird allein schon aufgrund der vielen Module "unübersichtlich", zumindest für jemanden, der nur kurz drüber schaut. Oliver R. schrieb: > Du kannst auf alle Funktionen verzichten, die > Du nicht brauchst und schleppst keinen Balast mit. Soviel Balast ist es im Falle von Linux gar nicht. Klar gibt es immer irgendwelche Standardsoftware, die viel zu mächtig und umfangreich für den eigenen Anwendungsfall ist. Das birgt immer die Gefahr von potentiellen Konfigurations- und Sicherheitsproblemen. Es gibt aber auch für alles ziemlich kleine und leichtgewichtige Alternativen, die nicht weniger gut getestet sind. Oliver R. schrieb: > Das stimmt jetzt aber unabhängig von der verwendeten Plattform. Eben, aber gerade bei o.g. Anwendungsfall gibt es bei einem Linux-Board nicht allzuviel Eigenentwicklung zu leisten. Bei der "Implementierung" eines Skripts, welches regelmäßig aufgerufen wird, Daten erfasst und per wget/curl eine Anfrage an den Zielserver stellt ist weitaus weniger fehleranfällig als eine Eigenentwicklung eines Netzwerkstacks. Und auch weitaus weniger zeitintensiv. Oliver R. schrieb: > Prinzip Apple, es gibt keine Viren weil sie sich mangels Verbreitung > nicht lohnen ;-) *duck'n'run* ;). Mittlerweile ist Apple aber auch nicht mehr das was es einmal war - nämlich klein und unbedeutend und die Ganoven haben sich darauf eingestellt. Wir sind uns doch in vielerlei Hinsicht einig: Ich verstehe nur nicht, warum du dich hier dazu berufen fühlt etwas zu verteidigen, obwohl es nicht Wert ist verteidigt zu werden. Ja, vieles kann prinzipiell auch mit einem AVR (oder vergleichbaren Controllern) gelöst werden. Allerdings macht das nur aus akademischer Sicht Sinn. In der Praxis ist es weitaus sinnvoller (aus sicherheitstechnischer Sicht, Kosten-Nutzenfaktor, Wartbarkeit, Updatebarkeit, Features) ein Linux-Board zu verwenden. Und du darfst mir glauben, wenn ich sage, dass selbst ich als Linux-Enthusiast Anwendungsfälle sehe, in denen Linux fälschlicherweise verwendet wird. Ich bin definitiv niemand, der dazu neigt jedem und überall zu Linux-Boards zu raten. Andererseits bin ich aber auch niemand der krampfhaft versucht seinen Horizont auf die Welt der AVRs zu beschränken, so wie du es hier versuchst. Der Fragesteller hat keine Energie- bzw. andere Kriterien genannt, welche ein Raspberry Pi bzw. Beaglebone Black & Konsorten ausschließen würden. Und die gegebene Aufgabe ist mit dem Einsatz solcher Boards definitiv leichter und besser zu lösen als mit einem 8 Bit AVR bei 0 anzufangen. Letztendlich geht es hier im Forum bei Fragen ja auch immer irgendwo darum, dem Fragesteller das richtige Werkzeug/Mittel zu empfehlen. Ansonsten könnten wir gleich dazu übergehen jedem zu raten seinen Prozessor auf Basis von Transistoren selbst zu bauen oder mit Hilfe von kosmischen Strahlen den Flash-Speicher zu beschreiben, weil es prinzipiell möglich ist. Mit freundlichen Grüßen, Karol Babioch
:
Bearbeitet durch User
Karol Babioch schrieb: > In beiden Modellen (und auch im DoD-Modell) ist (mindestens) eine > Schicht den Anwendungen gewidmet und damit auch Teil des Stacks. Dann mußt Du aber auch das Data Link- und das Physical-Layer zum Stack zählen, die sind auch teil der Modelle. Damit wird Dein Stack aber groß ... Karol Babioch schrieb: > Dann beschreib mir mal einen Anwendungsfall aus der Praxis wo das nicht > notwendig ist Lange nicht jedes Netz braucht DNS und DHCP Server. Grad erst gehabt: Videoanlage mit Lichtsteuerung, ein Rechner in der Leitstelle, Rechner zur Aufzeichnung im Keller und Netzwerkschaltmodule verteilt auf dem Gelände. Die Module sind alle paar Tage ausgestiegen, beim Sniffen im Netz fallen DNS-Anfragen an einen nichtexistierenden Server auf. Aussage von Hersteller war: Da läuft ein Linux drauf und 'das Syslog läuft voll', installieren sie einen DNS-Server. Also noch ein Rechner um die Wünsche der Schaltmodule zu befriedigen? Das Wago-IO läuft jetzt stabil ohne DNS. Karol Babioch schrieb: > Ich verstehe nur nicht, warum du dich hier dazu berufen fühlt etwas > zu verteidigen, obwohl es nicht Wert ist verteidigt zu werden. Mir liegt nur die Pauschalaussage 'das geht nicht, das taugt nichts, nimm Linux dafür da ist alles dabei' nicht. Beim aktuellen Trend überall SOCs mit Linux reinzuklatschen und alles ans Internet zu hängen weil es so bequem ist haben selbst große Hersteller schon den Überblick verlohren. Ich denke, das sollte, wo möglich, vermieden werden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.