COOKIES

This site may be using cookies to melk you with your own data. I, ben0bi, am not the owner of this web service and I also do not maintain their servers. But the EU and the owner of this service think, that the user (me) has the responsibility to inform the consumer (you), that this website uses cookies. Again: I, ben0bi, NEVER use cookies. I am not responsible for the setup of this web service. I just present some information here and do not intend to spy on you for whatever reason ever. But (also again), I do not host this website nor do I maintain any servers related to this website nor do I benefit from using the cookies maintained from this service. I hereby give the responsibility for using cookies on blogspot back to the owners of blogspot.

Sonntag, 23. Juni 2019

Wir machen Strom: 12v Starterbox

Da mir ja anscheinend trotz allem Enthusiasmus doch keiner wirklich beim Strom machen hilft, mach ich halt mal was ich kann und bau das ganze Zeug modulweise auf.

Modul #001 + 12STB

Modul Nummero Eins ist die 12v-STarterBox 12STB:

Damit kann man den Generator mit einer 12v Batterie starten und dann auf den Generatorstrom umschalten, wenn er läuft.

Hier sind die Werte noch nicht ausgemessen.

Der Variable Widerstand (so heisst das wirklich, nicht "Potentiometer", das ist "eigentlich" was bisschen anderes.) dient dazu, um die richtige Stromstärke an das angehängte Gerät zu schicken. Dies könnte auch an einer eigenen Leitung hängen, später mal vielleicht...  ;)

Intern ist alles ganz einfach mit Kabelklemmen zusammengehängt, so dass man jederzeit das Setup ändern kann:


Und schliesslich die ausgemessenen Werte:


Anschaltern uuuund...
1.5V
3V
6V
9V
12V
Also es braucht einen Variablen Widerstand, ich hab hier 100k, zwei 6-Pin Schalter (je 3 pro Leitung), ein paar Kabel und Kabelklemmen und ne hübsche Box. :)

Hier ist der Leitungsplan:
(Anscheinend hab ich irgendwo GND mit 12v vertauscht, es zeigt ja Minus an...egal, Hauptsache es zeigt überhaupt was an, DU hast ja GAR NIX gemacht. So. *weck weck :)*)

[TODO: leitungsplan]

Mittwoch, 12. Juni 2019

Server mit Backup und Display

Das ist mein Server:



und von Innen:



Online: http://masterbit.net

Vorab: Ich habe weder ein SSL-Zertifikat noch sonstwas und bin auch zu faul und geizig, mir eins zu besorgen. Warum auch, ich habe keine wirklich wichtigen Daten da drauf....darum nur http, ohne s. :)

Er macht jeden Tag ein Backup (remove and copy) und ein Sync (ohne remove, nur neue/geänderte Dateien) auf die Festplatte und zeigt die aktuelle Uhrzeit, Datum, die Startzeit und die Laufzeit des Servers an.  Wie du siehst läuft meiner seit 3 Monaten ohne Unterbruch. :)



Die Zahl in der Mitte der Uhr zeigt an, wieviele Minuten es noch dauert, bis das Display einen kompletten Refresh macht. Ich habe dies auf 10 Minuten eingestellt.

Hardware


Zusammenbau

Der USB-Hub muss auseinander genommen werden. Dann wird ein Kabel an die 5V und GND Leitungen des Hubs gelötet, also bei einem USB-Stecker, an den Lötstellen.
An dieser Leitung wird die Festplatte eingesteckt. Ich weiss nicht, ob der Strom sich an die anderen Leitungen verteilt, darum die Festplatte lieber gleich am richtigen Teil anschliessen.

Das Kabel vom Netzteil wird am Ende, also möglichst nah am KLEINEN Stecker durchgetrennt. ACHTUNG: Noch ein bisschen Kabel am Stecker lassen, dieser wird dann ins Raspi gesteckt.

Wie schon erwähnt,  werden die neuen Kabel am USB-Hub direkt an den Strom vom Adapter angeschlossen. Das ist mit den Kabelklemmen bewerkstelligt: Die Eine ist am kleinen Kabel vom Raspi und geht dann auf die andere, wo noch dazu der Strom vom Hub rein kommt. Diese geht dann an den Stromadapter.

Der Bildschirm wird folgendermassen am Raspi eingesteckt:

Die Kabel haben diese Farben.                          


Das ganze Zeug irgendwie in die Box reinpassen,  Loch für den Bildschirm machen, etc...ich hab das nicht wirklich schön gemacht (hinbekommen) sondern einfach so, dass es geht. Siehe Loch vom Bildschirm... :)

Software

System

Ich benutze Raspian Stretch Lite, also ohne Desktop. Meistens bin ich mit SSH (also remote, von meinem PC aus) drinne, da brauchts keinen Desktop.

Dieses wird mit Balena Etcher auf die SD-Karte geflasht.

Danach die SD-Karte in den Raspi stopfen, LAN-Kabel, Tastatur, Maus, Bildschirm für die Erstinstallation und angeschaltert...

(Noch OHNE USB-Platte zur Sicherheit)

Login: pi / raspberrz (y und z sind erstmal vertauscht auf der deutschen Tastatur)

Erstmal konfigurieren:

sudo raspi-config

sudo heisst superuser do und wird fast immer benötigt, wenn man am System rumbastelt.

Ein Menü öffnet sich. Wir ändern erstmal das Passwort (Change User Password)

Danach stellen wir die Netzwerkoptionen ein: 2->N1 Hostname: Gib einen Namen für deinen Raspi ein.

Die Sprache sollte auch eingestellt werden, damit man nicht immer mühsam z mit y verwechseln muss.
  • 4-> I1 Change Locale -> de.CH.UTF8 -> (nochmal auswählen)
  • 4-> I2 Change Timezone -> Berlin
  • 4-> I3 Change Keyboard Layout -> [ENTER] -> Other -> German (Switzerland) -> Erster Eintrag, default Setting, No Compose Key (immer schön Enter drücken :) )
  • 4-> I4 Change WiFi Country -> Switzerland
Nun muss noch SSH angeschaltert werden und für den Bildschirm auch noch SPI:
  • 5-> P2 SSH -> enable
  • 5-> P4 SPI -> enable
Und schliesslich noch ein bisschen "Schminke" in den "Advanced Options":
  • 7-> A1 Expand Filesystem (beim ersten Start hat der Raspi das eh schon gemacht, dies ist nur nochmal zur Sicherheit.
  • 7-> A3 Memory Split -> zB: 16Mb : Hier wird der Grafikspeicher aufs Minimum beschränkt, da nicht wirklich gebraucht. Ich nehme trotzdem 16MB statt 8, zur Sicherheit.
Nun kann man das Tool beenden und einen Neustart machen (lassen).

Schliesslich wird noch git installiert:
erstmal sudo apt-get update um die Paketliste zu erneuern.
Git: sudo apt-get install git

Die Backup-Platte

Ausschalten, die Festplatte an den USB-Hub und diesen an den Raspi dran und neu starten. Der Hub braucht ab jetzt auch Strom! (Nicht vergessen, die Kabel zu verbinden)

Um eine "normale" NTFS-Platte anzusprechen braucht es eventuell noch ntfs-3g:
sudo apt-get install ntfs-3g

Erstmal erstellen wir einen Pfad, wo die Festplatte herein gemountet wird:
sudo mkdir /media/backupDrive

Mit sudo blkid werden die Labels und Partition-IDs der angeschlossenen Speichermedien angezeigt. Hier die UUID der Festplatte abschreiben.

Diese muss in fstab eingetragen werden:

sudo nano /etc/fstab

Hier eine neue Zeile machen mit:

UUID=DEINEUUID /media/backupDrive ntfs auto,nofail,sync,users,rw

Mit Ctrl-O speichern und mit Ctrl-X beenden. (Ctrl = Strg)

Check: sudo mount -a  oder lsblk

Wenn die Festplatte auch nach einem Neustart hier ist, ist alles richtig.

Der Webserver

Falls noch nicht gemacht:
sudo apt-get update
sudo apt-get upgrade -y


Wir haben ein Script im Hintergrund, welches den Bildschirm steuert. Um es im Hintergrund laufen zu lassen, braucht es screen.

sudo apt-get install screen

Ein Webserver braucht natürlicherweise einen Webserver. Ich nutze Apache, weil der Indianer sich bewährt hat. Nginx kenne ich nicht.

sudo apt-get install apache2

Wenn der Server läuft, ist das Standard-Webverzeichnis in: /var/www/html
Nun wechseln wir ins Homeverzeichnis und installieren meine Scripts:

cd ~
git clone https://github.com/ben0bi/ServerScripts.git

Installation des Backup-Scripts

Das Backup-Script sollte jeden Tag um eine bestimmte Zeit ausgeführt werden.
Dazu können wir cronjobs gebrauchen, welche in der crontab eingefügt werden.

Eventuell muss das BackupScript noch ausführbar gemacht werden:
sudo chmod +x /home/pi/ServerScripts/BackupScript.sh

sudo crontab -e

Dort dann auf eine neue Linie:

30 9 * * * /home/pi/ServerScripts/BackupScript.sh

Mit Ctrl-O speichern und mit Ctrl-X verlassen.

Damit wird jeden Tag um 9.30 morgens ein Backup gemacht. Du kannst natürlich auch eine andere Zeit einstellen.

Installation des Displays

Das Display benötigt python und einige Bibliotheken dafür. Bibliotheken für python können mit pip installiert werden.

sudo apt-get install python python-pip

Dann brauchen wir noch eine SPI-Bibliothek spidev, eine Bildbearbeitungsbibliothek pillow und dazu eine jpeg-Bibliothek libjpeg-dev. Irgendwas braucht noch die python-requests, also wird das auch installiert.

sudo apt-get install spidev libjpeg-dev pillow python-requests

Nun muss das Display nur noch bei jedem Neustart gestartet und beschrieben werden. Da jede Minute ein Bild upgedatet wird, läuft das ganze über screen.

sudo nano /etc/rc.local

Und dort dann auf eine neue Zeile:

/home/pi/SeverScripts/screen.sh

Noch einmal Ctrl-O und Ctrl-X benutzen.

Eventuell muss screen.sh auch ge-chmode-d werden, siehe oben.

Ich hoffe mal es läuft. Bei mir gehts. :)

Das wars, stopf nun dein Webverzeichnis mit Zeug voll, mach den Server erreichbar etc. Da musste selber guggen, ich hab DynDNS vom Router "geschenkt" bekommen. (D-Link rockt :) )

Viel Spass damit. PHP und all den anderen Mist musst du selbst gucken...ich brauch zum Beispiel KEIN SQL mehr...Darum habe ich diesen Krempel auch nicht "explizit" mit-installiert.

Viel Spass beim Ausprobieren.

Donnerstag, 20. Dezember 2018

Mein eigener Gameboy

Also ich halte mich dabei an den Gameboy Zero, ausser folgendem:

+ Ich werde wohl die Hülle selbst drucken/bauen.
+ Der Gameboy soll auch Musik spielen und verschiedene Hacking-Tools haben. :)

Das ist ein "Work-in-Progress" Artikel, also...

ACHTUNG: JEGLICHE Elektronik, welche ich bestellt und in Lego eingebaut habe, ist kaputt gegangen. (Die selbstgebaute Platine nicht.) Was soll mir das sagen? Scheiss auf Scheiss-Plastik, denk ich mal. Ich bau sonst alles in Holz ein, da ist mir noch nie was kaputt gegangen.....Also: Rechne mit heftigen Verlusten, wenn du Lego verwendest. :)

Dies ist die aktuellste Version mit 2" Screen. Hier fehlt nur noch eine Halterung für Raspi und Akku sowie die Kabel zu den Buttons. (Das Screenkabel ist gebrochen, darum gibts dann noch eine ganz neue Version später mit 3.5"-Screen.)
2" Version mit Bauanleitung weiter unten.

Erstmal habe ich mir folgendes bestellt:

Einen Raspi Zero W
Bestell dir am besten gleich das Minimal-Kit, denn mir fehlt nun zum Beispiel der MikroUSB-zu-USB-Adapter. Den HDMI-Adapter hab ich vom vorigen Kit (ohne WLAN).

Hier mit angelöteten Pins, TV-Kabel und SD-Karte.

Einen 2" NTSC/PAL-Screen (den soll man angeblich ganz einfach anhängen können)
(Ich wollte eigentlich einen 2.5"er aber den gabs nicht. 3.5" sind dann schon zu gross für einen originalen Gameboy.) (Neu: Lieber zu gross als zu klein, also bestellt mal schön den 3.5er, der 2er ist nämlich unleserlich klein.)

Etwa so unleserlich ist es auch in echt. :)
Und eine MicroSD Karte brauchts natürlich auch noch. Da mach ich keine Werbung für, weil man nur noch minimum 16GB bekommt. Ich will aber weniger, um dann ein "kleines" Image zu ziehen...egal. :)

Abgewinkelte Pins und Doppelpins (siehe erstes Foto)

Strom hab ich noch zum Testen. Da kommt dann später natürlich ein Akku dran.

Desweiteren noch eine/zwei Platinen für die Buttons und so kleine Pushbuttons zum draufstecken.
Davon mindestens sechs: Dpad = 4 und A+B (noch OHNE Start und Select)

Software, Computer-Hardware

Dann hab ich mir die Recalbox für den Zero gezogen und mit Etcher auf die microSD gebrannt.

(Vorher hab ich raspbian drauf gemacht, aber recalbox geht gleich out-of-the-box)

Das Ganze am (normalen) Bildschirm angesteckt, läuft.
Recalbox installiert sich selbst beim ersten Mal.

Den Bildschirm habe ich mit einem zweiten USB-Netzteil angeschlossen...leuchtet = läuft. :)

Lustigerweise hat die ADAFRUIT-Box, mit welcher der Bildschirm geliefert wurde, genau etwa die Masse, die mein Gameboy haben sollte. Ich werde also diese vorerst mal nehmen, bis ich sie dreiDdrucken kann. (Neu: Lego, siehe unten)


Das Controllerboard vom Bildschirm habe ich mit Klettverschluss(-Klebeband) an die hintere Seite vom Bildschirm angemacht. Es muss sowieso unter dem Screen sein, um Platz für die (Gameboy-)Buttons zu haben. (Nein, die Buttons sind nun seitlich angebracht. Trotzdem ist es so viel weniger fitzelig zum Basteln. :) )

(Tipp: Anstatt dran rumzureissen, um den Klettverschluss zu trennen, kann man vorsichtig mit einem Messer mitten durch "schneiden".)

Den Bildschirm einrichten:

Der Bildschirm braucht seinen eigenen Strom!

Mit dem Kabel auf dem ersten Foto verbinden. Die TV-Pins sind angeschrieben auf dem Zero.

Mit F4 und dann Alt+F2 in den Terminalscreen.
Login: root, recalrootbox
https://github.com/recalbox/recalbox-os/wiki/Connect-your-recalbox-to-a-CRT-with-composite-%28EN%29

mount -o remount,rw /boot

nano /boot/config.txt

hier eintragen:

sdtv_mode = 0 bis 3, siehe Link
hdmi_ignore_hotplug=1

Ctrl-O, Ctrl-X

nano recalbox.conf

Suche mit Ctrl-W: global.videomode

global.videomode=default

Ctrl-O, Ctrl-X

Die Hülle, die Buttons

Erst wollte ich eine "normale" Hülle aus Plastik, Metall oder Karton bauen. Doch dann hab ich mir gedacht, warum nicht aus LEGO?

Also habe ich mir zuerst eine Hülle für den Screen gebastelt. Dieser selbst ist viel zu klein, aber es geht jedenfalls schon mal. Und darunter konnte ich noch eine Aussparung für Akku und weiteres einbauen.

Die Teile stammen hauptsächlich von diesen zwei Lego-Sets:
LEGO 42064: Ocean Explorer
LEGO 42065: RC-Racer

Ich möchte das modular bauen, darum hab ich mich dann an die Buttons gemacht: Man kann einfach ein paar lange Technic-Stäbe aneinanderlegen und dann mit Kreuzstäben die Buttons so anordnen, wie man will. Da mein Screenhüllendesign eher an den Gameboy Advance erinnert, baute ich mir zwei kleinere Pads nach diesem Schema für an die Seite ran.

Verworfene erste Version. Pad 1 links wurde hier (dafür) gelötet...*

Dann habe ich bei einer Platine, welche ich glaubs damals auf Conrad bestellt habe, die Buttons, welche ich glaubs auch damals dort bestellt hatte, angeordnet. Die Platine habe ich halbiert, für jede Seite eine Hälfte.

Nach ein bisschen Gefitzel und Rumgebastel passen nicht nur die Buttons, sondern auch die Platinen "perfekt" in die Hülle und werden von unten angeklemmt. Ein bisschen anpassen und die Buttons funktionieren besser als gedacht.

Nun gucken, wo man auf der Platine am besten die Leitungen hinlegen könnte, um die Buttons dann mit Steckverbindern an den Raspi zu machen....ich benutze hier gekrümmte Stecker.

Der Raspi hat eigene Pull-up/Pull-down Widerstände, die brauchts also nicht.
Hierbei konnte ich drei Buttons seriell in einer Reihe an GND anschliessen und musste nur den letzten noch separat mit GND verbinden. GND bzw. 5v ist der Pin ganz links, die anderen gehen an die GPIO-Eingänge.

Schliesslich hat mir die Grösse von der Bildschirmhülle nicht gefallen, deshalb habe ich das Bildschirm-Modul noch mal neu gebaut. Darum sieht man auf den Fotos auch etwas anderes als in der Bauanleitung.

Vorläufig endgültige Version für 2" Screens.
*..und die Padhülle musste an Pad 1 passen.

(Nur) Das Bildschirmmodul von unten gesehen.

Das neue Modul hält den Bildschirm auch gleich an der Stelle, das ging beim alten noch nicht. Da hat er nur pro forma reingepasst.

Hierbei darauf achten, dass der Bildschirm selbst über den Kreuzstäben, das Controllerboard jedoch unter den Kreuzstäben ist.

ACHTUNG: Der Aufbau geht, aber das Bildschirmkabel ist gebrochen.

FALSCH: Kabel über dem Kreuzstab

Mach ja nicht den Fehler, das Bildschirmkabel über den "einen" Kreuzstab zu legen "zur Stabilisierung". Alles schön lose machen und dann einfach überdecken.


RICHTIG: Bildschirmkabel unter/hinter dem Kreuzstab.
Hier sichtbar die untere Seite, einfach wie oben überdecken.


...darum musst du dir unten selbst einen Batterie- /Raspi-Kasten ausdenken.
Ich bestelle mir gleich einen 3.5" Bildschirm...

Die Pads mussten natürlich auch angepasst werden. Da ich für das eine Pad schon eine Platine gebaut hatte (siehe oben), wollte ich sie von der Form her beibehalten.

Die Anleitung gibts hier:
[TODO: Link zu Anleitung Pads und Centerteil]

Du kannst die Anleitung oben benutzen, wenn du den Adafruit 910 2" Screen bestellst.

Sie ist aber ziemlich verworren. Das hat der LDD (Lego Digital Designer) so gemacht, nicht ich...Darum bei den Pads: Erst die roten an die weissen Teile, dann die grünen und dann die Buttons so anordnen wie du willst. ;)

Die Pads sind jeweils seitenverkehrt genau gleich aufgebaut. Obwohl es unstabil aussieht, sitzen die Dinger "bombenfest".

Ich bin selber überrascht von der kuuuhlen Bauweise. :)

Uuuund das Kabel vom Bildschirm ist gebrochen....DA MUSS MAN EXTREMST AUFPASSEN.

Uund der Raspi ist auch am Arrrrrsch. Hier wird ganz sicher nicht "politisch korrekt" nur "A..." geschrieben, da könnt ihr aber Gift drauf nehmen.

Darum ist dieses Projekt vorerst mal eingestellt, vielleicht lade ich dann noch mal die Bauanleitung hoch. Ich hab ehrlich gesagt grad keine Lust mehr.

Weiteres folgt...

Montag, 26. November 2018

Fernsofagestell

Ein Multifunktionsmöbel. Ich wollte den Fernseher nicht immer sehen, wenn er aus ist. Darum kann man ihn nun im Gestell herunter lassen, so dass er vom Palett/Sofa verdeckt wird.

Neueste Version 2020: Ich habe das Palett rausgeschmissen, das war hässlich und zu breit und umständlich zum Bewegen (das Gestell stand im Palett drin, damit alles ein bisschen besser hält).

Nun habe ich einfach noch drei Bretter/Böden des selben Regalsystems vor die ganze Sache geschraubt. Dazwischen würde noch ein Plexiglas mit Spiegelfolie passen. Foto kommt, wenn ich eins hab. :) Hier die Fotos der Endversion, unten die Fotos des Originalaufbaus.


Und nun gehts los, also...erstmal die Originalfotos:




Teile

2 bis 3 Europallet: Neu: Schraube einfach 3 Böden von einem der Regale an die Vorderseite. Davor kannst du ein normales Sofa oder etwas anderes stellen...
1 Sofakissen in Palettgrösse: Neu: siehe oben.
2 LANDI Regale aus Holz für je c.a. 20.-, hier kann man evt. auch diese aus dem Hornbach nehmen.
1 Handwinde vom Hornbach und 3 M10 Schrauben und Muttern dazu (nicht dabei).
2mm Stahlseil
1 Scharnier in der Breite eines Brettchens der Regalbretter.
Holzschrauben (siehe Regale, solche. Und noch welche für das Scharnier)
ein paar Rollen und anderes Stahlseilbefestigungszeug (Todo)
1 (LG XYZ) Fernseher mit der Breite 75cm oder so, glaubs 82cm Diagonale..muss einfach reinpassen.
1 Backblech (hab ich gebraucht) für die Aufhängung am Fernseher.

Aufbau

--> Beim Backblech ein paar Löcher machen, damit es an die Löcher des Fernsehers passt, und anschrauben. Dabei darauf achten, dass die Anschlüsse frei bleiben.
     --> Zwei Karabiner dran machen.

Hier habe ich einfach in ein Blatt Papier die Löcher rein gedrückt und dieses dann auf das Backblech geklebt. Somit hatte ich die Löcher auf jeden Fall an der richtigen Stelle.



--> Ein Regal wird aufgebaut, und zwar mit dem obersten, zweitobersten und zweituntersten Boden
  Der Fernseher wird dann an die vorderen Beine gelehnt.


--> Der übrige Boden dieses Regals wird auseinander genommen.
--> Dann hat man vier lange Brettchen übrig (und zwei Kurze):

   Eines davon kommt seitlich unter den zweitobersten Boden an das vordere Bein. Ein Teil eines zweiten auch noch, damit die ganze Höhe ausgefüllt ist bis zum unteren Boden.



ACHTUNG: Das ist V1, mach die hintere Leiste NICHT dran, stattdessen oben noch ein Teil an die Seite!

Das dritte davon kommt auf der anderen Seite auf dieselbe Weise hin. ABER: Du musst ein Stück abschneiden und mit dem Scharnier wieder dran machen, damit du später den Fernseher rein- und rausnehmen kannst.  Dieses ist nur zum ein bisschen den Fernseher verschieben, um ihn schräg stellen zu können. Hier ist die hintere Leiste relativ egal, da oben eh nur ein Boden hinkommt. Da kannst du selbst entscheiden, was du nehmen willst (siehe unten).

Das ganze verschrauben...

Beim Teil mit dem Scharnier ein Loch von der Seite reinmachen und einen Nagel reinstecken oder so als Blockierung.

Das zweite Regal wird partiell auseinander genommen:
Ein Bein muss an das eine Brett ohne Scharnier, so dass man (wieder) kürzere Böden hinten rein machen kann. Dazu muss ein Stück oben und unten abgeschnitten werden, damit es auf den untersten Boden des ersten Regals gestellt werden kann und bis zum zweitobersten Boden kommt, und mit dem vorderen Bein und den Brettchen dazwischen eine Seitenlaufleiste für den Fernseher bildet.



Dieses Bein noch nicht verschrauben: Erst kommen die Böden an dieses Teil, dann das ganze Gestell in das erste Regal.

Zwei Beine des neuen Regals werden gleich neben den Anschlüssen des Fernsehers an das erste Regal gemacht. Das eine ist dann zwischen den ersten zwei langen Brettern der Böden von vorne gesehen und stützt den Fernseher (noch weiter) von innen. Das andere ist hinten aussen auf derselben Breite.

Nur mal angestellt...

Nun werden bei drei Böden des neuen Regals jeweils eines der langen Bretter weggeschnitten, so dass die Böden weniger breit sind und hinter den Fernseher passen.

Dann werden zwei dieser Böden noch seitlich gekürzt, und das kürzere (Haltungs-)Brettchen wieder an das Ende geschraubt, auf Breite der zwei neuen Beine, so dass die Anschlüsse des Fernsehers nicht an die Regale rankommen.

Der oberste Boden muss nicht gekürzt werden, da die Anschlüsse darunter sind, doch man kann durchaus noch ein drittes kurzes Brett ranmachen an der Position der zwei neuen Beine.



Erst das gekürzte Bein an der RICHTIGEN Stelle anmachen, dann das Ganze in das erste Regal einbauen.
Siehst du das fehlende Bein...nicht?
Das letzte Bein kann man ganz am Schluss dran machen...
Fernseher reinstellen....uuuund....

Aufhängung

Erst mal wird bei der Handwinde das fette Stahlseil heraus genommen. Dieses ist viel zu dick. Das kannst du ins Auto legen und zum Abschleppen benutzen. :) (Nein!)

Das 2mm Stahlseil wird erst am Fernseher an einen Karabiner angemacht. (Hier schon komplett)



Dann wird es gerade nach oben gezogen, dort über eine Rolle, wieder gerade herunter, über eine Rolle am Karabiner auf die andere Seite.





Die obere Rolle habe ich einfach mit einer Stahlschraube auf das oberste Brett "gelegt".

(Das Bild ist von einer anderen, schlechteren Konfiguration)


Nun wieder über eine Rolle am (anderen) Karabiner hoch und dann direkt an die Winde angemacht.




Die Winde kann einfach auf das zweitoberste Brett gelegt werden. Sie muss nicht mal angeschraubt werden zum Testen. Mit der einen Hand muss man einfach die Bremse (so ein Knubel) bedienen UND gleichzeitig noch die Winde halten und ausrichten. Das Kurbeln selber gibt fast keinen Widerstand. Die Kurbel müsste sogar noch gekürzt werden, damit es weniger anstrengend ist.

Nun drehen wir den Fernseher mal hoch und stellen die Bremse. Unter dem Fernseher habe ich noch zwei Löcher gemacht und Stahlstifte rein gesteckt. Im hinteren Brett habe ich das Loch nicht ganz durch gemacht, so dass es den Stift hält und blockiert.

Die Stahlstifte habe ich vom Schlitten eines alten DVD-Gerätes. Die sind nur 3mm dick, recht lang und sehr stabil.






Also: Stifte raus, hochkurbeln, Stifte rein, Kurbel entspannen. Umgekehrt: Stifte raus, runterkurbeln, (Stifte rein) :)

 Vordergrund-Deko :)

Neu:

Siehe oben, schraube einfach drei Böden/Bretter desselben Regalsystems vorne dran. Darauf achten, dass das Loch vom Fernseh-Reinstell-Brettchen nicht blockiert wird. (Da hatte ich Glück, hui.) Das sieht dann besser aus und ist auch einfacher zum Verschieben und macht die ganze Sache auch ein bisschen stabiler.

Zwischen Fernseher und Bretter (also "hinten") kannst du auch ein Plexiglass-Brett mit Fenster-Spiegelfolie reinschieben. Wenn der Fernseher nicht läuft, dann spiegelt das einfach, ansonsten sieht man den Fernseher hinten durch leuchten. Leider hab ich gerade kein Plexi überig.

Alt:

Nun kann man bei einem Europalett zwei der hinteren Bretter wegnehmen und die zwei mittleren Klötze dazu auch. Das komplette Regal kann nun zwischen die untersten Palettbretter gestellt werden. Der Ferseher sollte nun hinter dem Palett sein und nur die Regale sichtbar...wenn der Fernseher unten ist.

Die anderen Paletts davor legen und das Sofakissen drauf.

Comics rein. (Leider passen nichtmal die LTBs von der Höhe her rein.)

Viel Spass, mir hats jedenfalls Spass gemacht.

;) Ohne Software :)

(: Wayne intressierts? :)

Freitag, 16. November 2018

Raspi Music Server Tutorial

Die Intention hierbei war, dass ich von jedem Gerät aus Musik auf der [einen] Stereoanlage abspielen kann.

Es besteht aus mehreren "Teilen":

+ Musikserver Mopidy
+ Frontend RompR
+ Mein File-Upload-Frontend.

+ Eventuell dann noch ein paar Scripts um die Dateisystemscans zu automatisieren und...so...

First things first:

System

Wir installieren erstmal das Standard Raspian auf dem Raspi:
Hier herunterladen: https://www.raspberrypi.org/downloads/raspbian/
(Es braucht nur die Lite-Version, ohne Desktop)

...und mit Etcher auf die MicroSD-Karte gebrannt:
https://www.balena.io/etcher/

So, nun stopfen wir die microSD in den Raspi und schalten den mal an (inkl. Bildschirm und Tastatur).

Login: pi
Password: raspberry (Deutsche Tastatur: raspberrz)

Erstmal richten wir die Maschine richtig ein:

sudo raspi-config

Dort dann erstmal das WLAN einrichten und eventuell SSH aktivieren. Desweiteren ändern wir das Passwort.

SSH kann man unter "Interfacing Options" einrichten.

Unter "Advanced Options" wird dann noch die Option "Expand Filesystem" ausgewählt.

Danach rebooten wir mal:

sudo reboot

Webserver

Dann machen wir ein update und installieren erstmal Apache. Die Verzeichnisse von Apache benutzen wir dann auch für die Musik.

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install apache2 php

mit "ifconfig" findet man die aktuelle IP heraus. Damit mal testen...Webseite sollte auftauchen.

Dateisystem-Interface

Nun laden wir mein Filesystem-Frontend in das Apache-Webverzeichnis.

Dazu brauchen wir git:

sudo apt-get install git

cd /var/www/html
sudo git clone https://github.com/ben0bi/ben0biUploader.git

Unter [IP]/ben0biUploader ist dieser dann zu finden. Du kannst das Verzeichnis auch umbenennen.
Wir müssen hier noch einiges einstellen:

Öffne die Konfigurationsdatei mit einem Editor:

sudo nano ben0biUploader/index.php

Unkommentiere dort die zwei Zeilen unter dem SHOW-Kommentar. Diese musst du später wieder ein-kommentieren. Damit siehst du auf der Webseite den SHA1-String des Passwortes, welches du eingibst. Speichere diesen String und schreibe ihn in

ben0biUploader/config/pageconfig.json

hinein. Schreibe dort auch den richtigen Pfad unter "REAL_UPLOAD_PATH" hinein.

Dieser Pfad muss nun noch dem www-data user zugehörig gemacht werden:

sudo chown www-data:www-data /var/www/html/ben0biUploader/FILESYS

Bei nano kannst du mit Ctrl-O speichern und mit Ctrl-X beenden.

Nun solltest du mit deinem Passwort reinkommen. Kommentiere die zwei Zeilen in index.php wieder ein. Du solltest eine Datei "empty.empty" sehen. Diese dient dazu, das Verzeichnis für git "sichtbar" zu machen. Mit dieser kannst du testen, ob alles geht (rename, delete). Erstellte neue Verzeichnisse kannst du auch wieder löschen.

Nun müssen wir höchstwahrscheinlich noch ein paar PHP-Variablen ändern:

Mache in /var/www/html eine Datei phpinfo.php und schreibe folgendes hinein:

<?php
phpinfo();
?>

Wenn du diese nun im Browser aufrufst, siehst du die PHP-Variablen deines Systems.

[IP]/phpinfo.php

Die Zahl bei upload_max_filesize ist vieeel zu tief. :)
Und zusätzlich müssen wir noch post_max_size verändern. Diese Zahl sollte ein bisschen höher als die upload_max_filesize sein.

Dazu öffnen wir das php-Konfigurationsfile:
In der PhpInfo steht ganz oben auch, wo das Konfigurationsfile zu finden ist. WARNUNG: Das System selbst gibt einen falschen Pfad an mit "php --ini". Die Datei in der phpinfo ist richtig.

Darin suchen wir mit CTRL-W nach den obigen Werten und schreiben was grösseres rein:
upload_max_filesize = 120M
post_max_size = 128M

Wieder speichern mit CTRL-O und Apache neu starten:

sudo apache2ctl restart

Mopidy Musik Server

Ich halte mich hier an folgende Artikel:
https://docs.mopidy.com/en/latest/installation/raspberrypi/#how-to-for-raspbian
http://blog.scphillips.com/posts/2013/01/sound-configuration-on-raspberry-pi-with-alsa/

Ok, erstmal schalten wir den Sound auf den Audio-Jack anstatt auf HDMI. Später wird er dann noch auf die externe USB-Soundkarte geschaltet, doch erstmal den Jack:

sudo raspi-config

Hier findest du unter "Advanced Options" einen Eintrag "Audio". Wähle dort "Force 3.5mm headphone jack".

Unter "Memory Split" geben wir noch eine kleinere Zahl ein (RAM für die Graphik), damit die Musik mehr RAM hat. 16 sollte reichen, vielleicht geht es sogar mit 8.

Reboote nun die Maschine.

Mit "alsamixer" kannst du die Systemlautstärke erhöhen.

Um die Lautstäke bei jedem boot einzurichten, schreiben wir folgendes in die Datei
/etc/rc.local, und zwar VOR "exit 0"

amixer set PCM -- 100%

Mopidy installieren:
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/stretch.list

sudo apt-get update
sudo apt-get install mopidy
Nun müssen wir noch ein paar Variablen einstellen. Erstmal einfach Mopidy starten:

mopidy

Dies startet nicht nur den Server sondern legt auch die wichtigen Dateien an, welche wir noch konfigurieren müssen. Zumindest das Verzeichnis muss gesetzt werden. Also erst mal CTRL-C, um den Server zu unterbrechen, dann:

nano ~/.config/mopidy/mopidy.conf

Bzw. /etc/mopidy/mopidy.conf

Dort suchen wir die Einträge [local] und [file](?) und kommentieren das Wichtige aus:
enabled=true
media_dir = PFAD ZU DEINEM MUSIKVERZEICHNIS*


* der Pfad sollte derselbe sein, welcher für die Dateioperationen oben benutzt wird.
Also hier zum Beispiel: /var/www/html/ben0biUploader/FILESYS

Schliesslich noch für RompR weiter unten:

[mpd]
connection_timeout = 120

Nun richten wir mopidy ein, dass es beim booten startet:

sudo systemctl enable mopidy

Um den aktuellen status zu sehen, benutze:

sudo systemctl status mopidy

Andere wichtige Kommandos:
sudo systemctl start mopidy
sudo systemctl stop mopidy
sudo systemctl restart mopidy



Und vor allem:
sudo mopidyctl local scan


RompR Frontend

RompR ist das Web-Frontend für Mopidy.
https://fatg3erman.github.io/RompR/
https://fatg3erman.github.io/RompR/Installation-on-Linux-Alternative-Method

Für RompR braucht es mysql und anderes, also installieren wir das:

sudo apt-get install mysql-server mysql-client php-mysql php-curl php-gd php-json php-xml php-mbstring imagemagick

Um die datenbank besser zu administrieren installieren wir evt. noch Phpmyadmin:
sudo apt-get install phpmyadmin

Im Browser sollte nun phpmyadmin aufrufbar sein:
[IP]/phpmyadmin

Falls du nicht rein kommst, musst du noch(mal) phpmyadmin konfigurieren:

sudo dpkg-reconfigure phpmyadmin

Danach laden wir das release in das home directory:
wget https://github.com/fatg3erman/RompR/releases/download/1.23/rompr-1.23.zip

...und entzippen es:

unzip rompr-1.23.zip

Und machen schliesslich im Web-Verzeichnis einen Link darauf:

sudo ln -s /PATH/TO/ROMPR /var/www/html/rompr

und machen noch ein paar andere Sachen:

cd [rompr]
mkdir prefs
mkdir albumart
sudo chown www-data prefs
sudo chown www-data albumart

Aktiviere nun noch ein paar Apache-Module:

sudo a2enmod expires
sudo a2enmod headers
sudo a2enmod deflate
sudo a2enmod php7.0

Alles andere entnimmst du bitte dem zweiten Link oben. Da muss noch das Inet konfiguriert werden und MySql und Zeug und Sachen...

Externe USB-Soundkarte

Zu guter Letzt bauen wir noch eine externe USB-Soundkarte ein.
Der Raspi-Sound ist nämlich nicht wirklich brauchbar.

https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-usb-soundkarte-unter-raspbian-einrichten

[Weiteres folgt, computer arbeitet...)

Montag, 25. Juni 2018

YAPS + Yet Another PC Shelf

YAPS ist kein Tischchen für den PC, YAPS ist ein Tischchen AUS PCs.

Da ein Computer immer recht lange braucht, bis er mal "da" ist, dachte ich mir, dass es mal etwas ohne komplizierte Elektronik sein sollte. Das YAPS hat deswegen "nur" eine eingbaute Lampe und einen einfahrbaren Aschenbecher.



[UPDATE: Ein YAPS mit einem wirklich laufenden PC, welchen ich ^ später gefunden habe.]
Dieses ist viel einfacher zu bauen, wenn man einen PC assemblieren "kann".

Hier musste ich nur bei der Fronthülle oben etwas weg dremeln.
Und natürlich die Löcher für die Tischplatte.

Zutaten

Dazu braucht es (obere Version):

(Tisch)
+ Ein komplettes PC-Gehäuse, bestenfalls von einem Server mit vielen Festplatten, wenn möglich mit möglichst vielen "Lüfter-Löchern" und das ganze aus Metall.
+ Eine flache ("hintere") Seitenwand eines weiteren PC-Gehäuses, wenn möglich aus Alu, mit umgefalzten Kanten für die Stabilität.
4x M3 Schrauben, und Muttern, doppelt soviele Unterlagsscheiben.
-------------------------------------------
(Licht)
+ Ein Stromkabel
+ Einen Fussdruckschalter von einer Ständerlampe
+ Eventuell eine Steckerleiste oder ähnliches. (Braucht es für den Aschenbecher)
+ Eine Lampenhalterung
+ Eine LED-Birne oder Partyleuchte, passend auf die Halterung
--------------------------------------------
(Aschenbecher)
+ Ein Handy-Ladegerät und ein USB-Kabel dafür (5v)
+ Ein paar Kabelchen (mindestens 6)
+ Ein altes DVD-Gerät für PCs, mit einem Einschub.
+ Noch ein DVD-Gerät oder etwas anderes, mit einer Hülle in der Grösse des ersten Gerätes.
+ Einen Druckknopf
+ Einen 2 Wege-Schalter mit 6 Pins (Luxus Version*)
+ Ein Stück Karton, biegbar aber fest, wenn möglich mit einer Kante im 90-Grad-Winkel als
"Federung".
+ Alufolie für um den Karton drum
+ gutes Klebeband
+ Ein bisschen Plexiglas

*Ohne Schalter muss der Einschub des DVD-Gerätes bei Strom ausfahren dann und manuell wieder eingeschoben werden.

Der Tisch

Der Tisch ist relativ einfach zu bauen:

+ Schlachte das Gehäuse komplett aus. Baue auch die Stromversorgung aus, es sollte möglichst nichts mehr drinnen sein ausser den Festplattenhalterungen.

+ Lege einfach die Seitenwand (von einem anderen Gehäuse) auf das Gehäuse, richte es ein bisschen aus, bohre 4x 3mm Löcher rein und schraube das Ganze zusammen. Tisch soweit fertig. :)

+ Ziehe das Stromkabel durch eines der PCI-Slot-Löcher oder sonst wo von aussen nach innen.
+ Lege eventuell die Steckerleiste auf den Boden des Gehäuses.
+ Montiere aussen den Fussdruckknopf an das Stromkabel oder die Steckerleiste
+ Montiere nun irgendwie die Lampenhalterung in das Gehäuse. Ich konnte oben eine Querstrebe vom "Dach" ein bisschen durch biegen und dann das Stromkabel dazwischen durch ziehen.


+ Ich habe von innen noch alle Löcher mit weissem Papier überdeckt. Dazu habe ich das Frontpanel komplett auseinander geschraubt, damit ich das Papier direkt auf das Netz machen konnte.

+ Beim Frontpanel müssen der oberste und der unterste Einschub für die grossen (5zoll) Geräte frei sein. Die Deckplatte für den untersten Einschub brauchen wir noch, die für den oberen nicht.

+ Schliesse das Gehäuse komplett und schalte die Lampe ein. Der Effekt sollte bombastisch sein. Wenn nicht, musst du die Birne noch besser ausrichten (vor allem mit Party-Effekt-Lampen), damit es schön durch die Lüfterlöcher hindurch leuchtet.

Der Aschenbecher

+ Schraube das DVD-Gerät auf.
+ Die untere Platte von der Hülle brauchen wir nicht mehr, denn die Asche fällt nach unten durch in den darunter stehenden Aschenkübel. Dazu muss das Gehäuse natürlich genug Platz haben.
+ Schlachte auch hier vorsichtig alles aus, bis nur noch der Einschub und der Motor dafür übrig ist. Natürlich sollte der Einschub noch funktionieren, doch der Rest ist egal.



Ich musste den Verschlussmechanismus ausbauen. Das Plastikteil davon musste ich an die hintere Wand machen, als Abstandshalter, damit der Einschub nicht komplett schliesst. Sonst würde das Zahnrad vom Motor nicht mehr greifen, dazu war das Verschlussteil (in dieser Phase) zuständig. Der Einschub steht nun geschlossen etwa einen Millimeter vor. Das sieht man nicht wirklich.

Auch musste ich diese Eck-Konstruktion aus Plastik weg machen weil der Karton dort nicht weiter
runterklappen konnte.

+ Löte nun zwei Kabel auf die Kontakte des Motors. Du kannst auch vorher das Board ablöten, es wird nur der Motor gebraucht.
+ Schneide das USB-Kabel durch und lege die Kabel auf der USB-Seite frei. Zwei davon sind für Daten, die anderen zwei sind für Strom. Wenn es nur zwei Kabel hat, führt das Kabel "nur" Strom.

Nun kommt die "Elektronik" dran.

+ Das USB-Kabel wird natürlich mit dem Handy-Ladegerät in der Steckerleiste betrieben.

+ Der Druckschalter kommt zwischen das USB-Kabel und den 2-Wege-Schalter. Das USB-Kabel wird in der Mitte des 2-Wege-Schalters angebracht (Pins 2 und 5). Die äusseren Pins werden auch mit Kabeln ausgerüstet, und zwar alle. Nun kann man jeweils die Kabel der äusseren Pins über Kreuz miteinander verbinden (Pin 1 mit Pin 6 und Pin 3 mit Pin 4). Die zwei daraus entstehenden Überkreuz-Kabel werden mit dem Motor verbunden.

Schalter Pins:
1 2 3
o o o
o o o
4 5 6

USB + --> Druckknopf --> SCHALTER (Pin 2) -> Geht zu Pin 1 oder 3
USB GND --> SCHALTER (Pin 5) -> Geht zu Pin 4 oder 6

Wenn nun der Schalter auf der einen Seite ist, wird der Strom nach "rechts" abgegegeben und wenn er auf der anderen Seite ist, wird der Strom nach "links" abgegeben. Somit kann man, ohne Elektronik, die Richtung des Motors und somit den Einschub steuern.

Das ist die Kleinversion eines echten Deponianischen Stromumkehrers. :)



+ Dremele den Einschub flach, es hat meist noch eine Laufleiste für den Sicherheitsmechanismus.
+ Beim "Eingang" muss man oben eventuell auch ein bisschen weg dremeln, damit die Zigaretten nicht hängen bleiben.

+ Damit die Asche nicht den Karton verbrennt, sollte er mit Alufolie umwickelt werden.

+ Der Karton muss durch die Öffnung des Gerätes geschoben werden und wird mit Klebeband am Einschub befestigt. Wenn das Gerät geschlossen ist, sollte das Ding innen herunter klappen, wenn es sich öffnet, sollte es sich wieder schliessen.



Geschlossen:
| --|
|  /|




Offen:
|  |==
|  |


+ Baue nun alles wieder zusammen und das Gerät in das PC-Gehäuse, an der obersten Stelle.
+ Bohre zwei Löcher in die Seitenwand für die "Elektronik"-Schalter.

+ Das Plexiglas sollte hinter die DVD-Einschübe um die Asche nach unten abzulenken. Ansonsten wird das gesamte Gehäuse dreckig. Du kannst natürlich auch etwas anderes nehmen, dann bringt jedoch die Lampe nicht mehr viel.
+ Die Hülle des zweiten Gerätes kommt auch in die Einschübe vom Gehäuse, und zwar unten und umgekehrt. Die Bodenplatte wird vorher weggenommen. Ich habe eine Kartonschachtel anstatt des (fehlenden) DVD-Gehäuses genommen.

Hier ist ein Filmchen mit dem Mechanismus:
Und hier noch ein Bild mit der geöffneten Asche-Schublade:

Viel Spass beim Nachbasteln. :)