Hallo zusammen, seit einigen Jahren nutze ich kleine Controllersysteme zur Hausüberwachung oder zur Heizungssteuerung, die mir Statusmails senden und auch in der Lage sind, eMails zu empfangen. Als HW nutze ich dazu Arduino-Hardware (Mega oder zunehmend DUE) mit einem Wiznet W5100 oder W5500 Ethernetmodul, die ich über das Atmel-Studio in ANSI-C programmiere. Vor über einem Jahr hat aber auch der letzte meiner eMail Provider den unverschlüsselten POP3-Zugriff abgeschaltet. Und nur noch über SMTP2GO.COM kann ich unverschlüsselt versenden. Ich möchte nun zumindest bei den DUE-Versionen SSL/TLS nachrüsten. Nur, irgendwie bin ich dazu zu blöde. Suchen im Internet führten mich u.a. zu WolfSSL (GITHUB), finde mich da aber nicht zurecht bzw. kann die notwenigen Routinen nicht extrahieren Zu Blöde? Was brauche ich eigentlich? Soweit ich das verstanden habe, sendet mir der Mailserver nach Kontaktierung seiner URL und dem zugehörigen Port seinen Schlüssel. Den muß mein System nun mit einem eigenen Schlüssel „verknautschen“ und zurücksenden. (Die Verifizierung des Serverschlüssels lassen wir mal außen vor.) Dazu brauch ich "eigentlich" nur eine passende Routine. Die weitere Kommunikation findet mit den üblichen SMTP/POP3 Befehlen etc. statt (?). Die jeweilige Übertragung wird dazu verschlüsselt bzw. entschlüsselt. Dazu brauche ich also weitere zwei Routinen. Mehr doch wohl nicht? Was habe ich dabei mißverstanden bzw. übersehen? Wo finde ich die notwendigen Algorithmen oder gar Routinen dazu? Ich kaufe dazu auch gerne ein Buch. Oder stellt eine TLS-Implementierung auf einem Arduino-DUE zu hohe Anforderungen an die Leistungsfähigkeit des Controllers SAM3X8E ? Das Zwischenschalten eines Mailrelays (z.B. RasPI. mit Linux) ist wegen des Stromverbrauchs und der Systemgröße unpassend und wäre wie „mit Kanonen auf Spatzen schießen“. Danke für eure Tips.
Du brauchst AKTUELLE TLS-Standards. Die sind mit den aktuell geforderten Schlüssellängen schon heftig für einen Mikrocontroller, und es ist heftig komplexe Software. Veraltete Implementationen nützen Dir nichts, Du brauchst was aktuelles. Und die Anforderunegn steigen - von Jahr zu Jahr werden größere Schlüssellängen vorgeschrieben. Gehe mal davon aus, dass Du mit Deinem Arduino-Zeugs am Ende bist. Du bräuchtest etwas deutlich stärkeres - so wie ein Teensy 4.1 mit 600 Mhz Cortex M7 oder ein STM32H7 System mit 480 MHz, und dazu ein Komplettpaket mit RTOS und Bibliotheksunterstützung wie NuttX, Zephyr oder etwas anderem in dieser Größenordnung. Da gibts dann auch TLS-Support. Wenn Du Ver/Entschlüsselung aber nicht unbedingt brauchst, dann mach es doch ganz anders. Miete Dir einen kleinen VServer (z.B. bei NetCup ab 3.99€ pro Monat) und installiere Dir dort einen eigenen Mailserver. Oder miete Dir Webspace und lasse da PHP-Skripte laufen, die mit Deinen Systemen über http oder nackte TCP-Verbindungen kommunizieren. Mit einem dieser Ansätze kannst Du bei Deiner bekannten Hard- und Software bleiben, musst dann eben halt zusätzliche Infrastruktur betreiben. Das ist dann halt so. fchk
:
Bearbeitet durch User
Hanns-Jürgen M. schrieb: > Das Zwischenschalten eines Mailrelays (z.B. RasPI. mit Linux) ist wegen > des Stromverbrauchs und der Systemgröße unpassend Wenn Dein Router für OpenWRT geeignet ist, kannst Du darauf stunnel installieren. Dorthin verbindest Du Dich dann unverschlüsselt, und zum Mailprovider setzt es auf TLS um.
Frank K. schrieb: > so wie ein Teensy 4.1 mit 600 Mhz > Cortex M7 oder ein STM32H7 System mit 480 MHz Oder einen ESP32, in deren Software-Framework (ESP-IDF) ist TLS fix und fertig integriert. Spart auch das Kabel und den W5000 dank WiFi (aber die ESP32 haben auch Ethernet integriert). Hanns-Jürgen M. schrieb: > (Die Verifizierung des Serverschlüssels lassen wir mal > außen vor.) Ohne diese Verifikation ist die ganze Verschlüsselung aber vollkommen nutzlos. Oder du lässt das mit der E-Mail ganz bleiben und sendest deinen Status stattdessen per MQTT oder auch Rest-API an einen Server, es dürften sich genug fertige Systeme finden die dir das dann schick präsentieren. MQTT+TLS ist bei den ESP32 fertig integriert, muss man nur aufrufen. Hmmm schrieb: > Wenn Dein Router für OpenWRT geeignet ist, kannst Du darauf stunnel > installieren. Da doch besser direkt einen Mailserver installieren, welcher dann forwardet.
Frank K. schrieb: > Zeugs am Ende bist. Du bräuchtest etwas deutlich stärkeres - so wie ein > Teensy 4.1 mit 600 Mhz Cortex M7 oder ein STM32H7 System mit 480 MHz, Bullshit. Ich kann Dir versichern das ein 100MHz Cortex M4 ausreicht um einen Webserver mit TLS laufen zu lassen. Für ein bischen SMTPS als Client langt der allemal. An den TO: ganz so einfach wie Du Dir das vorstellst ist das mit SSL/TLS nicht. Im Prinzip musst Du deinen Datenverkehr komplett durch den TLS Layer schicken. Eine fertige Implementierung davon für Mikrocontroller wäre zum Beispiel mbedTLS.
Oh, ich sehe gerade, daß meine Antwort vom 10.9. auf Eure Postings wohl verschluckt worden ist (habe wohl die falsche "Taste" gedrückt). Daher gekürzt: Danke für Eure Tips. Ein Mailversendung über meine Website mittels PHP muß ich noch testen; Ein Mailempfang ist damit aber nicht möglich. SSL/TLS mittels Controller: Ich habe nun einen ESP32 unter Nutzung der Library "ESP-Mail-Client" von mobizt unter der Arduino-Plattform dazu bringen können, eine Mail mit SSL/TLS zu versenden (SMTP) und abzufragen (IMAP). (Arduino-Plattform ist unerträglich langsam...). Leider ist damit der Programmspeicher des ESP über 90% belegt. Unglaublich.. Vielleicht werde ich eine andere Library checken (WolfSSL), mal sehen. Yogy
Hanns-Jürgen M. schrieb: > Leider ist damit der Programmspeicher des ESP über 90% belegt. > Unglaublich.. Vielleicht werde ich eine andere Library checken > (WolfSSL), mal sehen. Wie gesagt, das ESP-IDF Framework hat eine TLS-Library fix und fertig integriert. Muss man nur aufrufen.
Hanns-Jürgen M. schrieb: > Als HW nutze ich dazu Arduino-Hardware (Mega oder zunehmend DUE) mit > einem Wiznet W5100 oder W5500 Ethernetmodul, die ich über das > Atmel-Studio in ANSI-C programmiere. Hallo Hans Jürgen, mein einfacher kurzer Tipp an dich. Bei Arduino Hardware und Netzwerk. Setze alles auf MQTT auf. Sprich -- Deine Sensoren melden (publish) den Zustand an den MQTT Broker. Deine Aktoren bestellen (subscribe) die Commandos. Dann hast du ein N to N Netzwerk. N Anzahl Daten Sender N Anzahl die die Daten empfangen. Die gleiche Daten an N Anzahl Datenverarbeiter. Das ganze kannst du dann auf einen nano-pi neo packen. 1 Watt 40mm x 40mm Linux quadcore Linux Rechner. zum Beipiel mit FHEM, IO-Broker, NodeRed. Gerade bei NodeRED kannst du Grafisch die Daten nehmen, einmal per Mail versenden, gleichzeitig per Telrgramm zusenden und zur Kontrolle in eine Datenbank schicken. Wenn du mehr Info brauchst ... sende mir eine PN Gruß Thomas
Hanns-Jürgen M. schrieb: > Ein Mailversendung über meine Website mittels PHP muß ich noch testen; > Ein Mailempfang ist damit aber nicht möglich. Wieso sollte das nicht gehen? Es gibt komplette Webmailinterfaces, die in PHP geschrieben sind, und die mit IMAP(S) mit einem entsprechenden Mailserver kommunizieren können. Ein Beispiel ist roundcube: https://roundcube.net/
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> Leider ist damit der Programmspeicher des ESP über 90% belegt. >> Unglaublich.. Vielleicht werde ich eine andere Library checken >> (WolfSSL), mal sehen. > > Wie gesagt, das ESP-IDF Framework hat eine TLS-Library fix und fertig > integriert. Muss man nur aufrufen. Ob es dann weniger Speicher belegt? BTW: Mit der ESP-IDF habe ich mich (noch) nicht auseinandergesetzt. Aber, mal sehen.
Thomas K. schrieb: > Hanns-Jürgen M. schrieb: >> Als HW nutze ich dazu Arduino-Hardware (Mega oder zunehmend DUE) mit >> einem Wiznet W5100 oder W5500 Ethernetmodul, die ich über das >> Atmel-Studio in ANSI-C programmiere. > > Hallo Hans Jürgen, > > mein einfacher kurzer Tipp an dich. > Bei Arduino Hardware und Netzwerk. > Setze alles auf MQTT auf. Sprich -- Deine Sensoren melden (publish) den > Zustand an den MQTT Broker. Deine Aktoren bestellen (subscribe) die > Commandos. Dann hast du ein N to N Netzwerk. N Anzahl Daten Sender N > Anzahl die die Daten empfangen. Die gleiche Daten an N Anzahl > Datenverarbeiter. > > Das ganze kannst du dann auf einen nano-pi neo packen. > 1 Watt 40mm x 40mm Linux quadcore Linux Rechner. > zum Beipiel mit FHEM, IO-Broker, NodeRed. > Gerade bei NodeRED kannst du Grafisch die Daten nehmen, einmal per Mail > versenden, gleichzeitig per Telrgramm zusenden und zur Kontrolle in eine > Datenbank schicken. > > Wenn du mehr Info brauchst ... sende mir eine PN > > Gruß Thomas Hallo Thomas, mit MQTT und HomeAssist habe ich mich vor 2..3 Jahren einmal auseinandergesetzt und das Ganze auch zusammen mit ESP8266/ESP32 etc zum Spielen gebracht. Alles ganz nett, aber ich brauche einen dedizierten MQTT Server. Solange das alles auf ein Haus/Grundstück beschränkt bleibt, ist das auch ganz toll, aber wenn die Sensor- und Actorelemente Hundert oder mehr km entfernt sind, geht das halt (bei mir) nicht, da ich noch kleine Möglichkeit gefunden habe, die Anschlüsse der "dt. Glasfaser" von außen zugänglich zu machen. Früher bei der Telekom / DSL mit DynDNS hatte das alles funktioniert. Aber danke für Deine Vorschläge und Mühen. Hanns-Jürgen aka Yogy PS: Ich verwende lokal ein eigenes Netzwerkprotokoll, Struktur ähnlich dem EIB
Harald K. schrieb: > Hanns-Jürgen M. schrieb: >> Ein Mailversendung über meine Website mittels PHP muß ich noch testen; >> Ein Mailempfang ist damit aber nicht möglich. > > Wieso sollte das nicht gehen? > > Es gibt komplette Webmailinterfaces, die in PHP geschrieben sind, und > die mit IMAP(S) mit einem entsprechenden Mailserver kommunizieren > können. > > Ein Beispiel ist roundcube: https://roundcube.net/ War mir unbekannt, werde ich mir ansehen. Danke für den Tip. Mit PHP habe ich mich zuletzt von ziemlich genau zwanzig Jahren beschäftigt, aus der Zeit gammelt bei mir auch ein abgestellter Apache Server in der Abstellkammer. Falls der noch funktioniert, kann ich das dort alles austesten, bevor es zu meinem Provider geht. Viele Grüße, Yogy
Hanns-Jürgen M. schrieb: >> Es gibt komplette Webmailinterfaces, die in PHP geschrieben sind, und >> die mit IMAP(S) mit einem entsprechenden Mailserver kommunizieren >> können. >> >> Ein Beispiel ist roundcube: https://roundcube.net/ > > War mir unbekannt, werde ich mir ansehen. Danke für den Tip. Mit PHP > habe ich mich zuletzt von ziemlich genau zwanzig Jahren beschäftigt, aus > der Zeit gammelt bei mir auch ein abgestellter Apache Server in der > Abstellkammer. Falls der noch funktioniert, kann ich das dort alles > austesten, bevor es zu meinem Provider geht. In den letzten 20 Jahren hat sich aber einiges an PHP getan. Du solltest dann mal ein aktuelles Linux installieren, damit Du das Zeugs dann nachher ohne Änderungen auf den Providerserver raufbekommst. fchk
Hanns-Jürgen M. schrieb: > Ob es dann weniger Speicher belegt? Ich weiß jetzt nicht wie viel Speicher dein ESP32 hat. Aber das IDF ist so ausgelegt dass noch genug Speicher übrig ist. Im Zweifelsfall hast du TLS dann doppelt im System... > BTW: Mit der ESP-IDF habe ich mich (noch) nicht auseinandergesetzt. Das Arduino Framework für ESP32 basiert ja auf IDF.
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> Ob es dann weniger Speicher belegt? > > Ich weiß jetzt nicht wie viel Speicher dein ESP32 hat. Aber das IDF ist > so ausgelegt dass noch genug Speicher übrig ist. Im Zweifelsfall hast du > TLS dann doppelt im System... > >> BTW: Mit der ESP-IDF habe ich mich (noch) nicht auseinandergesetzt. > > Das Arduino Framework für ESP32 basiert ja auf IDF. Hmm, also mein ESP32-Platinchen ist ein "DevKit" mit einem "ESP32 WROOM 32D" Meine Rumgugelei nach "email und ESP" landete ich immer wieder bei Arduino und das im Zusammenhang mit der erwähnten Library von mobizt. Daß SSL/TLS in der IDF enthalten iat, fand ich nirgendwo erwähnt, geschweige denn, wie sie aufzurufen ist. Da ich die Arduino Plattform für fürchterlich da langsam halte, werde ich mir wohl ohnehin eine andere EW-Plattform (von Espressif??) ansehen. Die kommenden langen Winterabende bieten sich dazu an. Und ja, ich habe von den ESPs und deren Philosophie (noch) keine Ahnung. Viele Grüße, Yogy
Hanns-Jürgen M. schrieb: > Hmm, also mein ESP32-Platinchen ist ein "DevKit" mit einem "ESP32 WROOM > 32D" Also 4 MiB flash. Wenig für einen ESP32 aber sollte lockerst reichen für TLS und Email. Hanns-Jürgen M. schrieb: > Meine Rumgugelei nach "email und ESP" landete ich immer wieder bei > Arduino und das im Zusammenhang mit der erwähnten Library von mobizt. Und wie wäre es mit einer generischen Embedded-Email-Library? Die muss ja nicht ESP-spezifisch sein. Hanns-Jürgen M. schrieb: > Daß SSL/TLS in der IDF enthalten iat, fand ich nirgendwo erwähnt, > geschweige denn, wie sie aufzurufen ist. Erster Google Treffer: https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/protocols/esp_tls.html Hanns-Jürgen M. schrieb: > Da ich die Arduino Plattform > für fürchterlich da langsam halte Ob deine E-Mail 7 Millisekunden früher oder später abgeschickt wird macht wohl kaum einen Unterschied. Die ESP32 sind sehr schnell, für eine gewöhnliche Smarthome-Anwendung kann das Arduino-Framework kaum zu langsam sein. Hanns-Jürgen M. schrieb: > werde ich mir wohl ohnehin eine > andere EW-Plattform (von Espressif??) ansehen. Deutlich schnellere Mikrocontroller als die ESP32 gibt es nicht außer ein paar Cortex-M7 oder Spezialisten wie TriCore - die aber wesentlich komplexer zu programmieren sind, weil die nicht so ein freundliches Rundum-Sorglos-Framework wie die ESP32 mit dem ESP-IDF haben. Aber wie schon erwähnt wurde, ist das mit Atomraketen auf Spatzen. Die ersten Computer, die SMTP unterstützten, hatten viel weniger Leistung als ein ESP32... Die ESP32 sind absolut prädestiniert für deine Aufgabe außer vielleicht du brauchst präzise analog-Hardware oder Ultra-Low-Power. Hanns-Jürgen M. schrieb: > Und ja, ich habe von den ESPs und deren Philosophie (noch) keine Ahnung. Die Philosophie ist: Billige Hardware, WiFi-Support, billig, Massiv Flash und Rechenleistung, billig, super einfache Programmierung dank umfassendem simpel zu nutzendem Framework (ESP-IDF) und außerdem sind sie auch noch billig.
:
Bearbeitet durch User
Hanns-Jürgen M. schrieb: > Was brauche ich eigentlich? Ein tls tunnel, ist am einfachsten. stunnel wurde schon genannt. Das läuft auch ohne OpenWRT auf so ziemlich jedem OS, für Windows gibts auch was mit Fenster, die Konfig geht aber auch dort über eine Textdatei. Desweiteren gibts ghosttunnel, tlstunnel.... Damit musst du keine neue Hardware kaufen. Du musst nur an deinen Arduinos die Emailaddresse ändern. Kein Gefrickel mit PHP oder Diensten von Dritten, kein Anmieten von Servern... Das ist die einfachste und schnellste Lösung. Und wenn mal wieder ne neue TLS Version fällig ist einfach stunnel udaten, an den Arduinos ändert sich nix.
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: > > Hanns-Jürgen M. schrieb: >> Da ich die Arduino Plattform >> für fürchterlich da langsam halte > Es geht nicht dabei um die Performance der Arduino-Plattform und nicht das Ergebnis. Kompilationszeiten im Minutenbereich sind heutzutage, zumindest fpr mich, nicht mehr akzeptabel. "Früher" zur guten alten Motorola EXORSET 30 Zeit und einem 6809 konnte "man" während der Kompilation Kaffee kochen, diesen trinken und die Toilette aufsuchen...
Als Espressif mit dem ESP8266 anfing gab es Zeitweise drei unterschiedliche konkurrierende SDK vom Hersteller. Keins davon wurde richtig zuende entwickelt, denn vorher wurde der erste ESP32 marktreif. Aus den vorherigen Ansätzen hat Espressif gelernt und und das viel bessere IDF für die ESP32 entwickelt. Anfangs wollte nan das auf den alten ESP8266 zurück portieren, aber daraus wurde nichts (zu wenig Speicher). Während dessen wurden die SDK von ESP8266 schwer vernachlässigt so dass die Arduino Commity aus Teilen von dem NonOS-SDK den Arduino Core für den ESP8266 bastelten. Dank zahlreicher Fehlerkorrekturen läuft der auch stabil. Beim ESP8266 ist daher Arduino meine erste Wahl. Die ESP32 würde ich lieber direkt mit dem IDF von Espressif programmieren.
:
Bearbeitet durch User
Hanns-Jürgen M. schrieb: > Kompilationszeiten im Minutenbereich sind heutzutage, > zumindest fpr mich, nicht mehr akzeptabel. Dann wird's schwierig. Sowohl das ESP-IDF als auch viele andere Frameworks brauchen derart lange zum kompilieren (natürlich nur initial und wenn man Framework-Einstellungen geändert hat). Dann musst du dir dein eigenes System manuell mit TLS-Libraries, IP-Stack und sonstigem Drumherum zusammenbasteln, aber ob das dann wirklich in <1min kompiliert kann man nicht garantieren. Ein minimales Zephyr-Setup könnte auf einem leistungsstarken PC schnell genug kompilieren, aber das ist (noch) nicht für ESP32 verfügbar. Du kannst versuchen ein Java-basiertes System zu nutzen (Android?), Java kompiliert sehr schnell. Oder ein System mit externem Netzwerk-Stack welcher per AT-Commands angesteuert wird, das ist ja dann fix und fertig kompiliert - bei den ESP32 geht das angeblich auch mit TLS. Hast halt dann einen Chip mehr.
:
Bearbeitet durch User
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> Kompilationszeiten im Minutenbereich sind heutzutage, >> zumindest fpr mich, nicht mehr akzeptabel. > > Dann wird's schwierig. Sowohl das ESP-IDF als auch viele andere > Frameworks brauchen derart lange zum kompilieren (natürlich nur initial > und wenn man Framework-Einstellungen geändert hat). Dann musst du dir > dein eigenes System manuell mit TLS-Libraries, IP-Stack und sonstigem > Drumherum zusammenbasteln, aber ob das dann wirklich in <1min kompiliert Da werden dann immerhin einige hundert Dateien compiliert. Das passiert aber auch immer nur beim ersten mal nach "make clean". Beim zweiten mal werden doch nur die Änderungen neu übersetzt. Das geht dann deutliche schneller. Kompilierzeiten über 1 Minute sind auch heute nix ungewöhnliches, beruflich habe ich z.B. mit OPC UA Stacks zu tun, da dauert ein kompletter Build locker mal 15 Minuten oder mehr, da sprechen wir von einer 5 stelligen Anzahl von Compileraufrufen. Spätestens bei C++ mit Templates brauchts dann richtig Zeit. Ich habe damit auch kein Problem, mein Arbeitsstil ist allerdings auch nicht ala Trial&Error jede kleinst Änderung zu übersetzen sondern strukturierter ranzugehen, da kanns sein, das nur einmal am ganzen Tag überhaupt compiliert wird. Ansonsten kann ich nur dringend Empfehlen auf Linux umzustellen. Aus eigener Erfahrung (Unser Build-System als auch die Compiler existieren in der gleichen Version unter Win und unter Linux) kann ich sagen das zwischen Linux und Windows locker ein Faktor 5 wenn nicht sogar noch mehr steht. Das hat verschiedene Gründe hängt aber vor allem mit dem Dateisystem zusammen. NTFS kann nicht so gut mit vielen kleinen Dateien (Was man halt bei C mit seinen vielen Headern nun mal hat) und auch die Zugriffsmuster vom GCC, der ursprünglich von Posix Systemen her kommt, passen wohl nicht so gut zum Windows. Die Visual C Compiler von Windows benutzt nicht ohne Grund Pre-Compilierte Headerdateien. (stdafx.h) Zum Schluss hilft natürlich auch ein vernünftiges Entwicklungssystem, hab hier das Glück von 12 Kernen mit HT und richtig viel RAM. Da parallelisiert das dann schön. Ich denke mal, das Hanns-Jürgen "make" auch so aufruft, das alle Kerne die sein System hat benutzt werden? (Bei mir "make -j24", bzw "make -j25", ich gebe immer einen mehr an)
Andreas M. schrieb: > NTFS kann nicht so gut mit vielen kleinen Dateien > (Was man halt bei C mit seinen vielen Headern nun mal hat) und auch die > Zugriffsmuster vom GCC, der ursprünglich von Posix Systemen her kommt, > passen wohl nicht so gut zum Windows. Man könnte natürlich auch die Partition, auf der die Sourcen herumliegen, mit einem anderen Dateisystem formatieren, neben FAT32 bietet sich da noch exFAT an. Beide dürften den Overhead von NTFS nicht aufweisen, und das bei FAT32 existierende Dateigrößenproblem sollte beim Gebrauch von Compilern auch nicht relevant sein (unter FAT32 kann eine Datei maximal 4 GByte groß werden). Wäre ja mal eine Untersuchung wert, wie die Buildzeiten sich dann verhalten.
Auf einer CPU mit nur zwei Kernen ist auch der Virenscanner eine erhebliche Bremse.
Harald K. schrieb: > neben FAT32 > bietet sich da noch exFAT an. Beide dürften den Overhead von NTFS nicht > aufweisen, LOL FAT ist doch noch schlimmer. NTFS kann wenigstens bei kleinen Dateien die Daten gleich mit in den Verwaltungsinformationen ablegen so dass nur ein Block gelesen werden muss. Um bei FAT eine Datei zu lesen, müssen drei verschiedene Stellen angeschaut werden: Der Directory-Eintrag, die FAT und die eigentlichen Datenblöcke.
Und warum ist dann NTFS so langsam, daß zur Verwendung von Linux geraten wird? Braten die besseren Fisch?
Andreas M. schrieb: > Das hat verschiedene Gründe hängt aber vor allem mit dem Dateisystem > zusammen. Ich hatte eher den Eindruck dass der Grund dafür ist, dass Linux schneller neue Prozesse starten kann als Windows, und zum kompilieren von C eben viele einzelne Compiler-Instanzen erstellt werden. Vielleicht hilft WSL...
Harald K. schrieb: > Und warum ist dann NTFS so langsam, daß zur Verwendung von Linux geraten > wird? Braten die besseren Fisch? Ganz einfach: Schnelleres Windows ist kein Business-Case für die Shareholder von M$.
Niklas G. schrieb: > Vielleicht hilft WSL... tut es, aber es ist tatsächlich das Filesystem was schneller ist.
Niklas G. schrieb: > Ich hatte eher den Eindruck dass der Grund dafür ist, dass Linux > schneller neue Prozesse starten kann als Windows Das auch, aber das Filesystem ist ist größte Bremse. Davon ist übrigens nicht nur der gcc betroffen. Mir fiel es zuerst mit Java (SAP Hybris) auf.
:
Bearbeitet durch User
J. S. schrieb: > Niklas G. schrieb: >> Vielleicht hilft WSL... > > tut es, aber es ist tatsächlich das Filesystem was schneller ist. Nicht nur das, auch Speicheroperationen und die Erzeugung von Prozessen sind unter Linux deutlich schneller.
Nun, das alles hilft mir (noch) nicht. Die SSL/TLS Arduino-Geschichte habe ich beiseite gelegt. Ich habe mich ein wenig bei Espressif umgesehen, um eine passende IDE zusammenzustellen (fertig gibt es wohl nichts). Ich fand da etwas mit Visual Code als Editor, doch beim Installieren der notwendigen Erweiterungen bekam ich dann die Meldung: Geht nicht auf meinem System. Das arbeitet bislang einwandfrei unter Windoof 7. Ein Upgrade auf 8...10..11 oder noch weiter kommt für mich unter keinen Umständen infrage. Ich habe damals (2013) bei Umstieg von XP auf 7 so viele Probleme erlebt, so daß ich mir zusätzlich einen XP-Rechner aufgebaut habe. (VMs waren nicht die Lösung). Zudem hasse ich das "Kacheldesign" und jegliche Überwachungsmethoden seitens der Gates-Bande. Also habe ich vorläufig alles auf Eis gelegt. Notfalls kann ich ja Arduino einsetzen. Ich werde mir wohl irgendwann eine neue Workstation mit LINUX zusammenstellen.
Hanns-Jürgen M. schrieb: > fertig gibt es wohl nichts Es gibt ein fertiges und gut funktionierendes Eclipse Plugin. Aber ob das unter Windows 7 funktioniert... Hanns-Jürgen M. schrieb: > Ein Upgrade auf 8...10..11 oder noch weiter kommt für mich unter keinen > Umständen infrage Dann bist du auf dich allein gestellt. Keiner unterstützt mehr derart alte Betriebssysteme. Arduino für ESP32 basiert ja auch auf dem ESP-IDF, da ist dann natürlich das TLS auch schon mit dabei.
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> fertig gibt es wohl nichts > > Es gibt ein fertiges und gut funktionierendes Eclipse Plugin. Aber ob > das unter Windows 7 funktioniert... Installation hat nicht funktioniert. Hängt wohl irgendwie mit Java zusammen, habe aber Version 1.8.0_421 > > Hanns-Jürgen M. schrieb: >> Ein Upgrade auf 8...10..11 oder noch weiter kommt für mich unter keinen >> Umständen infrage > > Dann bist du auf dich allein gestellt. Keiner unterstützt mehr derart > alte Betriebssysteme. Ja, ich weiß. Final Destination: LINUX > > Arduino für ESP32 basiert ja auch auf dem ESP-IDF, da ist dann natürlich > das TLS auch schon mit dabei. Das habe ich mitbekommen, deswegen auch die Suche nach einer neuen IDE. Das Thema brennt mir aktuell nicht auf den Nägeln. Zunächst muß ich mir einen weiteren Rechner für Linux konfigurieren
Hanns-Jürgen M. schrieb: > Final Destination: LINUX Achtung, auch da gibt es Updates und die verändern auch das Aussehen.
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> Final Destination: LINUX > > Achtung, auch da gibt es Updates und die verändern auch das Aussehen. Mag sein. Ich bin ein Gegner von Microsoft-Windoof und zudem den Gates Machenschaften. Von daher lebe ich künftig lieber mit Linux-Updates. Zudem gibt es ja mehrere graphische Oberflächen. Und ich fühle mich sehr wohl mit der Kommandozeile und dem Midnight-Commander. Ist alles viel schneller als die Mäuserutscherei (außer bei Graphic Programmen natürlich) Aber nochmals zum Thema. Ich hatte das bei meinem letzten Posting vergessen zu erwähnen. Es gibt da offenbar einen supertollen kleinen Baustein, der die Lösung aller SSL-Fragen bringen könnte: ATMEL ATECC508A Kennr hier jemand diesen Baustein bzw. hat schon damit gearbeitet?
Hanns-Jürgen M. schrieb: > ATMEL ATECC508A > > Kennr hier jemand diesen Baustein bzw. hat schon damit gearbeitet? Davon abgesehen, dass der NRND ist: Der implementiert nicht das TLS. Das musst du immer noch auf dem Mikrocontroller haben, inklusive der Verschlüsselungsalgorithmen (AES etc). Dieser Chip (und verschiedene ähnliche Produkte) sind nur dazu da, das TLS noch sicherer zu machen, indem die Schlüssel besonders sicher abgelegt werden. Das macht die TLS-Implementation also noch komplizierter. Die TLS-Implementation auf einen separaten Chip auszulagern macht keinen Sinn, weil man die auch einfach per Software dazubauen kann, genau wie es z.B. beim ESP-IDF schon fix und fertig gemacht ist. Dann kann man es auch später noch aktualisieren. Ironischerweise unterstützt das ESP-IDF den ATECC608A, den Nachfolger des ATECC508A, um die Schlüssel abzulegen, aber die eigentliche TLS-Implementation bleibt natürlich auf dem ESP32. Wie gesagt kann man einen ESP32 auch per AT-Firmware betreiben und somit dessen integrierte TLS-Lösung von "außen" nutzen, das entspricht dann einer Auslagerung der TLS-Funktionalität ohne dass man die Software selbst kompilieren müsste. Aber letztendlich ist es auch nur ein Mikrocontroller. Also statt des ATECC508A einen ESP32 nehmen, die fertige AT-Firmware drauf flashen und von einem beliebigen Mikrocontroller aus per UART ansteuern und du hast dein TLS fertig. Dazu gibt es übrigens auch Äquivalente für Mobilfunk/LTE statt WiFi, die genauso per AT-Commands TLS machen können, falls das interessant ist. Niklas G. schrieb: > Oder ein System mit externem Netzwerk-Stack > welcher per AT-Commands angesteuert wird, das ist ja dann fix und fertig > kompiliert - bei den ESP32 geht das angeblich auch mit TLS. Hast halt > dann einen Chip mehr. Hanns-Jürgen M. schrieb: > Mag sein. Ich bin ein Gegner von Microsoft-Windoof und zudem den Gates > Machenschaften. Warum benutzt du dann nicht schon längst Linux? Das gibt's auch nicht erst seit gestern.
:
Bearbeitet durch User
Hanns-Jürgen M. schrieb: > Ich bin ein Gegner von ... den Gates Machenschaften. Der Herr Gates ist da seit 2008 komplett raus.
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> ATMEL ATECC508A >> >> Kennr hier jemand diesen Baustein bzw. hat schon damit gearbeitet? > > Davon abgesehen, dass der NRND ist: Der implementiert nicht das TLS. ...... > > > Niklas G. schrieb: >> Oder ein System mit externem Netzwerk-Stack >> welcher per AT-Commands angesteuert wird, das ist ja dann fix und fertig >> kompiliert - bei den ESP32 geht das angeblich auch mit TLS. Hast halt >> dann einen Chip mehr. > Danke für die Info und den Tip. Hilft mir sehr. > > Hanns-Jürgen M. schrieb: >> Mag sein. Ich bin ein Gegner von Microsoft-Windoof und zudem den Gates >> Machenschaften. > > Warum benutzt du dann nicht schon längst Linux? Das gibt's auch nicht > erst seit gestern. Nun ja, gute Frage. Ich habe mir, ich glaube, es war 1998, ein Linux System mit Suse 6 aufgebaut uns auch damit ein wenig experimentiert (Kommandozeile). Da ich in viel früheren Jahren beruflich mit einem OS/9 -68k VME-Bus System zu tun hatte, waren mir viele Dinge noch bekannt. Als graphische Oberfläche nutzte Suse 6, so glaube ich, KDE. Fand ich nicht so prickelnd. Schließlich gab ich es auf und nutzte zum Webbrowsen weiter Netscape mit win95. Nur dafür. Für die anderen Dinge hatte ich mein DOS-System. 2002 installierte ich SUSE 8 auf einem "nackten" System, ich nutzte es zur Implementierung eines webbasierten Marktplatzsystems (eines "Tauschringes", ähnlich ebay). dazu gehörten auch Dinge wie "Firewall" (iptables?) und Mailserver. Alles lange her. Warum ich dann allmählich über Win 2000 und XP zu Win 7 kam, hing mit der Verfügbarkeit der von mir eingesetzten SW-Pakete nur für Windows zusammen. EAGLE gab es nicht mehr für DOS, AUTOCAD ebenso wenig. Dann folgte Bequemlichkeit. Da ich mich schon vor langer Zeit aus dem Erwerbsleben zurückgezogen habe, brauche ich nun keine Updates der SW-Pakete mehr, viele Dinge gibt es auch für Linux, wie ich feststellen konnte, so daß der Umstieg, auch wenn er mir heute viel Zeit kosten wird, kommen wird. Ich denke, zunächst als zusätzliche Maschine. BTW: In einer VM habe ich Ubuntu sowie ein DEBIAN laufen
Hanns-Jürgen M. schrieb: > BTW: In einer VM habe ich Ubuntu sowie ein DEBIAN laufen Dann arbeite doch da mit Eclipse und dem ESP32 Plugin...
Hmm, dann mache ich das mal. Installation läuft gerade.. ist ein wenig zäh Ich berichte...
Hanns-Jürgen M. schrieb: > Thomas K. schrieb: >> Hanns-Jürgen M. schrieb: >>> Als HW nutze ich dazu Arduino-Hardware (Mega oder zunehmend DUE) mit >>> einem Wiznet W5100 oder W5500 Ethernetmodul, die ich über das >>> Atmel-Studio in ANSI-C programmiere. >> >> Hallo Hans Jürgen, >> >> mein einfacher kurzer Tipp an dich. >> Bei Arduino Hardware und Netzwerk. >> Setze alles auf MQTT auf. Sprich -- Deine Sensoren melden (publish) den >> Zustand an den MQTT Broker. Deine Aktoren bestellen (subscribe) die >> Commandos. Dann hast du ein N to N Netzwerk. N Anzahl Daten Sender N >> Anzahl die die Daten empfangen. Die gleiche Daten an N Anzahl >> Datenverarbeiter. >> >> Das ganze kannst du dann auf einen nano-pi neo packen. >> 1 Watt 40mm x 40mm Linux quadcore Linux Rechner. >> zum Beipiel mit FHEM, IO-Broker, NodeRed. >> Gerade bei NodeRED kannst du Grafisch die Daten nehmen, einmal per Mail >> versenden, gleichzeitig per Telrgramm zusenden und zur Kontrolle in eine >> Datenbank schicken. >> >> Wenn du mehr Info brauchst ... sende mir eine PN >> >> Gruß Thomas > > Hallo Thomas, > > mit MQTT und HomeAssist habe ich mich vor 2..3 Jahren einmal > auseinandergesetzt und das Ganze auch zusammen mit ESP8266/ESP32 etc zum > Spielen gebracht. Alles ganz nett, aber ich brauche einen dedizierten > MQTT Server. Solange das alles auf ein Haus/Grundstück beschränkt > bleibt, ist das auch ganz toll, aber wenn die Sensor- und Actorelemente > Hundert oder mehr km entfernt sind, geht das halt (bei mir) nicht, da > ich noch kleine Möglichkeit gefunden habe, die Anschlüsse der "dt. > Glasfaser" von außen zugänglich zu machen. Früher bei der Telekom / DSL > mit DynDNS hatte das alles funktioniert. > > Aber danke für Deine Vorschläge und Mühen. > > Hanns-Jürgen aka Yogy > > PS: Ich verwende lokal ein eigenes Netzwerkprotokoll, Struktur ähnlich > dem EIB Hallo Hanns-Jürgen, klar bleibt alles im Haus !!!!!! Ich lasse mir auch von keinem in "Mein Netzwerk" schauen. Der MQTT Server ist ein Kleines Programm und läuft bei dir auf dem MiniServer. schreib mir ne PM dann können wir mal telefonieren Gruß Thomas
Thomas K. schrieb: > > Hallo Hanns-Jürgen, > > klar bleibt alles im Haus !!!!!! > Ich lasse mir auch von keinem in "Mein Netzwerk" schauen. > Der MQTT Server ist ein Kleines Programm und läuft bei dir auf dem > MiniServer. schreib mir ne PM dann können wir mal telefonieren > > Gruß Thomas Hallo Thomas, ich muß mir meine "alten" MQTT-Sachen aus der Ablage holen, dann kann ich mich näher dazu äußern, auch warum ich an "meinem" Protokoll festgehalten habe. Ich melde mich dann Viele Grüße, Hanns-Jürgen
Niklas G. schrieb: > Hanns-Jürgen M. schrieb: >> BTW: In einer VM habe ich Ubuntu sowie ein DEBIAN laufen > > Dann arbeite doch da mit Eclipse und dem ESP32 Plugin... Hallo Niklas, nachdem ich gestern gut 4h und heute wieder mich an mit der Installation erfolglos vergnügt habe, lege ich das Ganze bis auf Weiteres auf Eis. Ich hatte gehofft, heute ein Demoprogrämmchen zum Spiele zu bringen, war wohl nix. Viele Grüße, Hanns-Jürgen
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.