nützliche Code Schnipsel


als root weiterarbeiten

sudo -i


Cronjobs bearbeiten

sudo crontab -e damit bearbeiten wir die Cronjobs

Mustereinträge in die Liste:
@reboot bash /home/pi/scripts/jobs_reboot.sh die .sh Datei wird beim reboot ausgeführt
30 6 * * * bash /home/pi/scripts/jobs_taeglich.sh die .sh Datei wird beim täglich um 06:30 Uhr ausgeführt
*/5 * * * * bash /home/pi/scripts/jobs_alle_5min.sh die .sh Datei wird alle 5 Minuten ausgeführt

sudo nano /var/spool/cron/crontabs/root hier werden die crontabs abgespeichert


die Paketverwaltung mit apt

sudo apt-get install xxx das Paket xxx wird installiert

sudo apt-get remove xxx nur deinstallieren ohne dass die Konfiguration gelöscht wird

sudo apt-get remove --purge xxxx Entfernen des Paketes incl. der Konfiguration

dpkg -l # installierte Pakete anzeigen


nach Update prüfen, ob ein Neustart nötig ist

sudo apt-get install debian-goodies installieren des Paketes, das den Restart Check enthält

sudo checkrestart prüfen, welche Services neu gestartet werdet müssen

sudo service {PAKET} restart Service einzeln neu starten


die serielle Schnittstelle am RasPi aktivieren

Achtung: nur Adaptermit 3,3 V !

Belegung:
Adapter ——————— RasPi
GND ——————— Pin 6 GPIO GND
RXD ——————— Pin 8 GPIO TXD
TXD ——————— Pin 10 GPIO RXD

Eintrag in /boot/config.txt enable_uart=1

Profil in putty anlegen:
Serial line: COM1
Bits per Second: 115200
Connection type: Serial

per batch verbinden:
"C:\Program Files (x86)\PuTTY\putty.exe" -load USBCOM1

serielle Verbindung nur beim Einschalten, späteres Einloggen nicht möglich!


einen USB Stick mounten

sudo mkdir /media/usbstick damit legen wir im Verzeichnis media ein Verzeichnis usbstick an, in das der Stick gemountet wird

sudo mount /dev/sda1 /media/usbstick das Gerät sda1 wird ins Verzeichnis /media/usbstick gemountet

sudo umount /media/usbstick unmounten des USB Sticks

sudo cfdisk Laufwerk partitionieren

sudo mkfs.ext4 /dev/sda1 Partition sda1 formatieren (vorher unmounten)

blkid Datenträger IDs anzeigen

um den Datenträger auch nach einem Neustart weiterhin eingebunden zu haben:

sudo nano /etc/fstab

diesen Eintrag hinzu.

UUID=6CBF-1E7A /media/usbstick vfat auto,nofail,sync,users,rw,umask=000 0 0 für FAT32 formatierten Datenträger UUID=4d3b2712-0f2c-46aa-bbc1-9e233462f2cc /media/usbstick ext4 defaults 0 0 für ext4 formatierten Datenträger

die Datenträger ID muss angepasst werden!


einen FM Sender mit RDS basteln

Achtung! bitte hier die rechtlichen Bestimmungen für den Betrieb beachten! In Deutschland ist der Betrieb verboten!!

https://github.com/ChristopheJacquet/PiFmRds die Projektseite auf Github

die Antenne an Pin 7 => GPIO 4 anschliessen (20 cm Draht reichen)

sudo apt-get install libsndfile1-dev

git clone https://github.com/ChristopheJacquet/PiFmRds.git

cd PiFmRds/src

make clean

make

sudo ./pi_fm_rds -freq 87.7 der Sender sendet auf 87,7 MHz, nur Träger, ohne Modulation

sudo apt-get install sox

sudo apt-get install libsox-fmt-mp3

sox -t mp3 http://www.linuxvoice.com/episodes/lv_s02e01.mp3 -t wav - | sudo ./pi_fm_rds -freq 87.7 -audio -

sox -t mp3 http://www.radiopilatus.ch/streams/pilatus192.m3u -t wav - | sudo ./pi_fm_rds -freq 87.7 -ps PILATUS -audio -
der Sender sendet den websteam auf 87,7 MHz mit dem RDS Senderbezeichnung “PILATUS”

…beenden immer mit STRG + C


Midnight Commander (Norton Commander Klon für ssh Zugriff)

sudo apt-get install mc

starten mit mc


die LED am Raspberr Pi Zero W ausschalten

sudo nano /boot/config.txt

folgende Zeilen hinzu:

dtparam=act_led_trigger=none
dtparam=act_led_activelow=on

Benutzer anlegen, löschen

sudo adduser rudi Benutzer rudi anlegen

sudo id pi Gruppenzugehörigkeit des Benutzers pi prüfen

sudo useradd -m rudi -g 1000 -G $(cat /etc/group | grep pi | cut -d: -f1 | sed ':a;N;$!ba;s/\n/,/g') Benutzer rudi mit Rechten wie Benutzer pi anlegen

sudo passwd rudi Passwort für user rudi anlegen

sudo passwd --lock pi Benutzer pi deaktivieren

sudo killall -u rudi Löschen aller Prozesse vom Benutzer

sudo userdel -r rudi Benutzer rudi löschen


htop - an interactive process viewer for Unix

htop


mehrere Netzwerkzugangspunkte hinterlegen

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

hier können meherer WLAN Verbindungen hinterlegt werden:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
  ssid="[SSID_Netzwerk_b]"
  psk="[Passwort_Netzwerk_b]"
  id_str="netzwerk_b"
}

network={
  ssid="[SSID_Netzwerk_a]"
  psk="[Passwort_Netzwerk_a]"
  id_str="netzwerk_a"
}

einzelne Code Schnipsel

systemctl --type=service laufende Services anzeigen

vcgencmd measure_temp CPU Temperatur

vcgencmd measure_volts CPU Spannung

vcgencmd measure_clock arm CPU Takt

cat /proc/cpuinfo CPU Info

cat /proc/meminfo

cat /proc/partitions

cat /proc/version

cat /sys/firmware/devicetree/base/model

pstree Laufende Prozesse des Users anzeigen


Installation Apache2, php 7.0, MySQL Server

sudo apt-get install apache2 der Webserver Apache2 wird installiert

sudo apt-get install php7.0 php7.0 installieren

sudo apt-get install mysql-server der mysql Server wird installiert

sudo apt-get install php7.0-mysql php für mysql wird installiert

jetzt legen wir eine Datenbank in der mysql Konsole an:

sudo mysql -u root

CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'PASSWORT';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
exit;

cd /var/www/html hier liegen die Dateien für den apache2 Webserver

sudo usermod -a -G www-data pi Benutzer Pi in die Gruppe www-data (Besitzer vom Ordner, in dem die Dateien liegen)

mysql-server Datenbank Abfragen

sudo mysql -u root

show databases; die Datenbanken werden angezeigt

DROP DATABASE xxx; Datenbank xxx löschen

select host, user, password from mysql.user; Datenbankbenutzer anzeigen

DROP USER user@localhost; Datenbank User löschen

use mysql;

show tables;

select user,password,host from user;

SHOW GRANTS FOR 'root'@'localhost';

quit;

Installation Wordpress

wget https://de.wordpress.org/wordpress-4.8.3-de_DE.zip Wordpress herunterladen

unzip wordpress-4.8.3-de_DE.zip

sudo chown -R www-data:www-data /var/www/html Benutzer www-data als Gruppenbesitzer vom Verzeichnis /var/www/html

sudo find /var/www/html -type d -exec chmod 775 {} \; Rechte für Directory setzen

sudo find /var/www/html -type f -exec chmod 664 {} \; Rechte für File setzen

sudo usermod -a -G www-data pi Benutzer Pi in die Gruppe www-data mit aufnehmen

sudo service apache2 restart Apache neu starten

Konfiguration Apache2 Webserver

soll der Webserver auch auf einem anderen Port als Port 80 erreichbar sein, muss die Konfigurationsdatei editiert werden:

sudo nano /etc/apache2/ports.conf

Listen 8080 unter den Listen Ports den weiteren Port eintragen, unter dem der Server erreichbar sein soll.

wichtige Einstellungen mit sudo nano /etc/php/7.0/apache2/php.ini

upload_max_filesize =
max_file_uploads =
post_max_size =