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.