...

Einführung in Raspberry Pi und GPIO

by thomas-koch

on

Report

Category:

Technology

Download: 1

Comment: 0

21,393

views

Comments

Description

Vorstellung des Raspberry Pi und der Nutzung der GPIO-Schnittstelle
Download Einführung in Raspberry Pi und GPIO

Transcript

  • 1. Python auf dem Raspberry PiThomas Koch @tomy_kochPythonCamp, Köln, Mai 2013
  • 2. Agenda Specs: Was ist der Raspberry Pi ? Anwendungen: Was kann der Raspberry Pi ? GPIO mit Python Programmierung & Beispiele Weitere Infos Links, Literatur05/2013Thomas Koch
  • 3. Einführung: Der Raspberry PiGrundlagen SOC Minicomputer: "System on a chip" 512 MB Hauptspeicher und 700 MHZ ARM CPU Ethernet-Schnittstelle und zwei USB-Anschlüsse (Modell B) "BYOP"-Prinzip: "bring your own peripherals“ Lieferung ohne Maus,Tastatur, Netzstecker etc. Nackte Platine (ohne Gehäuse), ohne SD-Card/OS Einschränkungen keine Uhr kein BIOS (d.h. Raspi kann NUR von SD-Card booten)05/2013Thomas Koch
  • 4. Hardware: Der Raspberry Pi05/2013Thomas Koch Das Board GPIO (General Purpose Input/Output) CSI (Camera Serial Interface) DVI-Out OS Raspbian (Debian) Arch Linux RISC OS
  • 5. Anwendungsmöglichkeiten Network Device Print- und Webserver, VPN-Server, DHCP-Server etc. Cloud für eigenes Netzwerk Raspberry Pi als Mediacenter XBMC basierende Distributionen wie OpenELEC, Raspbmc Oder auch als AirPlay Empfänger Remote Control Steuereinheit für eigene Roboter oder Luftfahrzeuge Home Automation Alarm Anlage Kiosk-Systeme eingebauterWeb-Browser "midori" bietetVollbildmodus$ midori -e Fullscreen -a <URL>http://lifehacker.com/5978871/ten-more-awesome-projects-for-your-raspberry-pi
  • 6. Anwendungsbeispiele05/2013Thomas Koch Jumbo Digital Picture Framehttp://raspberrypihobbyist.blogspot.de/2013/02/jumbo-digital-picture-frame.html
  • 7. Anwendungsbeispiele05/2013Thomas Koch Roboter-Steuerung per Spracheingabe!http://www.youtube.com/watch?v=_U_v9tRD68k
  • 8. Anwendungsbeispiele05/2013Thomas Koch MAME Arcade Table http://www.instructables.com/id/Coffee-Table-Pi
  • 9. Mini Tutorial05/2013Thomas Koch Erste Schritte Raspian auf SD-Karte „installieren“ und einstecken Einstecken (kein An/Aus-Schalter!) Login: user: pi / pwd: raspberry (Tipp: passwd ,-) Desktop-GUI: startx Debian basics $ apt-get update $ apt-get upgrade $ apt-get install <pkg> $ apt-get autoclean
  • 10. Mini Tutorial II05/2013Thomas Koch Konfiguration: $ raspi-config ‘enable ssh’ ‘change_pass ‘  change system password (for the user pi)http://learn.adafruit.com/adafruits-raspberry-pi-lesson-2-first-time-configuration/overview nützliche Debian Pakete für GPIO: "WiringPi"https://projects.drogon.net/raspberry-pi/wiringpi/ $ sudo apt-get install git-core $ git clone git://git.drogon.net/wiringPi
  • 11. GPIO Basics05/2013Thomas Koch GPIO perWiringPI steuern Ports per WiringPI ansteuern command-line utility gpio can be used to program and setupthe GPIO pins pi@raspi ~ $ gpio readall Python-Bindings Bindings für GPIO-ProjektWiringPi auf github:https://github.com/WiringPi/WiringPi-Python+----------+------+--------+------+-------+| wiringPi | GPIO | Name | Mode | Value |+----------+------+--------+------+-------+| 0 | 17 | GPIO 0 | IN | Low || 1 | 18 | GPIO 1 | IN | Low || 2 | 27 | GPIO 2 | OUT | Low || 3 | 22 | GPIO 3 | IN | Low || 4 | 23 | GPIO 4 | IN | Low || 5 | 24 | GPIO 5 | IN | Low || 6 | 25 | GPIO 6 | IN | Low || 7 | 4 | GPIO 7 | IN | Low || 8 | 2 | SDA | ALT0 | High || 9 | 3 | SCL | ALT0 | High || 10 | 8 | CE0 | IN | Low || 11 | 7 | CE1 | IN | Low || 12 | 10 | MOSI | IN | Low || 13 | 9 | MISO | IN | Low || 14 | 11 | SCLK | IN | Low || 15 | 14 | TxD | ALT0 | High || 16 | 15 | RxD | ALT0 | High || 17 | 28 | GPIO 8 | IN | Low || 18 | 29 | GPIO 9 | IN | Low || 19 | 30 | GPIO10 | IN | Low || 20 | 31 | GPIO11 | IN | Low |+----------+------+--------+------+-------+$ gpio mode 0 out$ gpio write 0 1$ gpio write 0 0
  • 12. Python auf dem Raspberry PI05/2013Thomas Koch Python included Raspi kommt mit Python 2.7 und 3.2 und pygame http://www.pygame.org/ GPIO mit Python simple GPIO PythonWrapper: RPi.GPIO A module to control Raspberry Pi GPIO channels includes a C extension any script using RPi.GPIO must run with root privileges! https://pypi.python.org/pypi/RPi.GPIO
  • 13. Code-BeispieleDemonstration05/2013Thomas Koch
  • 14. Beispiel: WiringPi05/2013Thomas Koch Serielle Schnittstellte GPIO bietet pins für transmit signal (TxD) and receive signal (RxD) Achtung: Raspberry Pi verwendet 0 – 3.3V level (RS-232: +/-12V) serialOpen: Requires device/baud and returns an ID https://projects.drogon.net/raspberry-pi/wiringpi/ http://elinux.org/RPi_Serial_Connectionserial = wiringpi.serialOpen(/dev/ttyAMA0,9600)wiringpi.serialPuts(serial,"hello")wiringpi.serialClose(serial) // Pass in ID
  • 15. Beispiel: RPi.GPIO05/2013Thomas Koch LED einschalten http://elinux.org/RPi_Low-level_peripherals#Python https://projects.drogon.net/raspberry-pi/gpio-examples/tux-crossing/gpio-examples-1-a-single-led/import RPi.GPIO as GPIO# header pin numbering BCM GPIO 00..nnGPIO.setmode(GPIO.BCM)# Set up the GPIO channels:# one input and one outputGPIO.setup(17, GPIO.IN)GPIO.setup(18, GPIO.OUT)input_value = GPIO.input(17)print „pin#17 is“, input_valueGPIO.output(18, GPIO.HIGH)
  • 16. Weiterführende Links/ Infos Websites Raspberry Foundation http://www.raspberrypi.org Adafruit (Tutorials, hardware kits, etc.) http://learn.adafruit.com Embedded LinuxWiki http://elinux.org Online-Magazin: http://www.themagpi.com Literatur Raspberry Pi - Einstieg • Optimierung • ProjekteMaik Schmitd, dpunkt verlag, http://www.dpunkt.de/raspi Getting Started with Raspberry Pihttp://blog.makezine.com/2012/12/25/ten-raspberry-pi-tipsVerlag: oreilly/makers05/2013Thomas Koch
  • Fly UP