Da steht alles : http://www.raspberrypi.org/
Die Distributionen werden immer besser und selbsterklärender !
Statt balenaEtcher geht jetzt ganz gut :
Install Raspberry Pi OS using Raspberry Pi Imager (für Mac, Windows und Linux),
Damit wird die SD Karte direkt beschrieben
Bei Klick auf das Zahnrad kann auch direkt das WLAN Passwort, die Lokalisierung (Germany) und der Benutzer samt Passwort auf die SD Karte geschrieben werden. Ferner läßt sich dort auch schon SSH einschalten. Cool !
"Raspberry Pi OS with desktop" nehmen, ohne "recommended software" . Es kann passieren, daß sich die "recommended software" in der installierten Version nicht so ganz einfach auf den letzten Stand bringen läßt.
Das heruntergeladene Pi OS mit balenaEtcher ( https://www.balena.io/etcher ) auf SD Karte schreiben. Ein vorheriges Formatieren der SD-Karte ist nicht nötig.
Mit SD Karte und WiFi bei verbundenem Monitor und mit Tastatur/Maus starten. Bei neuen Raspis ist WiFi an Board, bei älteren Raspis sollte ein USB WiFi Dongle (ca. 5 Euro) benutzt werden.
Im Terminalfenster "$ sudo raspi-config" :
"System Options" : "S4 Hostname" : Computernamen setzen
"Interface Options" : "P2 SSH" : Enable SSH
"System Options" : "Password" : Password setzen
Ein Netzwerkabel verbinden (WiFi kann während einer Installation abbrechen) und die Konfiguration per SSH an einem anderen Computer weiterführen.
Ein paar SSD Karten auf Vorrat bestellen.
Wenn ein Texteditor benötigt wird : nano
Dies ist eine Merk-/Checkliste. Sie hilft, wenn man als neuer Benutzer Linux auf dem Raspi von null aus durchstarten möchte. Geduld ist eine Vorraussetzung zur erfolgreichen Installation. Das Aufsetzen kann schon mal hängenbleiben, man kann falsch abbiegen, an den unterschiedlichsten Stellen. Deswegen lieber häufiger als seltener ein "sudo reboot" machen. Solange das geht, besteht noch Hoffnung, ;-) . Wer in die Tiefen von Rasperian - Debian einsteigen möchte : https://www.debian.org/ .
Hier gibt es nette Informationen zum Raspi :
https://docs.google.com/document/d/1WIMlgBpjbu73PBBGOEExxWV0GmC9s-lBEpA5CmkI0Og/
Den Rasperry Pi (B) mit Rasperian (Debian) aufsetzen (Ausdrucken, und [ ] abhaken)
- Raspbian Image-File abholen bei
http://www.raspberrypi.org/downloads/
- Den dort detaillierten Anweisungen für das Betriebssystem (Win, Mac, Linux) folgen
- Die SD Karte ist vermutlich schon FAT32 formatiert. Es sollte mindestens eine 8 GByte Karte sein.
- Mac : Der Balena Etcher schreibt von der .zip Datei direkt auf die SD-Karte. Das "Ent-zippen" passiert im "Etcher". cool !
- Win : das Raspi-Betriebssystem "entzippen" mit 7zip (Der Standard-Entzpper hat Probleme)
- Win : Download des Programms Win32DiskImager von der Sourceforge Project Seite
http://sourceforge.net/projects/win32diskimager/
- Win : Wenn die SD Karte nicht leer ist, mit Windows Bordmittel oder SDFormatter formattieren
- Wenn ein altes Raspi-OS auf der Karte ist, wird als Größe nur ein paar MByte angezeigt :
-> Neu Formattieren ist nicht nötig. Einfach ein neues Image drüberschreiben
-> SD Karten Reset ("cmd" diskpart) : http://www.gieseke-buch.de/raspberrypi/sd-karte-vom-raspberry-pi-windows-vollstaendig-nutzen
- Win : die SD-Karte mit Win32DiskImager beschreiben
- Eine solche Fehlermeldung deutet auf ein Problem mit der SD Karte hin :
"An error occured when attempting to write data to handle. Error 23: Datenfehler (CRC-Prüfung)" . Die SD Karte wurde erstmal auf die Seite gelegt. Mal schauen, ob man sie retten kann.
Normalerweise sieht ein Erfolg so aus :
- SD Karte in den Raspi einstecken, (falls kein WLAN : Netzwerkkabel mit Raspi verbinden) und den Raspi mit Spannung versorgen
- Seit Raspi-Jessie landet man nicht mehr automatisch in raspi-config, sondern in der grafischen Oberfläche (PIXEL), die auch ein grafisches Setup-Programm bietet, das ganz gut funktioniert. Das tradionelle raspi-config ist weiterhin über das Terminalprogramm (Crtl-Alt-T) möglich. Manchmal muß man sich jetzt einloggen. Schräg.
- Sollte es nötig sein, sich einzuloggen (Gänsebeine "" natürlich weglassen)
Benutzer : "pi"
Password : "raspberry" ! Achtung. Bei deutscher Tastatur ein "z" tippen um ein "y" zu erhalten
$ sudo apt-get update # spült auch die aktuelle Version von raspi-config an Bord
$ sudo apt-get upgrade
$ sudo reboot
$ sudo raspi-config
──┤ Raspberry Pi Software Configuration Tool (raspi-config) ├───
1 Change User Password Change password for the current user
2 Network Options Configure network settings
3 Boot Options Configure options for start-up
4 Localisation Options Set up language and regional settings to match your location
5 Interfacing Options Configure connections to peripherals
6 Overclock Configure overclocking for your Pi
7 Advanced Options Configure advanced settings
8 Update Update this tool to the latest version
9 About raspi-config Information about this configuration tool
Standardmässig ist eine SSH Verbindung auf der jungfräulichen SD Karte nicht freigeschaltet. Dies kann man ändern, indem man mit PC oder MAC eine leere Datei "ssh" (ohne Datei-Endung, Kleinbuchstaben) auf die SD Karte schreibt. Sodann hat man per ssh Zugriff auf den Raspi und kann die Konfiguration auch ohne an den Raspi angeschlossenen Bildschirm und Tastatur bewerkstelligen. Viel einfacher ist es allerdings, den Komfort der automatischen Konfiguration mit angeschlossenem Bildschirm zu geniessen.
$ sudo raspi-config , "ß" = "-", ;-)
raspi-config sortiert die Optionen schon mal um. Inhaltlich sollten sie aber alle da sein.
Oberhalb des Menüs wird die Hardware-Version des Raspis angezeigt (neuere Versionen)
Expand Filesystem (sollte seit Jessi [-Pixel] ab November 2016 nicht mehr nötig sein)
Internationalisations Options (LogiLink ID0104)
[ ] Keyboard Layout (K400r), Tastatur, z.B. [ ] Generic 105-key (Intl) PC, [ ] German, [ ] German,
[ ] default, [ ] Compose : Right Alt (AltGr), [ ] Yes : Ctrl + Alt + Backspace = terminate X-server,
( gespeichert in etc/default/keyboard, "@" ist problematisch, u.a. bei Logitech K400r,
evtl. hilft Zusatz von setxkbmap -layout "de,de" in /etc/xdg/lxsession/LXDE/autostart )
[ ] Timezone (Zeitzone) = Berlin
[ ] Locale, de_DE.UTF-8, de_DE.UTF-8
- Advanced options :
[ ] Update , meist nicht verkehrt
Achtung : raspi-config zeigt keine Versionsnummer. Ein Update kann aber die Optionen ziemlich durcheinanderwirbeln !
[ ] Hostname : Namen des Knotens setzen (hsxnn)
(?? Memory Split, Wenn man eh' keinen Monitor anschliesst, braucht die GPU auch keinen Speicher
Minimum Wert ist 16; maximum ist 448 für einen 512MB Pi. Default ist 64.)
Rest nach Gusto
- Interfacing Options
P1 Camera Enable/Disable connection to the Raspberry Pi Camera
P2 SSH Enable/Disable remote command line access to your Pi using SSH
P3 VNC Enable/Disable graphical remote access to your Pi using RealVNC
P4 SPI Enable/Disable automatic loading of SPI kernel module
P5 I2C Enable/Disable automatic loading of I2C kernel module
P6 Serial Enable/Disable shell and kernel messages on the serial connection
P7 1-Wire Enable/Disable one-wire interface
P8 Remote GPIO Enable/Disable remote access to GPIO pins
[ ] SSH, unbedingt SSH freischalten
[ ] SPI, enable automatic loading : SPI kernel permanent für PiFace einschalten
Eventuell :
[ ] One Wire interface -> Spannend, muß noch erforscht werden.
[ ] VNC, graphical remote connection einschalten. Nur wenn das X-System läuft !
- Boot options : hier wird eingestellt, ob mit Text-Prompt oder mit grafischer Oberfläche gestartet wird
Bei Betriebssystemen ohne Grafik Unterstützung, wird WLAN durch Editieren so eingerichtet :
Methode 1 :
$ sudo nano /etc/network/interfaces # Hier trägt man folgende Zeilen ein:
# WLAN
allow-hotplug wlan0
iface wlan0 inet manual
wpa-ssid "WLAN-NAME"
wpa-psk "WLAN-PASSWORT"
Selber eintragen muss man noch den WLAN-Name (SSID) und das WLAN-Passwort (Pre-Shared-Key, PSK).
Methode 2 : (bevorzugt)
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf : (oder $sudo mc ..)
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Your_SSID"
psk="Your_Password"
}
Für jedes WiFi Netzwerk einfach einen weiteren "network" Block hinzufügen
Manchmal funktionieren WLAN Sticks sofort, entweder die kleinen Daumennagel-grossen, oder die mit einer "richtigen" Antenne. USB WLAN Sticks/Antennen wegen erhöhter Reichweite und weil ein älterer Raspi kein eingebautes WLAN hat. Dann müssen nur noch die Zugangsdaten eingetragen werden. Manchmal muß nachgeholfen werden, Dann blinkt es zwar blau an dem WLAN Stick, aber das WLAN wird nicht automatisch eingebunden.
$ lsusb
Bus 001 Device 004: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Man sieht den Realtek Stick. Aber er wird nicht automatisch eingebunden.
$ sudo apt-get install firmware-realtek (ist oft schon drauf)
$ sudo iwlist wlan0 scan
zeigt die WLAN Netze an. Das bedeutet, der Stick funktioniert "im Prinzip".
Info : https://www.opentechguides.com/how-to/article/raspberry-pi/85/wifi-usb-dongle-setup.html
"Manchmal" bricht der WiFi Teil vom Raspi zusammen, während man sich per IP-Draht weiterhin mit dem Raspi verbinden kann. Es sollte möglich sein, eine zusammengebrochene WiFi per Draht wieder in Gang zu bringen, ohne einen Reboot zu benötigen. Aber wie ? , ;-) .
Bei den Lite-Varianten, oder wenn sonst node.js noch nicht dabei ist (im Zweifel googlen)
Variante 1 : installieren von https://node-arm.herokuapp.com/
$ wget http://node-arm.herokuapp.com/node_latest_armhf.deb
$ sudo dpkg -i node_latest_armhf.deb
$ node -v
v5 ....
Variante 2 : Installieren per $ sudo apt-get install nodejs
Variante 3 : Mit ein bischen Voodoo ( siehe http://thisdavej.com/beginners-guide-to-installing-node-js-on-a-raspberry-pi/ )
$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
$ sudo apt-get install nodejs
$ node -v
v7.2.1
Zuletzt mal schauen, was man sich denn da so installiert hat :
$ node -v
$ node -h
$ which node
$ sudo reboot
$ sudo apt-get update
$ sudo apt-get upgrade
$ startx startet die grafische Oberfläche
$ dmesg zeigt u.a. den ellenlangen Laber vom Starten noch mal, "prints the message buffer of the kernel"
$ ps auxw zeigt alle laufenden Prozesse
$ sudo find / -name "[mM]*" : alle Dateien finden, die mit einem "m" oder "M" anfangen
- (Um den kompletten Log vom Booten zu bekommen, nicht nur Kernel Logs : ?? )
- der eigene Computer ist "localhost", oder 127.0.0.1
$ sudo halt oder $ sudo shutdown -h now : stoppt den Raspi zum "sauberen" Ausschalten
$ lsusb = listet alle erkannten USB Verbindungen
$ uptime = gibt die Zeit an, die der Raspi schon läuft
pi@hsx01 ~ $ uptime
15:06:44 up 53 days, 15:27, 1 user, load average: 0,58, 0,49, 0,46
( load average of the system over the last 1, 5, and 15 minutes )
$ top = zeigt dynamisch die laufenden Prozesse an
( ganz viele Optionen, ">", "<", ... siehe auch http://www.computerhope.com/unix/top.htm )
- Welche Linux Version ist installiert ?
$ cat /etc/issue
$ cat /etc/*release
pi@hsx3:~ $ uname -a
Linux hsx3 4.1.13-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux
$ ip addr : zeigt aktuelle IP Adressen, mehr Info $ sudo /sbin/ifconfig, weniger $ hostname -I
$ sudo blkid : zeige lokale Laufwerke
$ df -h : freier Plattenspeicher
$ free -m -t : freier Hauptspeicher
$ rm -r directory : lösche komplette Unterverzeichnisse
$ ls -al : zeigt die Lese und Schreibrechte der Benutzergruppen
$ date
$ uptime
$ logout
Raspi Innereien : https://elinux.org/RPI_vcgencmd_usage
Achtung !
Alle Bestandteile dieses Projektes sind Open Source Projekte, die sich mehr oder weniger schnell verändern. Deswegen kann es sein, daß es wegen unterschiedlicher Software Versionen "knirscht". Da alle Quellen verfügbar sind, könnte man der Ursache des Problems selber auf die Spur kommen. Praktisch kann sich das leider als sehr kompliziert und zeitaufwendig herausstellen. Sollte eine der Anleitungen nicht funktionieren, liegt es höchstwahrscheinlich daran. Emails mit Meldungen und optimalerweise Korrekturen sind sehr willkommen.
Spätestens ab hier sollte die SSH Unterstützung verfügbar sein. Dann per "PuTTY" (Windows) oder "Terminal" (Mac) einloggen, und die folgenden Zeilen per "copy" und "paste" ausführen.
CCU.IO installieren (sofern es benutzt wird)
CCU.IO : Manuelle Installation
$ cd /opt
$ sudo git clone https://github.com/hobbyquaker/ccu.io.git
$ cd ccu.io
$ sudo node ccu.io-server.js start # zum ersten Ausprobieren
$ crontab -e # damit CCU.IO nach jedem Starten hochläuft an das Ende folgendes schreiben :
"@reboot sudo node /opt/ccu.io/ccu.io-server.js start"
$ sudo reboot
(Wer gerne die Dateien als .zip Datei sichern will, kann auch dieses machen :
$ cd /opt
$ sudo mkdir ccu.io
$ cd ccu.io
$ sudo wget https://github.com/hobbyquaker/ccu.io/archive/master.zip
$ sudo unzip master.zip
$ sudo mv -v ccu.io-master/* ./
und dann weiter ab wie unter 4.) (oben)
CCU.IO Setup richtigklicken (siehe unten) und "Addons" installieren : ScriptGUI, DashUI, SlimUI & Highcharts
Mit PuTTY die CCU.IO Logs verfolgen : tail -f /opt/ccu.io/log/ccu.io.log
Adapter rpi (Raspberry), erstmal ohne Piface, scharfmachen und ausprobieren (mit dem einen oder anderen reboot)
Piface einrichten (Für mehr Details klicken)
Den Emulator laden : $ sudo apt-get install python3-pifacedigital-emulator (installiert benötigtes Zubehör)
Nach dem "apt-get" erscheint das Symbol des Emulators auf der grafischen Oberfläche. Ausprobieren !
Get the Piface C libraries
Im rpi Adapter das PiFace scharfmachen und ausprobieren : Unter Daten/Datenpunkte schauen, "F5" mehrfach !
OWFS compilieren (Links klicken !) :
OWFS laden und compilieren (Verifikation : Über Webbrowser port 2121 die 1 Wire Installation abfragen)
(nicht unbedingt empfohlen : $ sudo apt-get install owfs, denn CCU.IO spielt leider nicht immer mit dem owfs-Paket zusammen. Weiterer Nachteil : apt-get benutzt auch die vor Hirnschmalz triefende systemd Methode. Vielleicht "sudo apt-get" mal selber ausprobieren ?)
Gegebenenfalls den owfs Adapter in CCU.IO scharfmachen
Programme schreiben
Dann sollte man noch auf seine Raspi draufspielen :
$ sudo apt-get install synaptic, Paket Manager (netter wie apt-get). Grafisches GUI unter "startx"
$ sudo apt-get install mc, Midnight Commander, das Werkzeug, auch per SSH auf iPad
- eins dieser VNC Paket, könnte sich mit der generischen VNC-Unterstützung (s.o.) erledigt haben :
tightvnc, tightvncserver (47114711, überzeugt nicht auf Anhieb ...) ?
Display zero ( :0 ) is port 5900, display one is port 5901, and so on.
RealVNC for Pi (Alpha Version veröffentlicht 09. Mai 2016)
xrdp : Server für das Remote Desktop Protocol (RDP)
- (sudo apt-get install dosfstools, hilft bei evtl. Stromausfällen & Spontanresets, s.u.)
$ sudo apt-get install scrot : Screen shot, "scrot -h", oder gnome-screenshot
Teamviewer funktioniert, wenn alles andere schiefgeht, ;-) :
- Teamviewer Raspi Paket abholen.
$ sudo apt install ./teamviewer<tab>
$ ($ sudo apt --fix-broken install, falls die erste Installation schief gegangen ist)
Für weitere Versuche und zum Zeitvertreib gut & hilfreich
$ sudo apt-get install digitemp (oder direkt von github) : Basis Software für 1 Wire Versuche
digitemp_DS9097U -i -s /dev/ttyUSB0 : einrichten
digitemp_DS9097U -a -n 10 : 10 Werte ausgeben
- lazarus : Opensource Delphi/Turbopascal nachempfunden, für alle Plattformen
$ sudo apt-get install putty ! universelles Terminalprogramm
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get -f install : wenn die Installierung der Pakete durcheinandergekommen ist
$ sudo apt-get -h : help
$ sudo -s befördert einen zum "Superuser" root
$ ps -e -F >psYYYYMMDD.lst schreibt eine Liste der Prozesse.
Wenn einer verloren geht, bekommt in Crash-Dump nur die PID. Diese Datei hilft dann.
$ sudo apt-get install pistore (glade, Xampp, aptitude, Tkinter, printenv)
$ ipconfig, ifconfig
Editor
Unter Windows ist Notepad++ der Editor der Wahl. Leider gibt es Notepad++ nicht für Linux. Es gibt aber Alternativen:
https://itsfoss.com/notepad-alternatives-for-linux/
Was noch gut wäre
Da SD Karten durch Schreiben "ausleiern", könnte man eventuell Logs auf eine Memory Disk schreiben,
oder auf eine Netzwerkplatte.
Vorteil : Die SD Karte wird nur zum Booten benutzt und sollte dann viele 100 Jahre halten.
Auf dem PC :
Putty - Terminal SSH Verbindung
WinSCP - Dateiverwaltung im Nortnon Commander Stil über Netzwerk
Notepad++ - genialer Texteditor
VNC - grafische Remote Oberfläche
TinyCAD - Um kleine Schaltpläne zu malen
WinSCP :
Damit man per WIN auf dem Raspi ohne Probleme nicht nur lesen, sondern auch schreiben kann, sollte es möglich sein WinSCP als "root" auszuführen :
- Mit "$ sudo passwd root" ein Passwort für den Raspi - root setzen
- Editieren der Datei /etc/ssh/sshd_config,
Auskommentieren der Zeile :
PermitRootLogin without-password
Direkt darunter folgende Zeile hinzufügen :
PermitRootLogin yes
Dann SSH neu starten : $ sudo service ssh restart, oder $ sudo reboot.
Dieses Rezept kann sich, abhängig vom Stand der Distribution, etwas ändern. Die spannende Datei sollte die gleiche bleiben.
Auf dem Mac :
Verbinden mit dem Raspi im Terminalprogramm : $ ssh pi@hsx01 . Schluss mit "logout".
"The Unarchiver" entpackt viele zip und sonstige Archive (Raspi offizielle Empfehlung).
"Etcher" (balenaEtcher) Open source Tool zum Beschreiben von SD Karten (Raspi offizielle Empfehlung).
Dateitransfer : "cyberduck", freie Software, so etwas wie winSCP unter Windows. Als Verbindungsart "sftp (SSH Verbindung)", Benutzer "root" wählen
Auf dem iPad/iPhone :
- vSSH Lite
- VNC Lite
- Ping Lite
Auf Android :
- ?
SD Karte schonen :
Google : sd card wearout
http://www.zdnet.com/article/raspberry-pi-extending-the-life-of-the-sd-card/
Raspberry Pi: Extending the life of the SD card
SD cards are said to have a finite life. If you are planning on running a Raspberry Pi 24x7x365, there are some steps that you can take with GNU/Linux to extend the life of the card: here are some ideas.
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=75508
Was ist denn auf dem Raspi für ein Prozessor ?
pi@hsx3:~ $ date
Mi 27. Jan 21:36:08 CET 2016
pi@hsx3:~ $ uname -m
armv71
pi@hsx02:~ $ free
total used free shared buffers cached
Mem: 445376 287464 157912 4564 51452 81128
-/+ buffers/cache: 154884 290492
Swap: 102396 0 102396
pi@hsx02:~ $ free -m -t
total used free shared buffers cached
Mem: 434 279 155 4 50 79
-/+ buffers/cache: 150 284
Swap: 99 0 99
Total: 534 279 255
pi@hsx3:~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 1
model name : ARMv7 Processor rev 5 (v7l)
...
processor : 2
model name : ARMv7 Processor rev 5 (v7l)
...
processor : 3
model name : ARMv7 Processor rev 5 (v7l)
...
Hardware : BCM2709
Revision : a01041
Serial : 000000007abae361
pi@hsx3:~ $