Statusanzeige/Uhr AWTRIX 2.0 by blueforcer - LaMetric Alternative

  • So Leute, wie in einem Beitrag hier im Forum schon angekündigt, wollte ich nach Fertigstellung kurz mal eine Mini-Vorstellung zum Projekt AWTRIX geben.


    Dabei handelt es sich um eine Smarte Uhr a la LaMetric auf Basis eines Wemos D1 Mini + LED-Matrix 8x32 und einem Server, in meinem Fall einem Raspberry Pi Zero W, welches euch verschiedene Dinge anzeigen lassen kann. Für den Hardware-Aufbau habe ich mir im Shop gleich die fertige PCB gekauft, sodass alles sauber aussieht nach dem Verlöten. Man kann aber natürlich auch einfach alles auf einer Lochrasterplatine auflöten. Die dahinterliegende Software für die AWTRIX ist eine JAVA Applikation.


    Es gibt verschiedene Apps, die man dauerhaft abwechselnd laufen lassen kann, wie zum Beispiel: Uhrzeit, Datum, Spotify Anzeige, Wetter, Animationen und vieles mehr. Ich hänge noch ein kurzes Demo-Video hier an, bei dem eine Animation (Tetris), die Uhr, das Datum und das Wetter (openweathermap) angezeigt wird.


    Was zusätzlich halt mega cool ist und weshalb ich euch das Projekt hier überhaupt zeigen möchte ist, dass es eine Api auf Rest-Basis und mqtt gibt. So hat man die Möglichkeit bestimmte Dinge, zum Beispiel durch Automationen ausgelöst, an die AWTRIX zu senden und anzeigen zu lassen. Ein Beispiel hierfür wäre, wenn die Waschmaschine fertig ist, wird ein Waschmaschine Logo angezeigt und ein beliebiger Text "Waschmaschine fertig" oder ein Logo für Post, wenn die Post da war. Es gibt bereits sehr viele fertige Icons, die man hierfür verwenden kann. Und sollte mal kein passendes vorhanden sein, so kann man die mit der zugehörigen APP im Appstore selber zeichnen und für alle verfügbar machen.


    Die Dokumentation hierzu, inklusive Einkaufsliste, Aufbauanleitung und 3D-Drucker Vorlage für das Gehäuse findet ihr hier:

    https://docs.blueforcer.de/#/v2/


    Hier kann man sich viele verschiedene fertig gebaute AWTRIXen ansehen:

    https://forum.blueforcer.de/d/22-show-your-awtrix


    Bei Problemen wird einem auch ziemlich schnell geholfen. AWTRIX ist zwar offiziell noch im Beta-Stadium, aber schon jetzt läuft es eigentlich 1A. Lediglich die Dokumentation ist an einigen Stellen etwas veraltet, weshalb ich zum Beispiel das ein oder andere Mal im Forum nachfragen musste. Das will der Erfinder alles noch nachholen. Zudem gibt es eine Facebook-Gruppe, in der auch die neusten Apps vorgestellt werden und wo einem zusätzlich geholfen werden kann.


    Meine anfänglichen Probleme:

    Ich hatte Probleme, den Server (Raspberry Pi) seriell mit dem Controller der LED-Matrix (Wemos D1 Mini) zu verbinden, da hier immer mein Raspberry abgeschmiert ist. Das habe ich auch nicht hinbekommen, obwohl auch das funktionieren sollte. Also bin ich erstmal umgestiegen und habe die Verbindung mittels Wifi gelöst, was auch auf Anhieb funktioniert hat. Hier hatte ich aber das Problem, dass bei Animationen (Tetris, Matrix...) ein Stottern zu erkennen war. Dies sollte meinem Wlan und der Leistung des Raspberry Pi Zero W geschuldet sein, weshalb ich mir ein Mikro-USB zu Mikro-USB Kabel besorgt habe und die Verbindung auf diese Weise umgesetzt habe. Stotternde Animation gehören nun der Vergangenheit an und ich erfreu mich bei jeder Animation, die abgespielt wird. Siehe hierzu auch das angehängte Video.


    Wer also Lust am Basteln hat und sich das zutraut, kann sich im Nachhinein über eine richtig coole Retro-Uhr mit smarten Funktionen erfreuen, die in der Summe auch viel günstiger ist, als eine LaMetric.


    Wenn ihr Fragen dazu habt, könnt ihr mir die gerne stellen oder auch einfach im Forum https://forum.blueforcer.de/ vor Ort nachfragen.


    Hinweis: Das Projekt ist NICHT von mir. Ich wollte es euch nur nicht vorenthalten. Ich will mich nicht mit fremden Federn schmücken.


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Einmal editiert, zuletzt von Sinowine ()

  • Leute ich habe mal eine Frage.


    Wenn ich über das Terminal am Mac folgenden Befehl ausführe, dann erscheint an meiner Awtrix mein gewünschtes Waschmaschinen Icon und der Text "Waschmaschine fertig" in Laufschrift.


    Code
    curl -XPOST -H "Content-type: application/json" -d '{"name":"test","force":false,"icon":481,"text":"Waschmaschine Fertig","color":[51,204,51]}' 'http://192.168.178.40:7000/api/v3/notify'


    Versuche ich das allerdings über das iPhone und dort als Kurzbefehl mit "Inhalt aus URL abrufen" und den entsprechenden Parametern funktioniert es leider nicht. Hintergrund ist der, dass ich natürlich die ganzen Ausgaben über Automationen steuern möchte.


    Alternativ gäbe es auch die Möglichkeit bei Awtrix mqtt zu nutzen. Hierzu müsste ich dann wohl mosquitto nachinstallieren und damit rumspielen.

    Es müsste doch aber irgendwie auch so gehen oder nicht?


    sschuste Hast du vielleicht eine Idee?

  • Puh. Mit Kurzbefehlen kenn ich mich gar nicht aus. Ich verstehe das Zeugs nicht mal richtig. Ich steuere meine Lametric über Node Red.


    Das Setup von mosquitto ist einfach: installieren mit sudo apt-get install mosquitto und schon fertig.

  • Es lag daran, dass ich das Array für die Farbe als String übergeben habe. Hier lag der Hund begraben. Jetzt mit Übergabe als Array funktioniert es wie es soll. Jetzt weiß ich nur noch nicht mit welchem Plugin ich das am Besten abbilden kann.


    Bisher habe ich das http-webhooks im Einsatz, aber damit wird das ja glaube nicht gehen

  • Jetzt weiß ich nur noch nicht mit welchem Plugin ich das am Besten abbilden kann.

    Was genau abbilden?

  • Was genau abbilden?

    Code
    curl -XPOST -H "Content-type: application/json" -d '{"name":"test","force":false,"icon":481,"text":"Waschmaschine Fertig","color":[51,204,51]}' 'http://192.168.178.40:7000/api/v3/notify'

    Das dieser Befehl abgesetzt wird. Habe mir jetzt alternativ zu dem http-webhooks mal das cmdtrigger Plugin installiert mit dem Curls ja funktionieren sollten, aber der meckert da auch, dass die Zeichen nicht valide sind

  • Wahrscheinlich musst du es so schreiben:


    "curl -XPOST -H \"Content-type: application/json\" -d '{\"name\":\"test\",\"force\":false,\"icon\":481,\"text\":\"Waschmaschine Fertig\",\"color\":[51,204,51]}' 'http://192.168.178.40:7000/api/v3/notify'

  • Perfekt, damit hat es geklappt. Danke dir.


    Weißt du zufällig, ob das auch irgendwie mit dem http-webhooks geht? Habe ja dadurch jetzt quasi zwei Plugins, die mehr oder weniger ein ähnlichen Einsatzzweck bieten.

  • Das weiß ich nicht, nehme es aber an. Wenn du eine Konfiguration machst, die in Anführungszeichen steht, musst du ein bisschen aufpassen.


    Der String Der Hund sagt nix würde in Anführungszeichen so aussehen: "Der Hund sagt nix". Der String Der Hund sagt nix außer "wuff" würde dann so aussehen: "Der Hund sagt nix außer "wuff"".


    Das geht nicht. Strings werden in Anführungszeichen eingeschlossen. Im zweiten Beispiel gehen die Anführungszeichen dann vor dem Der auf und nach außer+Leerzeichen wieder zu. Übrig und in der Luft hängend bleibt wuff"". Damit kann der Rechner nicht umgehen und beschwert sich. Man muss also mit Strings, die Anführungszeichen enthalten, anders umgehen.


    Entweder: 'Der Hund sagt nix außer "wuff"'

    Oder: "Der Hund sagt nix außer \"wuff\""


    Die Backslashes (\) zu benutzen, nennt man "maskieren". In diesem Fall werden die Anführungszeichen maskiert. Der Backslash wird dabei vor jedes Anführungszeichen gesetzt, das innerhalb des Strings steht. Das geht auch mit anderen Zeichen.


    Stefan

  • Sinowine Ich habe ebenfalls Interesse, mir die Uhr nachzubauen und hätte diesbezüglich 1-2 Fragen an dich.

    Zitat von Sinowine

    Für den Hardware-Aufbau habe ich mir im Shop gleich die fertige PCB gekauft,

    Von welchem Shop ist hier die Rede? Auf der AwTrix Seite habe ich da leider nichts gefunden.


    Woher hast du dein Gehäuse? Hast du hier evtl einen Tipp für mich, wo ich dies anfertigen lassen kann?


    Schonmal ganz lieben Dank im Voraus für die Infos.

  • Musst mal ganz nach unten auf der Seite scrollen, da ist der Link zum Shop etwas versteck zu finden.


    Das Gehäuse habe ich mir bei GT-PRINT über Treatstock.com drucken lassen. Hatte glaube ich um die 30€ gekostet. Die Files bzw. der Link zu Thingiverse sind in der Dokumentation hinterlegt. Die kannst du dann bei Treatstock hochladen und dir einen Anbieter auswählen. Verlief echt reibungslos. GT-Print sitzt halt auch in DE und die können demnach auch auf deutsch schreiben.


    Bin auch immer noch sehr zufrieden mit dem Projekt. Ist ein richtig schöner Eye-Catcher, der dann auch noch nützliche Informationen anzeigen kann.

  • Sinowine Ich habe mir nun die Komponenten bestellt und das Gehäuse über Treatstock anfertigen lassen.


    Leider entstehen nun weitere Fragen und ich würde mich sehr freuen, wenn du mir hier noch mit zusätzlichen Infos helfen könntest.😃


    Das Gehäuse ist ja nur ca <2cm tief, wie hast du die Komponenten hier untergebracht?


    Ich habe mir zur Verbindung nun eine Platine zusammengelötet, die von der Breite her perfekt in das Gehäuse passt, diese ist nun lediglich halb so breit wie das offizielle PCB. Passt denn bei dir die Platine aus dem Shop ebenfalls in das Gehäuse?


    Ich habe mir aus Spaß den TF Card/mp3-Player mitbestellt, im Gehäuse gibt es aber überhaupt keinen Platz dafür. Nutzt du den Player ebenfalls und wenn ja, wie?


    Hast du den Raspberry direkt mit in das Case gestopft? Wenn ja, wie wird er mit Strom versorgt?


    Entschuldige die vielen Fragen und schonmal ganz lieben Dank für die Infos.😉

  • Bei mir passt alles in das Gehäuse hinein, sprich Wemos D1 mini auf der PCB + Raspberry Pi Zero W. So hoch ist das alles doch gar nicht? Kannst aber ja gerne mal Fotos hier hochladen.


    Strom bekommt der Zero von der PCB per GPIO Pins und die Daten werden per Mikro USB -> Mikro USB übertragen, da bei mir das per GPIO leider nicht funktioniert hatte.


    Den DF Mini Player habe ich nicht mitbestellt und auch nicht eingebaut, aber auch der hat doch seinen vordefinierten Platz auf der PCB?


    Meinen Pi Zero W werde ich wieder aus der Uhr verbannen, da ich leider öfter mal Probleme mit dem hatte und der auch echt langsam ist. Werde den "Server" auf meinen zukünftigen HomeServer umziehen und gut ist.

  • Sinowine Vielen Dank für die Infos.

    Zitat von Sinowine

    aber auch der hat doch seinen vordefinierten Platz auf der PCB?

    Es ging mir hier gar nicht um den Anschluss, sondern die Positionierung des Players. Das Gehäuse hat ja nirgendwo eine Aussparung dafür, wo soll er also installiert werden, wenn man den Kartenslot im Betrieb noch erreichen möchte?🤔

  • Ah, jetzt verstehe ich was du meinst. Ich glaube da müsste man dann in der Tat die Uhr jedes mal öffnen, wenn man da neue Sounds draufspielen möchte. Habe den wie gesagt gar nicht in Verwendung. Mir ging es primär um eine schöne Anzeige.

  • Moin!


    Die Idee so einer Statusanzeige finde ich Klasse, nur ist mir diese hier ein klein wenig zu groß, ich hätte gerne etwas kleineres.

    Der Code zum steuern ist z.B. hier zu finden: https://github.com/jnweiger/led-name-badge-ls32

    Nur weiß ich nicht, ob man nach dem Programmieren per USB den Stecker abziehen muß, damit die Anzeige funktioniert. Das wäre für so ein Projekt etwas dämlich.

    Diese Badges gibt es z.B. hier: https://www.berrybase.de/compu…-name-tag-11x44-pixel-usb in verschiedenen Farben.

  • Moin Carsten,


    Demnächst wird es die Awtrix Pro geben, die deutlich deutlich kleiner sein wird als die aktuelle. Ungefähr die Abmaße einer originalen LaMetric soweit ich das gesehen habe. Bin auch schon am überlegen, ob ich mir die später auch mal baue :P

  • Ich habe nun auch mal die Zeit dafür gefunden, die Uhr zusammen zu bauen und bin insgesamt sehr angetan vom neuen Spielzeug.


    Ich habe vorerst auf den Player verzichtet (habe zum Einen grad keine passenden Speaker, zum Anderen gefällt mir der innen liegende Speicherkartenslot nicht) und lediglich den Umgebungslichtsensor integriert. Alles zusammen läuft soweit 1a.

    Sporadisch stottern Animationen jedoch noch immer trotz Raspberry 3A+ und starkem WLAN. Ich werde also auch mal überlegen, den Raspberry mit in das Gehäuse zu setzen, Platz wäre noch..


    Sinowine Wie verhält sich denn die REST API bei dir?

    Ich habe nun über das cmdtrigger Plugin Benachrichtigungen als HomeKit Schalter angelegt, die beim Betätigen des Schalters auf der Uhr angezeigt werden.

    Das funktioniert insgesamt sehr gut, in Automationen eingebunden zeigt mir die Uhr nun „Fenster wurde geöffnet“ oder „Ofen wurde vorgeheizt“.

    Leider hängt sich der Host beim Nutzen der API sporadisch auf und kommuniziert erst nach Neustart wieder mit der Matrix. Das geschieht beispielsweise, wenn ich zwei Notifications in kurzen Abständen an die API sende.

    Ist MQTT hier der zuverlässigere Weg oder erübrigen sich die Problem bei USB-Verbindung zwischen Host und Matrix?

    Ich sende die Befehle mit force=true, um nicht die jeweils laufende Mitteilung abwarten zu müssen, vielleicht führt auch das zu sporadischem Einfrieren?🤔

  • Sinowine Ich habe nun über das homebridge-cmdswitch2 Plugin die Anzeige der Uhr selbst im HomeKit integriert. Die Einträge in der Config sehen so aus:

    Code
    {
      "name": "Awtrix",
      "on_cmd": "curl --header \"Content-Type: application/json\" --request POST --data '{\"power\": true}' http://192.168.0.66:7000/api/v3/basics",
      "off_cmd": "curl --header \"Content-Type: application/json\" --request POST --data '{\"power\": false}' http://192.168.0.66:7000/api/v3/basics"
     },

    So lässt sich das Display der Uhr in HomeKit an- und ausschalten.;):thumbup:

  • Also Stottern vermerke ich bei der direkten Verbindung zwischen Raspberry und Wemos per USB keine, allerdings habe auch ich das Problem, wenn ich zwei mal die gleiche Notifikation abschicke, hängt sich der Host auf. Ich kann mir gut vorstellen, dass das am geringen RAM im Raspberry Pi Zero W liegen, da die Icons wohl alle gecached werden.