Raspberry Pi: Unterschied zwischen den Versionen

Aus m-wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 87: Zeile 87:
|}
|}


Bedeutung:
=== Bedeutung der Bezeichnungen ===
* 3.3V -> stellt 3.3V mit max. 50mA zur Verfügung
* 3.3V -> stellt 3.3V mit max. 50mA zur Verfügung
* 5V -> stellt 5V mit max. 250mA zur Verfügung -> Darf '''nie an einen GPIO-Pin''' gelangen, da dieser sonst '''sofort zerstört''' wird!
* 5V -> stellt 5V mit max. 250mA zur Verfügung -> Darf '''nie an einen GPIO-Pin''' gelangen, da dieser sonst '''sofort zerstört''' wird!
* GND -> Ground-Pins
* GND -> Ground-Pins
* I/O -> Reine Input/Output-Pins, welche nicht für andere Zwecke vorbelegt sind. Im Gegensatz zum [[Arduino]] sind keine analogen Ein-/Ausgänge vorhanden. Sollten nicht mehr als 3mA-Strom ziehen. Es geht zwar mehr doch auf Kosten der Lebensdauer.
* I/O -> Reine Input/Output-Pins, welche nicht für andere Zwecke vorbelegt sind. Im Gegensatz zum [[Arduino]] sind keine analogen Ein-/Ausgänge vorhanden. Sollten nicht mehr als 3mA-Strom ziehen. Es geht zwar mehr (max. 16 mA), doch auf Kosten der Lebensdauer des Chips.
* TX -> Send (transmit) der seriellen Schnittstelle (UART)
* TX -> Send (transmit) der seriellen Schnittstelle (UART)
* RX -> Empfang (receive) der seriellen Schnittstelle (UART)
* RX -> Empfang (receive) der seriellen Schnittstelle (UART)

Version vom 23. Juli 2021, 01:33 Uhr

Einführung

Der RasPi ist ein Mini-Computer, der meist unter Linux betrieben wird. Er kann in diversen Sprachen programmiert werden, wobei vielfach c oder Python verwendet wird. Er besitzt eine Steckleiste ähnlich dem Userport des Commodore 64. Diese Steckleiste wird GPIO genannt und bedeutet General Purpose Input Output. Dies heisst, dass an die Anschlüsse für eigene Bedürfnisse anpassen kann. Einige der Anschlüsse kann man auch verwenden, um spezifische Protokolle wie UART (seriell), oder SPI zu benutzen.

Betriebsystem

Es gibt spezifische Betriebsysteme, welche explizit auf die Bedürfnisse des RaspPi zugeschnitten sind wie kleiner Speicherverbrauch und Vorkompilierung der verwendeten Kernelmodule. Entsprechend eine Liste der Distributionen, wobei die Liste länger ist: RasPi Betriebsysteme im Kurzportrait

Betriebssystem Eigenschaften Erscheinungsjahr SD-Karte
Raspian
  • Basiert auf Debian
  • Grosse Community und Wikis
2012 4GB (8GB wenn GUI)
Pidora
  • Basiert auf Fedora
  • Unterstützt den Headless-Modus
  • Grosse Community und Wikis
2014 2GB
Windows 10 IoT Core
  • Windows 10 IoT Core stützt sich auf die hauseigene „Universal Windows Platform“-API (UWP) und wird über die Community-Edition von Microsoft Visual Studio bedient
  • Bitlocker-Verschlüsselung und "Secure Boot"-Funktionen
  • Braucht ein aktuelles Windows 10 zur Entwicklung
  • Unterstützung von Pulsweitenmodulation (PWM) für Elektromotoren
  • Community-Forum mit eigenem Raspberry-Pi-Bereich
2015 ?
Ubuntu Core
  • minimalistische Abwandlung der Server-Edition
  • jedes Softwarepaket ist eine einzelne Einheit ("Snap") -> soll mehr Sicherheit bringen
  • Hilfe entweder direkt bei Canonical oder in den Community-Foren
  • Braucht einen Ubuntu SSO-Account
2014 ?
Risc OS
  • ausgerichtet auf ARM (seit den 1980er Jahren)
  • setzt stark auf "drag'n'drop", so werden Dateien geöffnet, indem man diese ins Programm zieht
2014? 2GB
Arch Linux ARM
  • ausgerichtet auf Profis, daher eher aufwendig
  • Rolling Release und daher vielfach kurze Testphasen
2015? 2GB
FreeBSD
  • Für den RaspPi angepasste Version von FreeBSD
  • sicher und schnell
  • grosse Community
2015? ?

GPIO verwenden

Je nach Revision und Gneration sind die Pins etwas anders. Daher unbedingt schauen, welche Version eingesetzt wird. Die Belegung ist zwar gleich, doch die Pins haben andere Nummern, so dass man dann evtl. den "falschen" Pin anspricht. Entsprechend hier die Revision B der neueren Boards.

Pinnummer Funktion - Funktion Pinnummer
- 3.3V o o 5V -
2 SDA o o 5V -
3 SCL o o GND -
4 I/O o o TX 14
- GND o o RX 15
17 I/O o o I/O 18
27 I/O o o GND -
22 I/O o o I/O 23
- 3.3V o o I/O 24
10 MOSI o o GND -
9 MISO o o I/O 25
11 SCKL o o I/O 8
- 3.3V o o I/O 7

Bedeutung der Bezeichnungen

  • 3.3V -> stellt 3.3V mit max. 50mA zur Verfügung
  • 5V -> stellt 5V mit max. 250mA zur Verfügung -> Darf nie an einen GPIO-Pin gelangen, da dieser sonst sofort zerstört wird!
  • GND -> Ground-Pins
  • I/O -> Reine Input/Output-Pins, welche nicht für andere Zwecke vorbelegt sind. Im Gegensatz zum Arduino sind keine analogen Ein-/Ausgänge vorhanden. Sollten nicht mehr als 3mA-Strom ziehen. Es geht zwar mehr (max. 16 mA), doch auf Kosten der Lebensdauer des Chips.
  • TX -> Send (transmit) der seriellen Schnittstelle (UART)
  • RX -> Empfang (receive) der seriellen Schnittstelle (UART)
  • SDA -> Daten? der IC-Schnittstelle
  • SCL -> Clock der IC-Schnittstelle
  • MOSI -> Master Out der SPI-Schnittstelle (Daten vom Server zu den Slaves) (Die Kabel werden nicht gekreuzt)
  • MISO ->Master In der SPI-Schnittstelle (Daten von den Slaves zum Server) (Die Kabel werden nicht gekreuzt)
  • SCKL -> Clock der SPI-Schnittstelle

Module freischalten

Damit das entsprechende Modul vom Kernel geladen wird, muss man es folgendermassen einrichten:

  1. Kontrolle, dass es nicht in der /etc/modprobe.d/raspi-blacklist.conf aktiv ist -> einfach mit einem # am Anfang auskommentieren
  2. Das Modul in /etc/modules hinzufügen
  3. Den RaspPi neu starten

IC

Das freizuschaltende Modul heisst i2c-bcm2708. Zusätzlich sollte auch i2c-dev geladen werden.

SPI

Das freizuschaltende Modul heisst spi-bcm2708. Zusätzlich sollte auch spidev geladen werden.

Wichtige Bibliotheken