Danke für die Ergänzung
Also mein Display hat keine Tasten. Ich nutze dieses hier. Da kann ich dir also nicht weiter helfen...
Hat es eigentlich schon irgendjemand hinbekommen, die Beleuchtung zu dimmen, oder auszuschalten?
Danke für die Ergänzung
Also mein Display hat keine Tasten. Ich nutze dieses hier. Da kann ich dir also nicht weiter helfen...
Hat es eigentlich schon irgendjemand hinbekommen, die Beleuchtung zu dimmen, oder auszuschalten?
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?
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
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ü"
Ja... Viel lässt sich nicht gerade einstellen, wie man sieht
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:
#######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".
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
Dort dann das übliche "expand filesystem" und noch SPI aktivieren.
2. In der folgenden Datei
fb0 zu fb1 ändern.
3. Notro´s FBTFT Treiber laden
4. Das Display testen
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
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:
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
und in die cmdline.txt
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:
dann steht für ca 30 Sekunden folgendes da:
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!
Wenn ich doch dazu kommen werde, werdet ihr das natürlich erfahren!
lG
xStream ist der richtige Ansatz!
Du lädst dir einfach die folgende Repo im .zip Format runter und installierst über XBMC.
http://superrepo.org/get-started/ad…tory-as-source/
Danach kannst du durch die add-ons stöbern und irgendwo dazwischen befindet sich xStream.
Installieren und konfigurieren (welche Stream-Dienste du angezeigt haben willst). KKiste ist soweit ich weiß auch dabei.
https://www.forum-raspberrypi.de/Thread-retropi…=71989#pid71989
Selbes Prinzip
Emulationstation und die Emulatoren (RetroArch) haben zwei unterschiedliche configs.
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.
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.
Dankeschön
Aber es gibt noch einiges fixen, also mal sehen wie´s damit weitergeht...
Frage zum USB-Hub? Was meinst du?
Ich habe das Gehäuse mit Hub soweit ich weiss nur im Gehäuse-Forum vorgestellt
Mahlzeit!
Frisch registriert, möchte ich gleich mal mein Projekt vorstellen
"Operation GameBox"
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!
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?
- Also Open Arena, Quake 3 und Minecraft Pi Edition installiert
- natürlich wieder neu themen ( ) 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".
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 ) Naja was solls, ich hatte/hab meinen Bastelspaß! Also rein damit:
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.
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
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!
https://www.forum-raspberrypi.de/Thread-retropi…=71989#pid71989
Das Problem ist, das Emulationstation und RetroArch zwei Unterschiedliche configs haben... zwar lässt sich das auch irgendwie über Emulationstation selbst konfigurieren, allerdings hats bei mir nur mit der Konsole funktioniert.
Wenn du keinen XBOX Controller hast, kannst du den obersten link im Thread ignorieren.
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 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
hmm... das ja doof jetzt
gibts denn vllt eine möglichkeit das mittels script zu lösen?
Mahlzeit!
Hier mal meine Gehäusemodifikation
Als Basis hab ich ein Standart TEK-Berry Gehäuse, sowie einen kleinen aktiven USB-Hub von logilink:
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:
dort mit STRG+V ans ende der liste springen und alles für den player 1 löschen.
natürlich speichern und beenden.
danach:
den anweisungen folgen und zu guter letzt:
damit müsste der controller neu konfiguriert sein
lg