Beiträge von johneff

    Vielen Dank erstman an euchl! (Auch dafür, den Forenverwechsler zu blockieren :no_sad: )

    Mit einem Kondensator einfach in Reihe hatte ich es schon probiert, wahrscheinlich aber nur die Extreme:

    MIt einem Keramik-C ging gar nix, mit einem Elko ging es zwei, drei Mal. Dann war er wohl geladen und hat sich nicht evtl. nicht ausreichend schnell entladen können. Ein 10K R zwischen RST und Vcc hat's nicht besser gemacht. Wahrscheinlich müsste man das genau berechnen ( :auslachen: wenn ich's könnte ; zumal ich wahrscheinlich den geringen Strom nicht mit meinem einfachen MM genau genug gemessen bekomme, und I wollen die Formeln ja dauernd wissen... :shy: )

    Du könntest den Magneter aber auch so anbringen, dass er beim öffnen der Klappe nur kurz den Reedschalter anspricht. Und das in einer Position, die nicht dauerhaft gehalten werden kann, also mit einem ganz schmalen Schlitz, wo kein Brief drinstecken kann. Wird möglicherweise schwierig, so eine Position zu finden.

    Das war auch mein Plan B. Denke auch hier das selbe wieder du: wird sicher nicht trivial zu justieren sein.

    Also eine elektromechanische Lösung würde ich gerne umgehen.

    Btw. Plan C wäre mit 2 oder 3 ToF-Sensoren zu arbeiten und immer mal wieder Veränderungen zu checken.

    (Plan D oder wenn eine auf den Kasten aufgepappte Antenne fürs WLAN nicht ausreicht, wäre ein Kabel zu legen :) )

    Franky07:

    Dein erster Vorschlag hört sich sehr gut an, auch wenn ich auf weniger Aufwand gehofft hatte. Könntest du die Schaltung mal skizzieren?

    Nun kenne ich nicht alle ESPs in und auswendig, aber man kann auch einen Deepsleep herbeiführen, und ein Wakeup auf einen GPIO mit "to High" initiieren. Deepsleep braucht ohnehin Strom, auch wenn es verschwindend wenig ist. Dennoch würde ich ein "to High"-Wakeup vorziehen, denn sonst muss man einen Pegel über Low ( GND ) als High als Dauerlösung bereitstellen. Auch wenn es nur wenige µA bis nA sind, aber es sind zwei Sachen die dann Strom verbrauchen, wenn man auf "to Low" setzt.

    Könntest du das nochmal erklären?

    Danke!!!

    Hi,

    gerade bin ich dabei meinen Briefkasten aufzuschlauen.

    Ich habe den klassischen Ansatz gewählt: Ein ESP8266 wird aus dem Tiefschlaf geweckt, indem RST über einen Reed (NC) beim Öffnen der Klappe, an der sich ein Magnet befindet, auf GND gezogen wird.

    Nun kommt es gerne mal vor, dass dickere Sendungen in den Schlitz gesteckt werden und die Klappe dann nicht mehr zufallen kann.

    Es liegt dann dauerhaft GND am RST. Da für einen Reset der RST Pin ja nur kurz auf GND gezogen werden und danach wieder Floaten (oder gibts einen internen Pull-Up?, egal...) muss, wird der Reset dann nicht ausgeführt und der ESP somit nicht geweckt.

    Ein paar mechanische Lösungen wären denkbar, aber erfordern, dass der Magnet und/oder Reed recht genau justiert sein müsste. Da weiß ich noch gar nicht, ob das machbar ist.


    Deswegen meine Frage:

    Gibt es eine einfache Schaltung, mit welcher das vom Reed kommende GND-Signal nach kurzer Zeit unterbrochen wird?

    Wenn der Reed geschlossen bleibt, soll also nur ein einmaliger GND-Impuls am RST ankommen.

    Prämisse ist natürlich, dass die Schaltung im Ruhezustand und im "Dauer-GND"-Zustand keinen oder höchstens mini-minimal Strom zieht.

    Hab mir dazu schon viel Gedanken gemacht und gesucht, aber bis jetzt nix gefunden...

    Danke für eure Hilfe - bin gespannt!!

    Es funktioniert! - Sogar mit dem Strom, den der Raspi über HDMI liefert! Dummerweise habe ich das erst gemerkt, nachdem ich die externe SV angelötet hab :wallbash:
    Denn: Anscheinend denkt der Raspi, dass ein Computermonitor ohne Sound am HDMI hängt. Beim Test am Fernseher war das natürlich anders. Deswegen musste ich in der config.txt das hier unkommentieren:

    Code
    hdmi_drive=2

    (siehe hier).

    Aber sei's drum: Der Adapter wird recht warm, zieht also schon bisschen, deswegen kann eine externe SV nicht schaden. Die SV schalte ich zusammen mit den Aktivboxen über mein Script.

    Also das Fazit:
    Mit so einem 5€-HDMI-VGA-Adapter mit Audioanschluss gibt es top Audio in Vergleich zu der Klinke.

    Hi Andreas,

    Danke für deinen Hinweis auf den Post! :thumbs1:
    Dort habe ich die Antwort auf meine Frage gefunden:

    Zitat


    D2 is simply a diode connecting 5V to a pin (pin 18) on the HDMI connector, its there (instead of 5V connected directly to 5V) to make sure that if the TV itself puts a voltage on the pin it won't reach the RPI.

    Sollte also safe sein, eine 5V Versorung an den Adapter anzulöten... Stirbt mein A dabei, hätte ich halt einen Grund, einen B+ an dessen Stelle einzusetzen. :lol:

    Weiter unten steht übrigens dann auch, wie viel Strom der HDMI Port beim Raspi liefert:

    Zitat


    The raspi is designed to deliver the 50mA for a small EEPROM containing monitor capabilities in the TV, (which is according to HDMI specifications)


    Vielleicht puhle ich den Adapter gleich mal am Ende des heutigen Sommertages auf. :cool:
    Ich berichte dann, obs geklappt hat. Wäre ja in der Tat eine einfache und billige Art die Audioqualität gegenüber der Klinke ziemlich zu verbessern...

    Hi,

    vielen Dank für die Antwort.

    Sorry, ich hatte nur schnell nach einem optisch gleichen Adapter bei Amazon als Beispiel gesucht und übersehen, dass dieser ja einen Anschluss für externe Stromversorgung hat. :rolleyes:

    Meiner kam über die Bucht aus China und hat unter 5 € gekostet. Und einen Anschluss für externe SV hat meiner ja gerade nicht... Leider war der Artikel da nicht mehr aufrufbar, deswegen das Amazon-Beispiel.

    Aber tatsächlich bestätigt mich der von dir zitierte Rezensent in meiner Vermutung, dass es am Strom liegt.

    Also hätten wir wahrscheinlich schonmal die Antwort auf meine zweite Frage. Danke für deine genaueres Hinschauen!!!


    Aber da ich das Ding jetzt schon habe, würde ich es mal auseinandernehmen und 5V einschleifen. Dazu noch mal die Frage: Wenn ich das z.B. stumpf an den 5V Pin des HDMI-Eingangs löte, geht das? Oder ist das gefährlich für den Rapsi?

    Vielen Dank für eure Tipps!

    ...oder halt auch nicht ;)

    Ich hatte im Mai schonmal nachgefragt, ob das Extrahieren des Audio-Signals aus HDMI mit solch einem Adapter [Anzeige]möglich ist.

    Leider konnte mir niemand helfen. Also hab ich so ein Teil geordert (natürlich nicht bei Amazon ;) ) und ausprobiert.

    Ergebnis: geht nicht...

    Das Teil selbst funkt tadelos (extrahiert z.B. das Audio-Signal von einem Blueray-Player). Die Audio-Ausgabe vom Raspi ist auch auf HDMI geforced und kommt da auch an (getestet mit Fernseher).

    Ich vermute, dass es an der Stromaufnahme des Adapters liegt.

    Deswegen zwei Fragen:

    • seht ihr ein Problem, wenn ich das Ding auseinandernehme und an dem Spannungsversorgungs-Pin vom HDMI 5V einschleife?
    • hat jemand Erfahrung, wie ich sonst Audio aus HDMI unter -sagen wir mal- 15€ extrahieren kann? Externe SV wäre ok.

    Vielen Dank schon mal!!!

    Hallo,

    ich nutze MPD, wobei mich die Audioqualität inzwischen gewaltig stört. Ich habe einfache Aktivboxen an dem Klinken-Ausgang.

    Bis ich mir mittelfristig einen B+ anschaffe (hab noch keine Lust ein neues Gehäuse zu kaufen), suche ich eine andere Lösung.

    Hat jemand Erfahrung mit solch einem HDMI 2 VGA Adapter??

    Wie schauts da mit der Stromaufnahme aus? Könnte das ein Problem sein?
    Und wie ist die Soundqualität?
    Gibts sonst noch eine Möglichkeit die "Arbeitsgeräusche" des Pis in der Soundausgabe zu unterdrücken? Ich brauche gewiss keine Hammerqualität, aber das Rauschen nervt halt gewaltig.

    Richtig viel -außer USB-Sound (ist ein A und möchte kein Hub dranmachen) - hab ich dazu nicht gefunden...

    Danke für eure Antworten!

    Hallo,

    in dem Script wird die Variable $load mit "0,0" als String verglichen.

    In deinem Fall musst du mit einem "kleiner als" einer bestimmten Last arbeiten. Also brauchst du eine "echte" Zahl. Mehr noch, ein Float.

    Nicht supertrivial, aber es ist natürlich ein Standardproblem, wozu du sicher Unmengen findest. Z.B. hier.

    Hi,

    beobachte mal, welche Last dein Squeezeplayer-Prozess bei welchem Status verusacht:

    Code
    top -p [ProzessID] -d 1

    Das Script basiert darauf, dass im Idle-Zustand des Players die CPU-% tatsächlich 0,0 ist.
    Ist das nicht so, wird "$nulllast" nicht inkrementiert und das Script kann so nicht funktionieren.
    Auf Grundlage des Lastverlaufs müsste man sich dann eine Anpassung des Scripts überlegen.

    Zitat

    Was bedeutet die zeile "pid=`cat /var/run/mpd/pid`????


    In der Datei pid im Verzeichnis /var/run/mpd legt der MPD praktischerweise beim Start seine Prozess-ID ab.

    Mit cat lesen ich den Dateinhalt -also die Prozess-ID- in die Variable "pid". Mit der Option -p und der PID hole ich mir aus "top" dann nur den relevanten Prozess.

    Macht dein Player sowas nicht, würde ich über den Prozessname die richtige Zeile in top suchen. Aber vielleicht gibts auch direktere Wege, da dies sicher nicht wenig Rechenleistung beansprucht.

    Hallo Tjareson,

    bei meinem Problem ging es ausschließlich um den MPD. Dort lässt sich z.B. über den Client MPC der Status zwar auch direkt auslesen, jedoch funktioniert das -zumindest bei mir- nicht zuverlässig, da man halt über den Client nachfragt.
    Aber vielen Dank für die Ausweitung des Themas auf andere Player! Ehrlich gesagt verstehe ich nicht ganz, dass es zu dem Thema "Aktivboxen nur anschalten wenn sie gebraucht werden" so wenig Diskussion gibt. Wahrscheinlich sind viele Stromrechnungen doch noch zu klein? ;)
    Vielleicht gibt es mal ja mal ne Lösung, die sich die Aktivitätsinfo direkt vom ALSA holt. Bin gespannt.


    Für alle die das Ergebnis des Langzeittests meines Scripts interessiert (läuft seit über einem halben Jahr ununterbrochen):
    Läuft!!! :D
    Da Musik mit langen ruhigen Phasen (z.B. Klavierkonzerte) zum kurzen Ausschalten geführt hat, habe ich die Empfindlichkeit nochmal verändert. Wenn von 20 top-Abfragen 18 oder weniger 0,0% Last des MPD zurückgeben, dann "scheint" der MPD Music zu spielen und der GPIO 25 wird geschaltet. Dadurch gibt es zwar eine ganz leichte Verzögerung beim Einschalten, dafür ist die Prozessorlast des Scripts selbst signifikant geringer.
    Hier nochmal das aktualisierte Script (GPIO ist von 17 auf 25 geändert!):


    Ich bin vor einiger Zeit mal -ich glaube über The MagPi- auf das Thema Schaltregler statt Spannungsregler (für die 3.3V) gekommen und mir damals das hier bookmarked:

    http://www.bitwizard.nl/wiki/index.php…_a_raspberry_Pi

    Selbst habe ich es nicht umgesetzt und deswegen keine Messdaten aus erster Hand.
    Wie in dem Mod verwendete Reglerplatinen gibts für 1€ inkl. Versand aus China in der Bucht.
    Falls du das ausgehend von 5V (nicht von 12V wie in dem Mod) machst, teile bitte mal die mA-Ersparnis mit! Danke!

    Modell A als Alternative hast du bedacht, oder?

    Danke für die Antwort!

    Zitat


    Python und UTF_8 kann einen zur Verzweiflung treiben, das ist aber nicht nur die Schuld von Python. Warum kann nicht jedes BS und Programm einfach UTF8 als Standard Encoding nutzen aber nein wir müssen ja Latin1 bizw. ISO 8859-1 nutzen...


    Da hast du absolut recht...:X
    Andererseits bin ich ganz froh einen Grund zu haben, mich damit zu beschäftigen. Läuft einem ja doch ab und an über'n Weg und so raff ich jetzt zumindest ein paar Grundlagen...


    Zitat


    Warum benutzt du Latin1 als encoding wenn du UTF8 willst? Denker


    Diese Frage raff ich jetzt nach bisschen Einarbeitung auch... :blush:


    Aber zum eigentlichen Problem:

    Code
    umlautstring=u"Text mit Umlauten ÖöÄäÜüß"
    msg['Subject'] = umlautstring.encode('UTF-8')


    funktioniert nicht, aber ohne Encoding funktioniert es!!! Also:

    Code
    umlautstring=u"Text mit Umlauten ÖöÄäÜüß"
    msg['Subject'] = umlautstring

    Was -soweit ich's nun verstanden habe-logisch ist...

    Der Textbody wird auch richtig dargestellt, da ich den jetzt natürlich auf UTF-8 eingestellt habe.
    Es funkt also alles!!!! Tausend Dank!!!!
    :danke_ATDE:


    Hier nochmal der relevante Codeausschnitt:

    Code
    umlautstring=u"Text mit Umlauten ÖöÄäÜüß"
    msg = MIMEText(umlautstring.encode("utf-8"), _charset="utf-8")
    msg['Subject'] = umlautstring
    msg['From'] = Absender
    msg['To'] = Empfaenger
    smtpserver.sendmail(Absender, [Empfaenger], msg.as_string("utf-8"))
    smtpserver.quit()


    Achso, in meinem Fall musste ich requests auch noch auf UTF-8 umstellen, das geht so:

    Code
    antwortvonrequests.encoding='UTF-8'

    Danke für Deine schnelle Antwort.

    Ich sende den Text nicht nur per Email sondern lasse ihn auch auf dem Bildschirm ausgeben und in eine Datei schreiben. Da hatte ich zuerst das gleiche Problem, konnte es aber mit dem Coding lösen. Dafür hatte ich die Quellen genutzt, die du auch gefunden hast.

    Aber ich komme nun bei dem Emailversand nicht weiter. Ich muss das in den Header der Email reingeben, soviel habe ich glaube schon verstanden. Ich hab in der Dokumention des Moduls schon set_charset gefunden, aber mir ist nicht klar wie das anzuwenden ist. Das Beispiel fehlt halt...

    Tach,

    ich möchte aus Python Emails verschicken. Das klappt auch, allerdings werden Umlaute etc. nicht korrekt dargestellt.

    Nach ein bisschen Recherche habe ich herausgefunden, dass man den Charset im Header angeben muss, und dies getrennt für Subject und eigentlich Text. Ist das so richtig?

    Kann mir jemand für das folgende Script einen Tipp geben, wie ich das übergebe? Wie Ihr seht, hab ich schon paar Sachen ausprobiert, aber erfolglos...

    Die Dokumentation von email.mime.text scheint zwar sehr detailliert zu sein, aber leider fehlen dort Beispiele, die ich als Anfänger doch so dringend brauche... :daumendreh2:

    Schon mal herzlichen Dank für Eure Hilfe!!

    Achso, der eigentliche Text kommt aus einer Website und wird dort über requests ausgelesen, falls das relevant ist...