Posts by Turael

    moin ;)

    ist mir schleierhaft was da passiert ist aber scheinbar war der User irgendwo zwischen "warte auf aktivierung" und aktiver Benutzer...

    Ich hab ihn nochmal in die "warte auf aktivierung" geschoben und nun sollte er hoffentlich eine mail bekommen - wenn nicht bitte nochmal kurz melden.


    viele Grüße

    Turael

    Moin raspidev,


    installieren brauchst du da erstmal gar nichts ;)
    1. Neues Java-Projekt erstellen
    2. Pi4J runterladen
    3. Als Abhängigkeit / Classpath an das Projekt hinzufügen (Anleitungen dazu gibt es genug im Netz)
    4. drauf los programmieren


    du kannst auch Maven nutzen - ist allerdings als Anfänger möglicherweise nicht ganz so leicht reinzukommen...


    Falls du Probleme dabei hast kannst du gerne nochmal nachfragen :)


    viele Grüße


    Turael

    Die Idee zu diesem Projekt gibt es ja schon ewigkeiten... Allerdings hatte ich anfangs keine Lust drauf ;)
    Doch seit ein paar Wochen spiele ich immer wieder mit einem Gameboy Emulator auf meinem Handy - in der Bahn, auf dem Sofa oder ganz beliebt auf dem Stillenörtchen.
    Als ich dann das Video gesehen habe, stand fest ich muss mir unbedingt so ein dingen bauen! :D


    Zunächst habe ich die Videos von Wermy genauer angesehen und festgestellt, dass die original Platine zwar günstig aber sehr sehr viel gefruckel ist und dass ich mir das nicht antun will / nicht die Zeit für sowas habe.
    Auch das verkabeln der einzelnen Elemente sieht auch nicht grade gut aus und verspricht sicherlich keine lange Lebensdauer.
    Daher möchte ich den Weg mit dem fertigen All-in-one PCB von Helder.
    Folgende Komponente stellt das PCB bereit:


    • Schablone für X&Y Buttons
    • PWM Audio Filter
    • Audio amp
    • vorprogrammierter Atmega32U4 (für die kontrolle der Buttons)
    • einen USB Hub mit 3 freien Ports


    Versteht mich nicht falsch, ich bastel verdammt gerne aber diesmal habe ich mir gesagt: Ich möchte wenig tun für den Erfolg ;)
    Auch ein wenig meiner freien Zeit geschuldet, die derzeit mit Terminen übersät ist...
    Naja hier meine abgespeckte Bauteilliste:


    • Ein Gameboy DMG 01 Gehäuse ---12€
    • GBZ All in One PCB ---31€
    • RPi Zero ---9€
    • Adafruit Powerboost 1000 Charger ---21€
    • Lipo 2000mAh ----9€
    • [Amazon] TFT-LCD Screen ---20€
    • Kleinteile ---ca 10€

    Es gab letztes Jahr viel zu sehen - allerdings überwiegend 3D Drucker. Trotzdem würde ich mich je nachdem auch mal blicken lassen - vorrausgesetzt ich finde eine günstige unterkunft :D Da gab es ja genug Probleme das letzte mal...



    @meigraf
    Danke für den Hinweis ;)

    MQTT ist schon was feines und mich freut es mal wieder über ein Projekt zu hören :)
    Es gibt zahlreiche Clients für MQTT - wenn nicht sogar für jede Sprache einen Client.
    Ich persönlich habe schonmal einen Javascript Client (als Webapp) verwendet. Wenn du eine Hochsprache bevorzugst, dann wäre Java sicherlich auch eine gute Variante (wegen der ähnlichkeit zu C#). Bei bedarf schau ich nochmal was für Clients ich da verwendet habe ;)


    Gruß Turael

    Eine alternative wäre auch noch Telegram bzw die Telegram Bots. Ich habe irgendwo einen Server stehen (ok ist kein RPi aber ist eigentlich egal ;) ) und von dort aus rufe ich die Rest API von Telegram auf, welche mir dann eine Nachricht ans Handy, Desktop Client oder sogar an irgendeine Linux Konsole schickt...
    Für Java gibt es da schon einige Bibliotheken um diese Telegram API zu nutzen - einfach mal nach googlen ;)

    Soooo... endlich sind die Netzteile mal angekommen.
    Direkt den USB-Stecker abgeschnitten und die beiden Leitungen an meinem Arduino Pro-mini angelötet und so schauts nun aus:




    Ich denke ich werde mir noch Dekorfolie kaufen um das Holz noch schön zu verkleiden... danach kann alles geklebt werden.
    Wenn ich mit dem einen fertig bin, warten halt noch 5 Stück auf mich :D



    Btw:
    Ich habe mir für den Dremel noch einen Oberfräsen aufsatz geholt damit ich super leicht eine aussparung fräsen kann - einfach klasse das teil :D

    Raspberry Pi Zero




    Endlich gibt es einen neuen Raspberry Pi im mini Format.
    Folgende Hardware bringt er mit:


    • Broadcom BCM2835 Prozessor (1GHz ARM11 Kern und somit 40% schneller als der erste Raspberry Pi)
    • 512MB LPDDR2 SDRAM
    • Micro-SD Kartenslot
    • mini HDMI Ausgang
    • 2x Micro-USB jeweils für die Stromversorgung und Daten
    • einen GPIO Header mit 40-Pins (Header ist identisch mit den Modellen A+, B+ und 2 B)
    • Composite Video Header
    • Formfaktor: 65mm x 30mm x 5mm


    Hier in Deutschland gibt es den Pi ab 13€ bei Farnel zu kaufen.


    Vor und Nachteile hat meigrafd in diesem Post kurz vorgestellt.

    Dazu habe ich mir noch nicht all zu viele gedanken gemacht... aber ich denke es wird sicherlich diverse bedeutungen je Farbe geben.
    Man wird sehen wie das ganze laufen wird ;)


    -----------
    Wenn es zu kaotisch läuft, bleibt immer noch die Möglichkeit die Lampe unabhänig von den anderen zu steuern ;) - Ein Hoch auf das MQTT Protokoll :)

    Luminous


    Da ich ganz gerne etwas bastel, habe ich mir für dieses Weihnachtsfest was ganz besonderes für meine Familie und Freunde ausgedacht.
    Ich möchte eine Lampe bauen, die quasi Kurznachrichten verschicken kann - wie das?!
    Diese Lampen werden alle über das Internet vernetzt sein, sodass jemand eine Nachricht an alle Lampen schicken kann.
    Solche Nachrichten bzw. besser gesagt Gefühle / Emotionen werden dann in unterschiedliche Farben dargestellt.
    Immer wenn jemand nach Hause kommt, vielleicht zbs. einen schlechten Tag hatte und sauer ist, würde er die Lampe anmachen und die Farbe einfach mal auf Rot stellen.
    Das gleiche würde dann auch für andere Gefühle / Emotionen gelten mit unterschiedlichen Farben. Ich habe mich bewusst keine Vorgabe gemacht über eine Farbe <--> Gefühl Zuordnung, da ich selbst auch gerne sehen würde wie das bei 6 Teilnehmern / Lampen im Netzwerk funktioniert ;)



    Hardware
    Zunächst habe ich mir erst mal Gedanken gemacht, was ich für Hardware in diesem Projekt brauche.
    Da dbv, trek_star und andere zu der Zeit viel mit dem ESP8266 machen wollten, stand schon fest, dass ich da auch mit anfangen wollte.
    Als Lichtspender habe ich mir die Neopixel LEDs ausgesucht, diese gibt es in verschiedenen Varianten und Formen - ich habe mit einem 24RGB LED Ring angefangen zu testen.
    Um diese beiden Komponenten zu steuern, verwende ich einen Arduino Pro-Mini (3.3V).
    Damit wären alle elektronischen Bauteile zusammen - mehr als Lochrasterplatinen brauche ich erst mal nicht.
    Um auch ein gewisses Ambiente zu schaffen, taugen die LEDs erst mal nicht, da diese je nach Einstellung sehr grell sind.
    Allerdings kann da ein Plexiglas oder ein PVC-Rohr abhilfe schaffen und dieses Licht angenehm verteilen.
    An dieser Stelle nochmal ein dickes Dankeschön an unseren Moderator Mario, der mir 3 Plexiglas Rohre besorgt hat.
    Um das ganze noch ein wenig abzurunden und um die Elektronik zu verstecken werde ich aus 2 Holzflächen einen Unterbau schaffen.
    Im Unterbau selbst kommt die Elektronik rein und oben drauf der LED Ring samt Plexiglas Rohr.


    Als kleine Übersicht nochmal alle Teile mit Preise aufgelistet.

    • Stromversorgung (Smartphone Netzeil) - 1,84€
    • ESP8266 Modul - 1,67€
    • Arduino Pro mini (3.3V) - 2,67€
    • Lochrasterplatine (70x30mm) - 2,45€
    • Neopixel RGB LED Ring (24 LEDs) - 5,16€
    • PVC Rohr (90 x 1,8mm - 20cm Länge) - 4,58€
    • Regalbretter (hxbxl 18x300x800mm) - 5,50€




    Hier habe ich die transparenten PVC Rohre mit verschiedenen Schleifpapiere bearbeitet. Ganz rechts sieht man das Rohr im "Urzustand".
    Ganz Links habe ich ein 120er Schleifpapier benutzt, wo mir das Ergebnis am wenigsten gefällt. Man kann teilweise ziemlich deutlich die tiefen Kratzer sehen und ist daher eher unschön für LEDs.
    In der Mitte habe ich 1000er Schleifpapier verwendet und da gefiel mir das Ergebnis eigentlich am besten.
    Um das Aussehen zu testen, habe ich natürlich alles mal zusammengesteckt...




    Teilweise habe ich mir noch weiteres Werkzeug angeschafft für diese und zukünftige Projekte.
    Mit unter war ein Dremel3000 dabei (super Teil kann ich nur empfehlen) und diverses Kleinzeug...


    Software
    Lampe
    Die Software für die Lampe ist mit unter das schwierigste für mich bei diesem Projekt gewesen. Dies ist mein erstes Arduino Projekt und ich musste mich direkt in knifflige Themen einarbeiten. Aber wie sagt man: An Herausforderungen wächst man? ;)


    Als Erstes habe ich die Firmware vom ESP gewechselt. Die ESPDuino Firmware von tuanpmt erschien mir brauchbarer als die Werksfirmware. Durch eine schön dokumentiere Installationsanleitung, war die Firmware schnell aufgespielt und einsatzbereit. Durch verschiedene Code-Beispiele fällt der Umgang mit der Firmware auch super leicht.
    Die ersten Kontaktversuche liefen schon sehr vielversprechend mit meinem Mqtt Broker (Server der die Verteilung der Messages übernimmt - später mehr dazu).


    Als nächstes habe ich mich um die Steuerung der LEDs gekümmert. Zunächst habe ich die erst mal die Farbmuster von den Code-Beispielen verwendet, um einfach ein Ergebnis zu sehen...
    Allerdings sollte mir das später zum Verhängnis werden...
    Als ich später alles verbinden wollte - also MQTT Anbindung und den LED-Ring flog mir das ganze Programm um die Ohren... die Bits und Bytes aus dem Netzwerk kamen nicht mehr sauber an und es wurde einfach gar keine Aktion mehr ausgeführt... ich habe wochenlang mit diesem Problem zu kämpfen gehabt... aber so ist das nun mal, wenn man sich in einem Thema einarbeitet...
    In einem Forum habe ich den Tipp bekommen mir doch mal den Speicher vom RAM mir anzuschauen und tadaaa er war randvoll! Darum konnten also die Bytes aus dem Internet nicht mehr richtig empfangen werden...
    Aber selbst nach Entfernung von unnützer Variablen und Abfragen bliebt das Problem bestehen! Nach noch mal einigen Wochen Fehlersuche, wollte ich einfach mal die Farbmuster von der Neopixel Library überarbeiten.
    Diese bestanden meist aus 2-3 for schleifen - hört sich erst mal nach fast nichts an... aber bei knapp 2024kb RAM Speicher ist das verdammt viel!
    Nachdem die Farbmuster umgebaut waren, fluppe alles ohne zu murren - der RAM sah danach auch wieder besser aus.
    Ich bin an einem Punkt gekommen, wo ich wirklich nicht mehr weiter wusste... aber nun bin ich froh, dass ich aus diesem Problem meine Erfahrungen ziehen kann.


    An dieser Stelle möchte ich euch den Quellcode nicht vorenthalten:
    Luminous Arduino Quellcode


    Sicherlich gibt es da einige Sachen die man verbessern könnte... Wenn euch was auffällt, dann schreibt mir gerne!


    MQTT Protokoll
    Damit der Netzwerkverkehr auch ordentlich geregelt ist, muss unbedingt ein kleines Protokoll her. Es soll leichtgewichtig und trotzdem schön flexibel sein.
    Als ich dann in der Heise iX einen Artikel über das Mqtt Protokoll gelesen habe, stand fest DAS BRAUCHE ICH! :)
    In diesem Protokoll geht es (kurz beschrieben) um verschiedene Topics (Nachrichten Kanäle) und die jeweiligen Nachrichten.
    Jede Software hat die Möglichkeit einer oder mehreren Topics zu folgen (subscribe) und bekommt dann alle Nachrichten die über die jeweilige Topic gesendet wurden.


    Kleines Beispiel:


    Topic: /home/Schlafzimmer/Temperatur


    Ich habe unterschiedliche Anwendungen, die diese Temperatur aus dem Schlafzimmer benötigen.
    Dazu muss jede Anwendung nur dieser Topic ("/home/Schlafzimmer/Temperatur") folgen und bekommt dann automatisch die aktuelle Temperatur zugespielt.
    Ihr merkt: Super wenig Aufwand und ein super Ergebnis!


    So aber nun zurück zum Projekt.
    Um das MQTT Protokoll zu verwenden brauche ich auch einen Broker (so werden die MQTT Server bezeichnet).
    Dazu habe ich auf einem Raspberry den Mosquitto Broker installiert, Mosquitto bietet dazu auch einen speziellen Build für den Raspberry an.
    Allerdings ist mir aufgefallen, dass man einige Optionen nicht im Nachhinein einstellen kann. Z.B. war es mir nicht möglich den Broker auf der Basis von Websockets laufen zu lassen.
    Darum habe ich mich entschieden die Sourcen runterzuladen, die Konfiguration vorzunehmen und dann das Projekt selber bauen.
    Für den Anfang reicht die normale Konfiguration, welche ich zum testen verwende. Allerdings sind dort noch keine Benutzer oder Zugriffsregeln definiert.
    Es ist möglich, dass ein Benutzer nur bestimmte Topics folgen kann und auf andere keine Zugriffsrechte hat.
    Verschiedene Anleitung zum aufsetzen eines Broker findet sich super leicht im Netz - daher gehe ich nicht auf diese Schritte ein...


    Webapplication
    Ein weiterer Teil der Software ist die Webapplication (Webapp), womit man die Lampe / Lampen steuern kann. Diese Webapp möchte ich so klein wie möglich gestalten und verzichte daher auf komplett auf PHP oder gar JavaEE. Übrig bleibt nur HTML5 und Javascript (JQuery Mobile um genauzu sein). Ich habe bisher noch nicht viel mit Javascript oder Jquery gemacht aber es war echt erstaunlich, wie schnell man zu einem schönen Ergebnis gekommen ist und wie wenig Aufwand man rein stecken muss.
    Hier ein paar Screenshots von der Webapp:





    Weitere Todo´s
    Innerhalb der Software für die Lampe muss ich noch viele Einstellungsmöglichkeiten einbauen, um die Konfiguration an das jeweilige Heimische WLan Netz noch einfacher zu gestalten.
    Dazu möchte ich noch die LED Muster überarbeiten - einige Timer sind ein wenig schnell und müssten mal runter gesetzt werden.


    Währenddessen möchte ich auch die Gehäuse zusammenbauen. Ich werde 2 Holzplatten (130x130mm und 150x150mm) aufeinander leimen. In der oberen Platte wird ein Loch drin sein, wo man die Elektronik rein packen kann. Je nachdem wie es passt, müsste ich in der unteren Platte ein bisschen was rausfräsen... Ich hoffe es läuft so, wie ich mir das denke, wenn ja bin ich sicherlich in 2-3 Wochen fertig mit dem Projekt und kann euch weitere Bilder von der fertigen Lampe präsentieren.


    Zum Abschluss möchte ich hier noch ein Video zeigen. Im Video zeige ich die verschiedenen Steuerungen und Farben der Lampe.


    Luminous Projekt auf Youtube


    Das unbekannte rote Bauteil wird wohl ein LevelShifter sein. Der funktioniert im Prinzip so: http://playground.arduino.cc/u…2c-level-shift-mosfet.png
    Es wird der Spannungslevel von 5V (Arduino) auf 3,3V (ESP) abgesenkt.


    Danke dir ;) Sowas in der Art hab ich schon vermutet. Nur ist das Teil ein wenig über - der Arduino hat ja schließlich schon einen 3.3V Ausgang.



    Ich hab grade mal ein Video gemacht - das was ich da grade am PC im Webinterface mache, machen später dann andere Geräte ;)


    Adafruit NeoPixel Ring gesteuert mit dem MQTT Protokoll (ESP8266)

    Hallöchen ihr,


    wie schon angekündigt möchte ich ein paar Worte über das Projekt espduino verlieren ;)
    Kurz zu meinem Projekt:



    Ich möchte über das Message Queue Telemetry Transport Protokoll (kurz MQTT) viele Geräte untereinander kommunizieren lassen. Diese Geräte werden über dieses Protokoll dann ein paar LEDs beschalten. Damit ein Gerät neue Informationen direkt an seine Kollegen weitergegeben kann, verwende ich MQTT.
    Auf der Suche nach einer geeigneten Arduino API bin ich dann relativ schnell auf espduino gestoßen. Der Entwickler wirbt mit folgenden Features:


    • Sicherer Umgang als über die AT COMMAND


    MQTT module:

    • Stabiler MQTT client (verwendet Native MQTT client (esp_mqtt))
    • Unterstützt folgende MQTT Befehle: subscribe, publish, authentication, keep alive pings und alle 3 QoS Levels
    • Mehrfache Verbindungen (auch zu unterschiedlichen Broker) sind möglich
    • SSL Support
    • Einfach zu installieren und zu benutzen


    REST module:

    • Unterstützt GET, POST, PUT, DELETE
    • setContent type, set header, set User Agent
    • Benutzerfreundliche API
    • SSL Support
    • Mehrfache Verbindungen möglich


    Dieses Projekt beinhaltet zum einen eine eigene Firmware für den ESP8266 und zum anderen die API für den Arduino - zusätzlich liegen noch 3 kleinere Beispiel Sketche bei.
    Außerdem ist eine komplette Installationsanleitung (mit Bildern über Schaltungen) vorhanden.


    Meine in Betriebnahme:
    Das Projekt ist leicht durch Git herunter geladen und die ersten Schritte bestehen aus der verkabelung des ESP8266 an den Arduino.
    Die Bilder / Fritzing Diagramme sind schön übersichtlich und leicht nachzuvollziehen.
    Nachdem alles verkabelt ist, kann man mit einem beiliegenden Python Flash Tool die eigene Firmware auf den ESP ziehen. Danach noch ein paar Leitungen umstecken und schon ist der ESP fertig für den Einsatz - bisher alles super reibungslos.


    Danach bestand die Aufgabe darin, einen kostenfreien Broker (einen MQTT Server) zu finden. Einer der ersten Treffer war der mosquitto Test Broker. Mit diesem Server habe ich in dem Beispiel Sketch "mqtt" hinterlegt, dazu noch meine WLan Zugangsdaten eingetragen und direkt mal hochgeladen auf meinen Arduino.
    Ich wurde erstmal von einer Welle aus Log-Nachrichten erschlagen - aber irgendwo tauchte mal das "Connected to mosquitto.org" auf und war erstmal begeistert. Um nun irgendwelche Daten hin und her zu verschicken, habe ich mir einen kostenlosen Client runtergeladen (MQTT.fx). Wie auch schon auf dem Arduino verbinde ich mich mit dem Client auf dem Broker. Einen Channel subscribed, eine Message publiziert und enttäuscht festgestellt: es kommt nix an! Naja ok ... kann viele Ursachen haben. Probiere ich doch erstmal vom Arduino eine Nachricht zu verfassen. Leider ging das nicht sooooo wie ich wollte - nämlich gar nicht ;)
    Nach tage langer suche im Internet bin ich auf einen Blog-Kommentar aufmerksam geworden, der eine ziemlich einfache und fast auch schon banale Lösung hatte: Einfach mal den Broker wechseln. Darauf hin habe ich noch 2 weitere Broker ausprobiert aber leider auch erfolglos. Bei dem dritten kam dann endlich der lang ersehnte Erfolg! Ich konnte endlich Nachrichten lesen und schreiben - Ja sogar der Letzte Wille (eine Funktion im MQTT Protokoll) funktioniert!



    Naja wenn ihr in der Konsole irgendwelche Einträge seht die in etwa so aussehen wie dieser, dann solltet ihr mal den Broker wechseln ;)
    Die Queue wurde bei mir so massiv voll gepackt (2048 bytes), sodass der komplette Arduino sich aufgehangen hatte. Er konnte sich zwar noch 1-2 Minuten wieder fangen aber erstmal kam keine einzige Meldung mehr an.


    Bis auf das Problem was scheinbar nicht nur ich hatte, ist espduino eine echt starke API für den ESP8266. Die versprochenen Features wurden echt super eingehalten - mit der API ist es super einfach sich mit dem Netzwerk zu verbinden, um diverse Server zu kontaktieren. Wenn ich mein anfängliches gehampel mit den ganzen AT-Commands vorstelle... da ist dieses Projekt eine echte bereicherung!
    Hat vielleicht noch jemand von euch Erfahrungen mit dieser API oder mit dem ESP und dem MQTT Protokoll gemacht ? Würde mich brennend interessieren! :)
    Aber für mich heißt es erstmal wieder: weiter basteln!

    Komisch... immer wenn man bei den coolen Beiträgen schaut, ist der Dreamshader net weit ;)


    Ich hab hier auch noch ein ganz gutes Projekt gefunden - ESPduino
    ESPduino besteht aus einer Arduino Library und einer extra Firmware für den ESP8266. Ich habe leider noch nicht all zu viele Erfolgserlebnisse damit gemacht... aber vielleicht jemand von euch? Wenn es klappt bietet die Library einen schönen Zugriff auf das MQTT Protokoll.
    Ich kann mich ab und zu mit dem Router verbinden (zumindestens kann ich das teil anpingen) aber irgendwie wechselt der Status der Library nicht auf "Ist Verbunden"... ziemlich strange... Ich werde die Tage mal mehr drüber berichten...