Beiträge von execute1337

    Moin Moin,
    Ich stelle euch denn mal mein aktuelles Projekt vor :)

    Ja, was ist eigentlich das Ziel? Im Grunde genommen war für mich der Weg das Ziel... Eigentlich wollte ich nur Python lernen. Nachdem ich mich ein wenig in die Grundlagen eingearbeitet habe, musste ich es irgendwie interessant machen. Nur wie?

    So richtig interessant wird es doch erst wenn etwas sichtbar und anfassbar ist, und mit einem interagiert. Deswegen kam ich schnell auf Pygame und Funksteckdosen. Warum also nicht einen einfachen Lichtschalter durch etwas modernes wie einen Touchscreen austauschen. Am besten so, dass er einen noch andere Informationen anzeigt, wie das aktuelle Wetter, die Temperatur, Uhrzeit, Datum, und denn auch noch schön verpackt?

    jkgcdxoj.png

    Als Softwarebasis benutze ich:
    -Raspbian
    -raspberry-remote von xkonni
    -wiring-pi
    -notro´s FBTFT Treiber
    -pywapi (Eine Python Wetter API)
    -Python
    -Pygame

    Die Hardware ist folgende:
    -RPi 2 (soll später vielleicht auf einem RPi A+ laufen)
    -Waveshare 3.5 inch RPi LCD (A) mit Touchscreen
    -einen kleinen WLAN-Stick den ich noch rumliegen hatte
    -ein 433MHz Funkmodul
    -Brennenstuhl Funksteckdosen


    Funktionen:
    Dauerhaft angezeigt werden Datum, Uhrzeit und Wetterinformationen

    Auf der linken Seite kann man in die einzelnen Raum-Menüs, sowie in das "Einstellungs-Menü" gehen

    jig7ae8l.png

    Durch antippen der Icons auf der rechten Seite, schaltet sich das jeweilige Gerät an oder aus und das Icon wechselt dementsprechend.

    Das "Einstellungs-Menü"

    jkkg75rr.png

    Ja... Viel lässt sich nicht gerade einstellen, wie man sieht :D

    Man kann aktuell nur die Farbe der oberen Leiste wirklich einstellen.
    Weiterhin, kann man einen Reboot oder einen Shutdown ausführen.
    Oben rechts werden Statusinformationen angezeigt, wie die IP-Adresse (aktuell nur von wlan0), die Uptime und die CPU-Temperatur.

    Da wird im laufe der Zeit bestimmt noch mehr dazu kommen....

    #######Update 1#######

    Bestätigungsabfrage für Shutdown und Reboot hinzugefügt:

    c4omcsnu.png

    #######Update 2#######

    Dank der tollen Unterstützung von GreatJo, stürzt das Skript nicht mehr ab, wenn die Internetverbindung verloren geht.
    Statt der der Wetterdaten erscheint jetzt der Schriftzug "Wetterdaten nicht verfügbar".

    6tspldr5.png

    Was noch folgen soll:

    1. Sprachsteuerung über Mikro oder Smartphone
    2. Steuerung über das Smartphone/Web
    3. Eine Webcam, in Verbindung mit einer Lichtschranke und Telegram. Wenn jemand die Wohnung betritt, soll mir ein Bild zugeschickt werden.
    4. Fensterkontakte, mit denen der RPi mich warnen kann, wenn ich die Wohnung verlasse und vergessen hab ein Fenster zu schliessen
    5. Mein NAS-Integrieren, sodass er sich schlafen legt, wenn ich die Wohnung verlasse und aufwacht wenn ich wieder Heim komme.
    6. Display Abschaltung nach x-Sekunden und eine Helligkeitsregelung.
    7. Schnellschaltfunktion. Durch schnelles doppeltes tippen auf den Touchscreen schaltet sich das Licht im jeweiligem Raum ein.

    Weitere Ideen werden bestimmt noch folgen, allerdings geh ich das erstmal langsam an, da auch noch einige Probleme vorhanden sind.

    Aktuelle Probleme:

    1.
    Die raspberry-remote von xkonni verwendet als DATA-Pin, den Pin 11 (GPIO17). Dieser wird nun aber meinem Display benutzt. Dieses belegt die ersten 26 Pins. Ich hab es noch nicht geschafft den Pin zu ändern.
    Nun bin ich vorhin auf ein Tutorial gestoßen. Dort wird von "overlays" gesprochen. Könnte ich diese Funktion nutzen, um der raspberry-remote einen anderen Pin zuzuweisen? Kann das Display dann den Pin auch noch regulär weiter nutzen?

    2. Problem gelöst
    Das Pygame Skript stürzt ab, wenn die Internet Verbindung verloren geht. Das liegt daran, dass Pywapi dann keine Wetterinformationen holen kann und einen Fehler zurückbringt. Ich hab noch nicht herausgefunden, wie ich mit solchen Fehlern im Skript umgehen muss.

    Da ich aktuell Urlaub habe und mein RPi an meinem Arbeitsort liegt, kann ich Lösungsvorschläge leider noch nicht testen.
    Ich würde mich trotzdem freuen wenn sich der eine oder andere dazu äußern könnte. Vielleicht habt ihr ja noch ein paar Ideen :)

    Ich hoffe es gefällt euch :)

    Hi,
    Also ich hab das Display auf einem Standart Raspbian Image zum laufen gebracht... Ich wollte nicht das "vollgemüllte" Image nehmen, was Waveshare anbietet.
    Funktioniert bei mir auch tadellos auf dem RPi2 :)

    1. Zuerst in die raspi-config gehen

    Code
    sudo raspi-config


    Dort dann das übliche "expand filesystem" und noch SPI aktivieren.

    2. In der folgenden Datei

    Code
    sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf


    fb0 zu fb1 ändern.

    3. Notro´s FBTFT Treiber laden

    Code
    sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update
    sudo reboot

    4. Das Display testen

    Code
    sudo modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
    Code
    sudo modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

    Jetzt müsste das Display schonmal nicht mehr weiß sein.

    5. Um den Treiber bei jedem start zu laden müsst ihr in die Datei /etc/modules folgende Parameter eintragen:

    Code
    flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
    fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

    6. Zusätzlich noch in die config.txt

    Code
    gpu_mem=128


    und in die cmdline.txt

    Code
    fbcon=map:1 fbcon=font:ProFont6x11


    eintragen.
    Die cmdline.txt hat nur eine Zeile, dort den Eintrag einfach hinten an die Zeile anhängen!

    Zur Touchscreen-Kalibrierung hab ich einfach den xinput-calibrator genutzt...

    Ich hoffe das hilft hier jemandem :)

    Moin Moin,

    Ich wollte über ein 3.5 Zoll Touchdisplay meine 433MHz Funksteckdosen schalten.
    Da dies noch auf einer Reise von Fern-Ost nach Deutschland war, hab ich das ganze anfangs mit einen normalen Monitor gemacht.
    Das Pygame Skript was ich entworfen habe, funktioniert auch einwandfrei.
    Um die Steckdosen zu schalten, bin ich dieser Anleitung vorgegangen.

    Nun zur aktuellen Situation:
    Mein Display ist angekommen und ich habs auch auf dem RPi 2 zum laufen gebracht.
    Das Display belegt leider die kompletten ersten 26 GPIO´s. Das heisst ich muss den DATA Pin des Senders ändern. Dafür würden noch die Pins 27-40 in Frage kommen.
    um den Pin zu ändern bin ich nach dieser Anleitung vorgegangen.
    Wenn ich jetzt aber einen Befehl zum an/aus schalten sende, wie:

    Code
    sudo send433 11111 1 0


    dann steht für ca 30 Sekunden folgendes da:

    Code
    sending systemCode[11111] unitCode[1] command[0]


    Dabei tut sich natürlich nichts...

    Hat vielleicht jemand eine Idee, woran das liegen könnte?

    Vielen Dank schonmal im vorraus :)

    Aus beruflichen Gründen hab ich werde ich wohl längere Zeit lang, nicht die Möglichkeit haben, an dem Projekt weiter zu arbeiten.

    Aber ich bedanke mich herzlichst für euer Lob! <3
    Wenn ich doch dazu kommen werde, werdet ihr das natürlich erfahren! :)

    lG


    Für PICs steht sowohl unter Windows als auch unter Linux das MPLAB-X zur Verfügung.
    Schade ist nur, dass viele Programmer, die es mittlerweile spottbillig bekommt, nicht unterstützt werden.

    Für PIC´s hab ich mir damals in der Ausbildung einen Brenner gebaut.

    9lxf45si.png

    Programmiert wurde dabei über MPLAB und die Hex dann mittels USBurn übertragen.
    Das ganze war natürlich keine Eigenentwicklung und nennt sich Brenner8, von http://www.sprut.de.

    Ich hab lediglich das Layout neu entworfen, sodass ich mini-USB hatte und das ganze in ein Gehäuse schieben konnte.

    also eigentlich müsstet du nur den mechanischen wechselschalter gegen einen kreuzschalter austauschen... dann kannst du alle benutzen oder irre ich mich da?

    Bei einer Kreuzschaltung kann man 3 oder mehr Taster verwenden. In diesem Fall kannst du den Funkschalter (Wechselschalter) nehmen, davon gehst du auf einen Kreuzschalter (im Austausch für den ursprünglichen, mechanischen Wechselschalter), und anschließend auf den Wechselschalter am anderem Ende des Raumes.

    http://de.wikipedia.org/wiki/Kreuzschaltung

    Mahlzeit!

    Frisch registriert, möchte ich gleich mal mein Projekt vorstellen :)

    z2uhyypr.png

    "Operation GameBox" :D
    Eigentlich wollte ich mir nur RetroPie (Vielen Dank an Aloshi und Petrockblog) raufschmeißen und ein paar alte Spiele spielen.
    Doch wenn der Basteltrieb erstmal geweckt ist, fallen einen plötzlich tausende von Ideen zum erweitern ein.

    1. So fing es denn an, dass ich meinen XBOX360 Wireless Controller nutzen wollte.
    - xboxdrv installiert und Controller konfiguriert

    2. Dann gefiel mir das aussehen überhaupt nicht. Also hab ich einen neuen Splashscreen entworfen (hier entstand der Projekt-Name) und musste neu themen...
    (An dieser Stelle möchte ich das Theme von Florian Hurtaut erwähnen, das ich in diesem Stil übernommen habe)
    - Es war nur leider auf eine spezifische auf Auflösung optimiert, also übernahm ich Stil und Elemente aus seinem Theme, baute alles neu auf, fügte hinzu, veränderte und probierte und probierte... (das ganze sollte hauptsächlich bei 1080p über HDMI passen, aber auch kompatibel mit dem Composite-Ausgang sein)

    3. Zwischendurch hab ich mir, durch das direkte kappen der Stromversorgung, öfter mal das Dateisystem zerschossen. also musste ein Hoch-/Runterfahrtaster her. An dieser Stelle: Vielen Dank an Kernkrank aus diesem Forum!
    Referenz: https://www.forum-raspberrypi.de/Thread-tutoria…incl-status-led
    Also malen nach Zahlen... äh, ne... Verlöten nach Zahlen.. klappt super! :)

    bf2655m2.jpg

    q3qk8qw9.jpg

    4. Als ich noch beim themen war, kam mir schon die nächste Idee: Warum nicht Spiele integrieren, die zeigen was der RasPi drauf hat?

    iiwlqhya.png

    fbs2mwuv.png

    - Also Open Arena, Quake 3 und Minecraft Pi Edition installiert
    - natürlich wieder neu themen ( :D ) und die Spiele in EmulationStation integriert
    - supi, läuft alles (außer Minecraft, dazu komme ich aber später)!

    5. "Irgendwie vermisse ich XBMC schon ein wenig".

    94429pzl.png

    :D
    Das der Pi noch auf 700MHz läuft, ist XBMC noch ein wenig unflüssig unterwegs...

    6. Da der X-Server schon standardmäßig mit drauf ist, sollte der natürlich auch aus Emulationstation zu starten sein. Zu diesem Zeitpunkt, bin ich "Ultimate Raspbian" gestoßen... (Die Idee war also wohl nicht ganz so neu :D ) Naja was solls, ich hatte/hab meinen Bastelspaß! Also rein damit:

    pcuqrahn.png

    7. Ich hab natürlich noch einige Emulatoren gethemed, wie z.B. die InputConfiguration, SNES, NES, Sega Genisis, GBA, GBC, DOOM, Duke Nukem 3D und CaveStory (super geiles OpenSource-Spiel!). Zusätzlich hab ich bei jeder/jedem Seite/Emulator unten rechts in die Ecke Symbole hinzugefügt, die einen zeigen, ob man Tastatur, Tastatur+Maus, Controller, oder Tastatur+Maus+Controller nehmen kann.

    5ce6a5ir.png

    8. Hardware - Zu guter letzt hab ich noch einen kleinen aktiven USB-HUB in meinem sowieso schon viel zu kleinem Gehäuse integriert. Somit hab ich aus zwei USB-Anschlüssen 5 gemacht, hab nur noch 1 Netzteil und 1 Gehäuse. Leider lässt sich der eine USB Anschluss nur nutzen wenn HDMI nicht benutzt wird, aber was solls :D

    v7ys9gj4.jpg

    59b3a7ri.jpg

    Die Probleme, bzw was noch folgen soll:

    1. Minecraft integrieren! Es ist zwar schon auf dem RasPi drauf, allerdings muss ein X-Server laufen um es spielen zu können. Doof, aber ist halt so.

    Meine Idee wäre:
    -mittels .sh (Script), X-Server starten und direkt mit neuem Benutzer (z.B. "Minecraft", damit er nicht bei dem anderen Desktop Probleme macht, bzw. diesen verändert) einloggen
    -Minecraft als Autostart-Anwendung betreiben
    -Minecraft im Fullscreen starten
    -Wenn Minecraft beendet wird, vom X-Server abmelden (damit er zurück in Emulationstation springt)

    Da scheitert es bei mir schon am ersten Punkt! Ich muss dazu sagen das ich absoluter Linux-Noob bin! Alles was ich weiß, hab ich mir mit dem RasPi angeeignet.

    Falls es in dieser Richtung Ideen gibt, lasst es mich ruhig wissen :)

    2. XBOX Controller mit xboxdrv (nicht xpad) in XBMC (so viele "X" :D)
    -ich krieg den absolut nicht zum laufen... er hat schon einmal in XBMC reagiert (total wahllos durchs Menü gesprungen), dann ging er aber lustigerweise in Emulationstation nicht mehr.

    Ist vorerst nicht so wichtig, da mein TV auch CEC unterstützt, wäre allerdings trotzdem cool wenn man nicht immer das Eingabegerät wechseln muss.

    3. Der XBOX Controller ist noch ein wenig glitchy in Emulationstation, das sollte ich aber schon hinbekommen.

    4. Ich hab mir von Anfang an überlegt, das ich mir den Composite-Ausgang offen halten will, falls man das Ding mal bei einem Kollegen, der vielleicht nur ne alte Röhre hat, anschließen will. Das Problem ist:
    Composite braucht Overscan
    HDMI braucht keinen Overscan

    Vielleicht finde ich ja noch herraus, wie man festlegt, dass wenn HDMI angeschlossen ist, Overscan automatisch deaktiviert wird.

    Soweit so gut, ich hoffe euch gefällt das :)

    Falls es gewünscht wird, kann ich gerne nochmal ein kleines Demo-Video bei Youtube hochladen.

    Vielen Dank und Entschuldigung für diesen sehr langen Post! :)

    Liebe Grüße aus dem Norden!

    Der Hub wird durch das mitgelieferte 2A Steckernetzteil befeuert (Anschluss über der SD-Karte). Vom Host-USB-Anschluss des Hub´s gehts auf den USB-Anschluss vom Pi, auf der Platine (damit war der obere USB-Port vorerst unbrauchbar. Dank Backpower vom Hub, versorge ich den Pi so mit über den Hub. Anschliessend kam einer der 4 Ports vom Hub, aus Platzgründen, raus. Diesen Port hab ich direkt von der Platine abgegriffen und auf den oberen Port vom Pi gelötet. Somit war der obere Port wieder nutzbar :D also:

    - Pi wird über USB vom Hub gepowert
    - Alle von außen erreichbare Anschlüsse sind Hub-Anschlüsse, bis auf den unteren USB-Port vom Pi

    Ein weiterer Nachteil wäre, dass ich die Polyfuse vom Pi damit umgehe...

    Vielen Dank dafür :)

    Mahlzeit!

    Hier mal meine Gehäusemodifikation :)


    v7ys9gj4.jpg

    59b3a7ri.jpg

    Als Basis hab ich ein Standart TEK-Berry Gehäuse, sowie einen kleinen aktiven USB-Hub von logilink:

    http://www.amazon.de/LogiLink-4-Port-Hub-Netzteil-schwarz/dp/B003ECC6O4/ref=sr_1_1?ie=UTF8&qid=1395834538&sr=8-1&keywords=logilink+usb+hub&tag=psblog-21 [Anzeige]

    Dieser lag für 8€ in der Grabbelkiste beim örtlichen Elektronikhändler :)

    Zusätzlich hab ich nach folgender Anleitung ein Hoch/Runterfahr-Taster integriert (Vielen Dank an Kernkrank)

    https://www.forum-raspberrypi.de/Thread-tutoria…incl-status-led

    Vorteile:

    - 5 USB-Ports
    - Nur eine Stromversorgung

    Nachteile:

    - Ich musste am Pi rumlöten (am USB-Anschluss und der Connector S2 musste raus)
    - Der eine USB-Anschluss kann nur benutzt werden, wenn HDMI nicht genutzt wird

    Grüße aus dem Norden!

    Kann man dem startx-Befehl eine Variable zuweisen, sodass die xsession von einem bestimmen user ausgeführt wird?

    Beispiel:
    startx pi -> Desktop öffnet sich, user "pi" ist angemeldet
    startx root -> Desktop öffnet sich, user "root" ist angemeldet
    startx xyz -> Desktop öffnet sich, user "xyz" ist angemeldet

    Vielen Dank schonmal im vorraus :)

    Hast du denn einen kabelgebundenen oder einen wireless Controller?

    ich habs nach folgender anleitung gemacht:
    https://github.com/petrockblog/Re…x360-controller

    ansonsten probier mal:

    Code
    sudo nano ~/RetroPie/configs/all/retroarch.cfg

    dort mit STRG+V ans ende der liste springen und alles für den player 1 löschen.
    natürlich speichern und beenden.

    danach:

    Code
    cd ~/RetroPie/emulators/RetroArch/installdir/bin/
    Code
    ./retroarch-joyconfig -o p1.cfg -p 1 -j 0

    den anweisungen folgen und zu guter letzt:

    Code
    sudo cat p*.cfg >> ~/RetroPie/configs/all/retroarch.cfg

    damit müsste der controller neu konfiguriert sein

    lg