Raspberry Pi: Software

Raspberry Pi: Software

Raspberry Pi: Software Inhalt Raspbian: Debian Stretch Headless Setup DHCP und DNS Server Webserver: Apache und PHP GPIOs schalten: WiringPi I2C und SPI Bus: Anwendungen Achim Vollhardt PHY 250 Elektronik - 1 - Raspberry Pi Software, Mai 2019 Operating Systems: NOOBS • NOOBS (New Out Of Box Software) Installer: Auswahl zwischen mehreren OS • Raspbian (Debian Stretch) • Arch Linux (minimalistisches Linux) • Pidora (Fedora Linux) • RISC OS • Raspbmc/LibreELEC/OpenELEC (Mediacenter) PHY 250 Elektronik - 2 - Raspberry Pi Software, Mai 2019 Raspbian: Debian Stretch • Raspbian ist eine Linux Distribution, welche für den Raspberry Pi optimiert ist und auf Debian Stretch basiert • hohe Verbreitung • aktuelle Kernel Version: 4.14 • Paketverwaltung dpkg, Frontend apt PHY 250 Elektronik - 3 - Raspberry Pi Software, Mai 2019 SD Karte Vorbereiten • Download der IMG Datei: https://www.raspberrypi.org/downloads/raspbian/ • IMG Datei mit Etcher auf SD Karte schreiben (dd unter Linux, einfached kopieren reicht nicht) • Partitionierung nach Etcher: • kleine (42MB) FAT32 Partition: boot ist von Windows/macOS aus sichtbar • grosse (4.xx GB) ext4 Partition • Rest ist zunächst nicht-allokiert PHY 250 Elektronik - 4 - Raspberry Pi Software, Mai 2019 Headless Setup • häufige Anwendung: Server oder autonomer Controller • kein Monitor oder Tastatur • headless setup: einrichten ohne Monitor oder Tastatur • benötige Netzwerkzugang • SSH aktivieren • WLAN konfigurieren • user: pi, pass: raspberry PHY 250 Elektronik - 5 - Raspberry Pi Software, Mai 2019 SSH aktivieren • aus Sicherheitsgründen ist ssh standardmässig deaktiviert, beim headless setup muss dieser Default irgendwie gedreht warden • Lösung: erzeuge Datei ssh in boot Partition • beim Startvorgang erkennt Raspbian die Datei und aktiviert ssh PHY 250 Elektronik - 6 - Raspberry Pi Software, Mai 2019 WLAN konfigurieren wpa_supplicant.conf in boot Partition ablegen: country=CH ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="NAME" scan_ssid=1 psk="PASSWD" key_mgmt=WPA-PSK } PHY 250 Elektronik - 7 - Raspberry Pi Software, Mai 2019 root und sudo • root: User mit Administrator-Rechten, ist für viele Installationen und Systemzugriffe zwingend • aus Sicherheitsgründen ist dem user ‘root’ der login via ssh nicht gestattet • mit dem Befehl sudo können User der Benutzer-Gruppe ‘sudo’ temporär root-Rechte erlangen • ‘sudo –i’ für root-Konsole PHY 250 Elektronik - 8 - Raspberry Pi Software, Mai 2019 APT: Software Paketmanager sudo apt-get update # Update der lokalen Paketdatenbank sudo apt-get upgrade # Upgrade aller installierten Pakete sudo apt-get install ‘paketname’ # Paket installieren sudo apt-get remove ‘paketname’ # Paket deinstallieren sudo apt-get autoremove # nicht benötigte Pakete deinstallieren sudo apt-get dist-upgrade # Kernel Upgrades installieren PHY 250 Elektronik - 9 - Raspberry Pi Software, Mai 2019 DHCP Server Raspberry Pi statische IP im Heimnetz zuteilen in /etc/dhcpcd.conf: interface eth0 static ip_address=192.168.1.2/24 static routers=192.168.1.1 static domain_name_servers=127.0.0.1 192.168.1.1 195.186.4.162 195.186.1.162 8.8.8.8 static domain_name=home.local static domain_search=home.local (Finger weg von /etc/network/interfaces unter Debian Stretch) sudo apt-get install isc-dhcp-server nicht vergessen: bisherigen DHCP Server (z.B. im Router) deaktivieren, sonst beissen sich die Systeme ... PHY 250 Elektronik - 10 - Raspberry Pi Software, Mai 2019 DHCP Server: feste IPs für Clients Konfiguration des DHCP Lease Range in /etc/dhcp/dhcpd.conf subnet 192.168.1.0 netmask 255.255.255.0 { authoritative ; range dynamic-bootp 192.168.1.64 192.168.1.99; } feste IP Zuteilung für Clients basierend auf MAC Adresse host ubuntu { fixed-address 192.168.1.41; hardware ethernet 04:f0:21:1b:b1:15; } Definition eines lokalen DNS Servers für die Clients option domain-name-servers 192.168.1.10; PHY 250 Elektronik - 11 - Raspberry Pi Software, Mai 2019 DNS Server Möglichkeit der Nutzung eigener Hostnamen im Heimnetz (ubuntu.home.local ist einfacher zu merken als 192.168.1.30) benötigtes Paket: bind9 sudo apt-get install bind9 sudo /etc/init.d/bind9 stop # Nameserver vorerst stoppen, Einträge fehlen Defnition der Zonendateien in /etc/bind/named.conf.local zone "domainname" { type master; file "/etc/bind/db.domainname"; }; zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.0.168.192"; }; PHY 250 Elektronik - 12 - Raspberry Pi Software, Mai 2019 DNS Server: Zonendateien Beispiel Forward-Lookup (db.domainname) ;; db.domainname ;; Forwardlookupzone für domainname ;; $TTL 2D @ IN SOA rechnername.domainname. mail.domainname. ( 2006032201 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 3H ) ; NX (TTL Negativ Cache) @ IN NS rechnername.domainname. IN MX 10 mailserver.domainname. IN A 192.168.0.10 rechnername IN A 192.168.0.10 localhost IN A 127.0.0.1 rechner1 IN A 192.168.0.200 mailserver IN A 192.168.0.201 PHY 250 Elektronik - 13 - Raspberry Pi Software, Mai 2019 DNS Server: Zonendateien Beispiel Reverse-Lookup (db.0.168.192) ;; db.0.168.192 ;; Reverselookupzone für domainname ;; $TTL 2D @ IN SOA rechnername.domainname. mail.domainname. ( 2006032201 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 2D ) ; TTL Negative Cache @ IN NS rechnername.domainname. 10 IN PTR rechnername.domainname. 200 IN PTR rechner1.domainname. 201 IN PTR rechner2.domainname. Achtung: Syntax einhalten (bind9 ist penibel), Punkt am Ende der Einträge nicht vergessen! PHY 250 Elektronik - 14 - Raspberry Pi Software, Mai 2019 Apache und PHP Apache (aktuell Version 2.4): vielseitiger und weit verbreiteter Webserver sudo apt-get install apache2 # Konfigurationsdatei: /etc/apache2/apache2.conf # Pfad zu HTML Dateien: /var/www/html/ PHP (Personal Home Page tools): Skriptsprache zur Erstellung dynamischer Webseiten sudo apt-get install php libapache2-mod-php -y PHY 250 Elektronik - 15 - Raspberry Pi Software, Mai 2019 GPIOs schalten: WiringPi WiringPi ist bei den aktuellen Raspbian Installationen vorinstalliert. Beispiel: blink.c #include <wiringPi.h> int main (void) { wiringPiSetup () ; pinMode (0, OUTPUT) ; for (;;) { digitalWrite (0, HIGH) ; delay (500) ; digitalWrite (0, LOW) ; delay (500) ; } return 0 ; } PHY 250 Elektronik - 16 - Raspberry Pi Software, Mai 2019 GPIOs schalten: WiringPi direkte shell Kommandos ebenfalls möglich (nicht sehr effizient, aber manchmal praktisch: gpio mode <pin> in/out/pwm/clock/up/down/tri gpio write <pin> 0/1 gpio read <pin> gpio pwm <pin> <value> #value: 0-1023 PHY 250 Elektronik - 17 - Raspberry Pi Software, Mai 2019 I2C und SPI Bus: Installation • I2C und SPI müssen im Kernel erst aktiviert werden sudo raspi-config # 5 Interfacing options --> P4 und P5 • nach Reboot, Schnittstellen prüfen ls /dev/*spi* ls /dev/*i2c* • I2C Tools installieren sudo apt-get install -y i2c-tools # i2cget, i2cset zum lesen, schreiben von i2c Slaves PHY 250 Elektronik - 18 - Raspberry Pi Software, Mai 2019 i2cdetect: Output • i2cdetect sucht nach angeschlossenen I2C Slaves pi@raspberrypi:~/$ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- PHY 250 Elektronik - 19 - Raspberry Pi Software, Mai 2019 Temperatursensor DS18B20 1-wire Temperatursensor • 1-wire Pin in Kernel aktivieren (vgl. I2C) • Rot an Pin 1 (3.3V) • Schwarz an Pin 6 (GND) • Gelb an Pin 7 (GPIO4), 4.7kOhm zu Pin 1 (Pull-Up) sudo modprobe w1-gpio pullup=1 # Kernel Module laden sudo modprobe w1-therm cat /sys/bus/w1/devices/10-000802cfb15d/w1_slave 1-wire Adresse 33 00 4b 46 ff ff 02 10 f4 : crc=f4 YES 33 00 4b 46 ff ff 02 10 f4 t=25625 25.625 Grad PHY 250 Elektronik - 20 - Raspberry Pi Software, Mai 2019 Relais Karte 3-Kanal Relay Karte 250V/10A schaltbar Steuerung über GPIOs PHY 250 Elektronik - 21 - Raspberry Pi Software, Mai 2019 Portsdown DVB-S Sender 70-2400 MHz DVB-S max. 1 mW Symbolrate: 66 kS – 4000 kS PHY 250 Elektronik - 22 - Raspberry Pi Software, Mai 2019 Portsdown DVB-S Sender 70-2400 MHz DVB-S max. 1 mW Symbolrate: 66 kS – 4000 kS PHY 250 Elektronik - 23 - Raspberry Pi Software, Mai 2019.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us