Posts by peuler

    Ich hätte noch eine Ergänzung zu dem Punkt, der mit den Worten beginnt: "Bei Fragen zum Programmieren..."

    Mir fällt oft auf, dass bei Compiler-Sprachen (zum Beispiel C, C++) sehr selten Angaben zum Aufruf des Compilers + Linkers zu finden sind. Das wäre für mich zumindest interessant zu wissen, weil gerade Anfänger gerne die Compiler-Warnings entweder nicht aktivieren oder ignorieren was ich für falsch halte. Auch habe ich Fälle gesehen, dass nicht erkannt wurde, dass lediglich der Compiler gestartet wurde aber das Linken eben nicht (die Suche nach einem ausführbaren Programm kann dann keinen Erfolg haben). Wenn man nun den Aufruf des Compilers sehen würde, könnte man auch hier Rückschlüsse auf Fehler ziehen.

    Wurde schon einmal versucht mit journalctl etwas herauszufinden?

    Um den genauen Zeitpunkt des Stillstandes zu ermitteln bzw. festzuhalten würde ich mir ein kleines Shell-Script bauen, das einfach alle 1-5 Sekunden mit dem touch-Befehl immer wieder die gleiche Datei anlegt. Nach dem Aufhängen des Pi und anschließendem Neustart kannst Du dann mit Blick auf die Datei dann auf wenige Sekunden eingrenzen, wann das Aufhängen genau passiert ist (ls --full-time <Datei>).

    Ich bin kein Experte betreff systemd vs initv, das sei vorab erwähnt; das initv kenne ich garnicht. Aber beim Experimentieren und Anwenden von systemd ist mir aufgefallen, dass es für mich eher leicht zu verstehen ist und dass ich recht schnell zu brauchbaren Ergebnissen gekommen bin. Ich habe mir mal zu einem sehr oberflächlichen Vergleich die Start-Skripte von smstools angeschaut, die auf dem initv aufsetzen. Tja, habe die Finger davon gelassen weil nichts durchschaut und verstanden.

    Fazit: für einen Einsteiger wie mich ist systemd eher geeignet und die Funktionsweise ist eher nachvollziehbar.


    Betreff dem Argument "wenn es nicht kaputt ist, muss es auch nicht repariert werden": Warum kauft Ihr alle 3-5 Jahre neue Computer? Weil die kaputt sind oder weil sie einfach veraltet sind den Anforderungen nicht mehr gerecht werden?

    Es sieht danach aus, dass Du nicht den kompletten Quellcode gepostet hast. Im Post #1 hat Dein Quellcode 12 Zeilen aber die Compiler-Meldung bezieht sich auf Zeile 18. Da passt was nicht zusammen. Daher mein Vorschlag, dass Du mal den kompletten Quellcode hier postet. Den kann man dann herunterladen und durch den eigenen Compiler schicken.

    Der Hinweis mit dem WLAN-Access-Point ist gut ! wenn jetzt noch ein Tutorial mit 2 Pi´s und gegenseitigem Steuern z.B. Led´s

    vorhanden ist ---- dan hätte ich es.

    Ist Dir soeins bekannt ?

    Nein, mir ist solch ein Tutorial nicht bekannt, das Dein gesamtes Projekt abbildet. Daher noch einmal mein Hinweis, dass Du mit dem Access-Point erst einmal anfängtst und wenn das steht, dann setzt Du die Anwendungsschicht oben drauf.

    Gleich zu Anfang möchte ich nicht-fachlich antworten, dass mir der Tonfall mancher Schreiber als Reaktion auf Deinen "grössten anzunehmenden Forumsfehler" auch nicht passt: Leben und leben lassen!


    Zum fachlichen, Teil 1:

    Nach meinem Eindruck versuchst Du großem Besteck (Zitat: "Mit einem ... Python-Programm ... klappt die Verbindung") Dich dem Thema zu nähern anstatt von der Basis aus zu beginnen. Darauf zielte mein Hinweis auf bluetoothctl ab. Ich würde mich mit bluetoothctl beschäftigen um die Basis zu legen und mir dann dass Python-Programm anschauen. Kennst Du Dich mit Python aus und kannst aus dem Quelltext nachvollziehen, woran es klemmt? Auch dass zählt zur Basis.


    Zum fachlichen, Teil 2:

    Man kann einen Pi (egal ob er einen WLAN-Dongle hat oder ob er einen festverbauten hat) auch so aufsetzen, dass er als WLAN-Access-Point ähnlich einem Router zu hause arbeitet. Daher mein Vorschlag, dass Du noch mal in die folgende Richtung nachdenkst: Setze einen Pi als WLAN-Access-Point auf und verbinde die beiden Pis per WLAN. Anschließend kannst Du mit den klassischen Netzmitteln die beiden kommunizieren lassen. Du wirst auch hier im Forum Anleitungen finden, wie das mit dem Access-Point klappt. Deine Logik mit den Codes musst Du dann als Anwendungsschicht oben drauf setzen, was sich aber mit relativ einfachen Mitteln auch mit Bash-Skripten lösen lässt. Als Alternative zu den Bash-Skripten kannst Du auch Teile von diesem nutzen.


    Zusammenfassung: Fange mit der Basis an und dann arbeitest Du Dich Schritt für Schritt nach oben zur Anwendung durch. Dann wirst Du auch wieder Bäume sehen und am Ende einen gut aufgewachsenen Wald-bestimmt sogar mit einer Lichtung, in der Du Dich dann wohl fühlst. Dann hast Du auch keinen Grund "alles hinzuschmeissen".

    Vielleicht hilft Dir das Programm bluetoothctl weiter. Damit kannst Du Verbindungen zwischen dem Pi und einem anderen Bluetooth-Device aufbauen. Wenn Du mit dem Desktop (Pixel) arbeitest, kannst Du in der oberen Leiste am rechten Rand mit dem Bluetooth-Symbol auch Verbindungen erkennen.


    Ich selbst bin kein Bluetooth-Experte aber mir ist mehrfach untergekommen, dass die Nutzung von Bluetooth als Kommunikationsmedium nicht so rasend einfach zu realisieren ist. Daher meine Frage: Muss es unbedingt Bluetooth sein? Wäre auch WLAN/LAN möglich? Das hätte den Vorteil, dass Du eine gute Unterstützung aufgrund der Netzwerk-Programme hättest, die mit dem Pi mitkommen.

    Vielleicht berichtest Du noch etwas ausführlicher, um was bei Deinem Projekt geht, das dürfte andere hier mehr motivieren, hier gedanklich einzusteigen.

    Eine Alternative zu Pushbullet wäre Telegram: Wenn Dein ESP ins WLAN kommt und Zugang zum Internet bekommt, könnte er eine Chat-Nachricht absetzen und Dein Smartpfhone bekommt diese Nachricht in seinem Telegram-Client angezeigt. Allerdings könnten mehrere Sekunden vergehen, bis der ESP ins Internet kommt und die Nachricht abgesetzt bekommt. Aber ein Versuch wäre es wert.

    Eine andere Alternative wäre fetchmail. Habe hier mal eine Blanko-Konfigurationsdatei namens fetchmailrc angehängt und ein Blanko-Parser-Script namens fetchmailparser.sh. Dieses Script holt das Subject und den Absender aus der Mail und setzt daraus eine neue Datei zusammen. Mit diesem Mechanismus ist es bestimmt auch möglich, eine Datei auf einen Drucker zu schicken, nachdem die Datei heruntergeladen wurde.


    fetchmailrc:

    Code
    1. poll <mail-hub> with proto POP3
    2. user '<your account@maildomain' there with password '<password>' is pi mda "/home/pi/message2action/fetchmailparser.sh"
    3. ssl
    4. sslfingerprint "<SSL fingerprint of your mailprovider>"
    5. sslcertck
    6. sslcertpath /etc/ssl/certs/


    fetchmailparser.sh:

    Linus : Man kann diese Neuigkeit auch aus einer anderen Richtung betrachten: Bin auf dem Raspberry mit dem Debian-Image gestartet, das es bei der Raspberry Foundation zum Herunterladen gespeichert ist und habe mir anschließend in einem virtuellem PC die Desktop-Variante installiert. Damit hatte ich das gleiche Look&Feel von Linux einmal auf dem Pi und dann auf einem PC; zum Üben ist die PC-Variante einfach unkritischer und schneller neu installiert.

    Für mich war es als Einsteiger nicht so recht durchschaubar, dass es ein Debian auf x86/amd64-Basis gibt und dann eine Ableitung des Debian auf ARMHF-Basis dazu, die aber nicht von der Debian-Homepage herunterzuladen ist sondern eben von der Foundation. Noch dazu kommt, dass es ein weiteres Raspbian gibt, dass von einer weiteren Organisation bereitgestellt wird.

    Für jemanden, der Debian auf x86/amd64-Basis nutzt und nun das gleiche OS und das gleiche Look&Feel auf dem Pi haben will, ist die vom TO beschriebene Entwicklung ein Segen. Richtig ist aber auch, dass ich mit der Version von der Foundation sehr zufrieden bin und auch erst mal keinen Anlass sehe, von der Version wegzugehen. Aber im Sinne von Standards wäre es klasse, wenn es möglichst wenige Debians für den Pi gäbe, optimalerweise nur 1, dass alles kann. Naja, Träumen und Hoffen ist ja erlaubt.

    @hailogugo:

    Zunächst sei positiv erwähnt, dass Du Dir die Mühe gemacht hast, eine Anleitung zu schreiben. Du solltest Dir vor Augen halten, dass diejenigen, die Deine Tippfehler wie das mit "SSID =" selbst erkennen, eher nicht Deine Anleitung lesen: solche Kollegen schütteln solche Themen von alleine aus dem Ärmel. Und diejenigen Leser, die Deine Anleitung nun anwenden wollen und solche Fehler nicht erkennen, scheitern damit. Und das sorgt für Frust. Meine Vorredner wollen Dich sicherlich nicht ärgern sondern zur Vermeidung von Enttäuschung beitragen. Nimm' das Feedback als Chance, die Anleitung zu verbessern, so einfach wäre es.

    Daraus folgt: entweder exakt und eindeutig oder garnicht beschreiben. Oder anders ausgedrückt: "Gut gemeint" ist das Gegenteil von "gut".

    8)

    Zu Post # 09:

    Die von mir kritisierten Eigenschaften des Linux haben auch ihre positiven Seiten, die ich auch sehe und nachvollziehen kann. Die Linux-Gemeinde hat es ja selbst in der Hand, daran etwas zu ändern und es gibt viele Gründe, warum das System so aussieht wie es ist - und eben auch andere Systeme so aussehen, wie sie sind.

    Ich hatte nicht vor, ein Bashing zu starten sondern wollte einfach nur einen persönlichen Kommentar loswerden um Vorhandenes in Frage zu stellen mit dem Ziel, es zu verbessern. Das wurde hier mehrfach auch so erkannt, was ich prima finde.


    Quasi als mein persönliches Schlusswort habe ich dieses: Das beste System ist für mich nicht dasjenige, dass technisch allen anderen in dieser oder jener Hinsicht überlegen ist. Für mich ist das beste System dasjenige, mit dem ich mich am besten auskenne.

    Sorry, aber das liegt wohl an dir! Wenn du das Telegram HTTP-API meinst, das ist nun wirklich bis ins letzte Detail dokumentiert. Jeder mögliche Parameter, JSON Rückgaben etc.


    Ich schließe nicht aus, dass mir Grundlagen fehlen, die andere Personen haben und dass ich deswegen mit der Doku nicht klar gekommen bin. Habe auch aus anderer Ecke mitbekommen, dass die Doku nicht die tollste ist. Damit ist das Thema auch für mich dann mal durch.

    Zum Thema "Quelltexte durchwühlen": Github ist voll von Programmen, die keine Dokumentation enthalten und nur zu kapieren sind, wenn man den Sourcecode anschaut. Konkretes Beispiel, in das ich viele Stunden gesteckt habe ist telebot.

    Ein anderes negatives Beispiel ist die Api zu Telegram-Bots. Die Doku dazu ist vom Ansatz her richtig aber leider im Detail so schlecht, dass ich nur durch das Anschauen von Beispielsourcen dahinter gekommen bin, wie sie funktioniert.


    Zum Thema "Wiki in das OS einbauen": Richtig ist, dass ein Wiki von den Beiträgen aller User profitiert und die Vorteile von Verlinkung, Einbau von Dateien gängiger Formate wie Bilder und Videos erlaubt und vieles mehr. Warum sollte es nicht möglich sein, dass in dem OS ein Wiki-Server eingebaut ist (oder so etwas ähnliches), in den dann die Beiträge mit dem Installieren von Pakten eingebaut werden? Das ist ja nur ein Gedanke, wie man die reinen textbasierten Lösungen wie die man-Pages ergänzen kann.

    Naürlich kann man auch auf PDF ausweichen kann (habe ich zum Beispiel gemacht) oder eine HTML-Seite bereitstellen, die ich im Browser anschauen kann.


    Zum Thema Powershell: Richtig ist, dass dieses Tool die klassische Shell unter Windows ergänzt. Ich kenne aber niemanden, der diese nutzt. Für mich ist Windows mein Arbeitspferd und das wird es auch bleiben. Aber selbst nach rund 30 Jahren intensiver Windows-Nutzung sowohl privat als auch beruflich habe ich keinen Bedarf, die Powershell kennenzulernen.



    Abschließend sei erwähnt, dass ich bewusst "Kommentar" in den Betreff eingebaut habe: damit sollte kenntlich gemacht werden, dass es sich hier nur um einen Auszug aus einem Gesamteindruck handelt und eben keine vollständige Abhandlung mit akademischen Anspruch handelt.

    Zu Post #1:

    Habe die gleiche SD-Karte im Einsatz und auch noch mehrere andere, kleinere wie größere. Es kann immer passieren, dass die Karte verschleißt und/oder einfach kaputt geht. Dagegen hilft nur, regelmässig Backups anzulegen (kein Backup = kein Mitleid). Habe 2 Pis seit fast 2 Jahren und bisher ist mir keine Karte kaputtgegangen, das mal am Rande.

    Betreff dem Kühlkörper: er schadet nicht, er kann nur nutzen. Ich würde mir immer einen draufkleben, wenn einer verfügbar. Du kannst die CPU-Temperatur auch abfragen und damit beobachten.