• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
  • Englisch
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Arduino & ESP8266»Arduino und Raspberry Pi miteinander kommunizieren lassen

Arduino und Raspberry Pi miteinander kommunizieren lassen

Facebook Twitter LinkedIn Tumblr Email Reddit
arduino uno
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Wie der Arduino funktioniert und welche Modelle es gibt, habe ich bereits in einem vorherigen Artikel beschrieben. Nun gibt es massig Artikel über den Arduino an sich, aber nur wenige in Verbindung mit dem Raspberry Pi, jedoch bietet diese Kombination sehr viele Möglichkeiten.

Da ich mehr über den Arduino in Verbindung mit dem Raspberry Pi zeigen möchte, fange ich an, indem ich die direkte Kommunikation beider zeige.

Du brauchst nichts weiteres als einen Raspberry Pi, ein USB Kabel und einen Arduino (z.B. Uno oder Nano).

 

Vorbereitung

Damit der Arduino später mit dem Raspberry Pi kommunizieren kann, muss erst einmal entsprechender Code darauf geladen werden. Am einfachsten ist dies über den PC/Mac. Wie dies geht, habe ich bereits hier gezeigt.

C++
1
2
3
4
5
6
7
8
9
10
11
void setup(){
    Serial.begin(9600);
}
 
void loop(){
    if (Serial.available()) {
        byte nr = Serial.read();
        Serial.print("Folgender char wurde empfangen: ");
        Serial.println(nr, DEC);
    }
}

Das ist nur ein kleines Beispiel, wie du die Serial-Komponente benutzt. Natürlich kannst du auch auf die Eingaben reagieren, indem du Funktionen startest, I/O setzt oder ausliest, etc.

 

Inbetriebnahme am Raspberry Pi

Am Pi werden zusätzliche Bibliotheken benötigt, diese installieren wir zuerst:

sudo apt-get install minicom python-serial

 

Du solltest den Arduino vom Pi trennen, falls du ihn verbunden hattest, da wir den Port Namen herausfinden müssen. Dazu führst du folgendes zwei mal aus: Einmal ohne und einmal mit Arduino über USB verbunden.

ls /dev/tty*

Du wirst feststellen, dass am Ende der Liste ein neuer Name hinzugefügt wurde (bei mir ist das /dev/ttyUSB0). Mittels diesem Namen kannst du den Arduino über die serielle Schnittstelle ansprechen.  Da die Bibliothek für serielle Verbindungen unter Python installiert wurde, können wir ganz einfach darüber zugreifen.

Dazu erstellen wir eine neue Datei

sudo nano serialTest.py

mit folgendem Inhalt:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import serial
import time
 
s = serial.Serial('/dev/ttyAMA0', 9600) # Namen ggf. anpassen
s.open()
time.sleep(5) # der Arduino resettet nach einer Seriellen Verbindung, daher muss kurz gewartet werden
 
s.write("test")
try:
    while True:
        response = s.readline()
        print(response)
except KeyboardInterrupt:
    s.close()

Und ausführen:

sudo python serialTest.py

Die Ausgabe sieht dann folgendermaßen aus (mit STRG + C kannst du es stoppen):

pi@raspberrypi ~ $ sudo python serialTest.py
Folgender char wurde empfangen: 116
Folgender char wurde empfangen: 101
Folgender char wurde empfangen: 115
Folgender char wurde empfangen: 116

Die Ausgabe der eingelesenen Zeichen findet im ASCII Format statt (DEC für dezimal, HEX für den Hexadezimal Code). Du kannst natürlich auch das Zeichen direkt ausgeben bzw. darauf reagieren.

 

Was bringt mir das?

Zum einen bietet der Arduino, abhängig vom Modell, verschiedene Features, die nützlich sein können. Außerdem hat der Arduino auch viele digitale und analoge I/O Pins, die ganz einfach gesteuert werden können. Er könnte also als GPIO Expander verwendet werden, der sehr viel einfacher zu steuern ist. Außerdem kann man mit Arduino Bibliotheken/Programme einfach kommunizieren, falls man diese nicht auf dem Pi zum Laufen bringen möchte.

Arduino Nano Arduino Uno GPIO Erweiterung minicom python Serial Serielle Schnittstelle USB
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragWindows 10 IoT auf dem Raspberry Pi installieren
Nächster Beitrag Raspberry Pi – USV selber bauen (Unterbrechungsfreie Stromversorgung)

Ähnliche Beiträge

Mit der Raspberry Pi REST API via Python alle GPIOs steuern

ESP8266 Regensensor selber bauen – Wie viel regnet es pro m²?

How-To: Bluetooth Verbindung Zwischen ESP32 und Raspberry Pi’s

Anleitung: Günstige ESP8266 Waage bauen (mit Gewichtssensor HX711)

51 Kommentare

  1. Markus am 26. Mai 2016 23:01

    Leider überdeckt die Werbung an der rechten Seite die Hälfte des Artikels, so das es keinen Spaß macht ihn zu lesen. (Mac OSX, Safari)

    Antworten
    • Felix am 26. Mai 2016 23:04

      Welche Auflösung hast du denn? Kannst du die Seite neu laden, einen Screenshot machen und mir schicken? Die Sidebar sollte nämlich eigentlich auf der linken Seite angezeigt werden.

      Antworten
    • Gerd Hunhe am 11. August 2016 9:30

      ja bei mir auch

      Antworten
  2. Markus am 29. Mai 2016 8:38

    1440×900.

    Antworten
  3. Hebergement web am 17. Juli 2016 20:11

    dein Projekt ist echt klasse.. genau sowas habe ich gesucht habe schon mit dem raspberry versucht aber es leider nicht hinbekommen. Jetzt habe ich mir auch einen arduino zulegt und wollte gleich mal dein Projekt in die tat umsetzten nur leider komme ich bei dem Punkt mit dem Arduino nicht weiter. Habe diesen ber usb-angschlossen. Vllt kannst du mir weiterhelfen.

    Antworten
    • Felix am 18. Juli 2016 21:08

      Wo genau kommst du nicht weiter? Bekommst du Fehlermeldungen etc.? Bitte beschreibe dein Problem etwas genauer 🙂

      Antworten
      • Jörg Michael Günther am 13. April 2017 20:02

        Hej Felix
        Ich habe da auch ein Problem
        Bekomme folgende Auswertung der TTY*
        pi@vaexthus1:~ $ ls /dev/tty*
        /dev/tty /dev/tty19 /dev/tty3 /dev/tty40 /dev/tty51 /dev/tty62
        /dev/tty0 /dev/tty2 /dev/tty30 /dev/tty41 /dev/tty52 /dev/tty63
        /dev/tty1 /dev/tty20 /dev/tty31 /dev/tty42 /dev/tty53 /dev/tty7
        /dev/tty10 /dev/tty21 /dev/tty32 /dev/tty43 /dev/tty54 /dev/tty8
        /dev/tty11 /dev/tty22 /dev/tty33 /dev/tty44 /dev/tty55 /dev/tty9
        /dev/tty12 /dev/tty23 /dev/tty34 /dev/tty45 /dev/tty56 /dev/ttyAMA0
        /dev/tty13 /dev/tty24 /dev/tty35 /dev/tty46 /dev/tty57 /dev/ttyprintk
        /dev/tty14 /dev/tty25 /dev/tty36 /dev/tty47 /dev/tty58
        /dev/tty15 /dev/tty26 /dev/tty37 /dev/tty48 /dev/tty59
        /dev/tty16 /dev/tty27 /dev/tty38 /dev/tty49 /dev/tty6
        /dev/tty17 /dev/tty28 /dev/tty39 /dev/tty5 /dev/tty60
        /dev/tty18 /dev/tty29 /dev/tty4 /dev/tty50 /dev/tty61
        pi@vaexthus1:~ $ ls /dev/tty*
        /dev/tty /dev/tty19 /dev/tty3 /dev/tty40 /dev/tty51 /dev/tty62
        /dev/tty0 /dev/tty2 /dev/tty30 /dev/tty41 /dev/tty52 /dev/tty63
        /dev/tty1 /dev/tty20 /dev/tty31 /dev/tty42 /dev/tty53 /dev/tty7
        /dev/tty10 /dev/tty21 /dev/tty32 /dev/tty43 /dev/tty54 /dev/tty8
        /dev/tty11 /dev/tty22 /dev/tty33 /dev/tty44 /dev/tty55 /dev/tty9
        /dev/tty12 /dev/tty23 /dev/tty34 /dev/tty45 /dev/tty56 /dev/ttyACM0
        /dev/tty13 /dev/tty24 /dev/tty35 /dev/tty46 /dev/tty57 /dev/ttyAMA0
        /dev/tty14 /dev/tty25 /dev/tty36 /dev/tty47 /dev/tty58 /dev/ttyprintk
        /dev/tty15 /dev/tty26 /dev/tty37 /dev/tty48 /dev/tty59
        /dev/tty16 /dev/tty27 /dev/tty38 /dev/tty49 /dev/tty6
        /dev/tty17 /dev/tty28 /dev/tty39 /dev/tty5 /dev/tty60
        /dev/tty18 /dev/tty29 /dev/tty4 /dev/tty50 /dev/tty61
        Wenn ich nun dev/ttyACM0 einsetze oder die 62 oder 63 als Änderung vor und nach Anschluss des Arduino (UNO) bekomme ich die Fehlermeldung :
        pi@vaexthus1:~ $ sudo python serialTest.py
        Traceback (most recent call last):
        File „serialTest.py“, line 5, in
        s.open()
        File „/usr/lib/python2.7/dist-packages/serial/serialposix.py“, line 271, in open
        raise SerialException(„Port is already open.“)
        serial.serialutil.SerialException: Port is already open.
        Hast Du eine Idee ?
        Danke
        LG
        Jörg

      • Jörg Michael Günther am 14. April 2017 12:20

        Moin
        Die Schleife läuft jetzt anscheinend mit der Änderung die weiter unten vorgeschalgen wurde.
        Allerdings bekomme ich keinerlei Werte.
        Gruss aus Schweden Jörg

  4. peddi am 15. August 2016 13:17

    Ich bin bei dem selben Projekt, allerdings kommt bei nur in minicom etwas an (ich lasse den arduino 3 x 4 Werte ausgeben also 1 2 3 4 . 5 6 7 8 . 9 10 11 12 mit je 1 Sekunde Abstand) in minicom kommt meist nur 5 6 7 8 an selten nur die anderen beiden. im Python kommt mit ttyusb0 nichts an (usb Verbindung) . wo liegt der fehler?

    Antworten
    • Marcus am 14. September 2016 11:56

      Wie lang ist denn dein USB Kabel? Bei USB Druckern darf das Kabel nicht zu lang sein weil sonst Datenverluste auftreten.

      Antworten
  5. TimeMen am 17. September 2016 17:52

    Hey, toller Artikel.
    Aber habe folgendes Problem:

    Wenn ich mit ls /dev/tty* die verfügbaren Ergebnisse mir anschaue, und dabei zwei listings mit Arduino und ohne Arduino durchführe, kommt kein Ergebnis hinzu.
    Bin dementsprechend auch nicht in der Lage etwas rumzuprobieren mit Ardu und RPi, weil mir schon der Serielle Port fehlt, den ich in der .py Datei angeben muss.
    Woran könnte das liegen? Gibt es einen Standardport?

    Am Arduino liegt es nicht, denn ich habe jetzt drei verschiedene angeschlossen, und jeweils ls ausgeführt. Bei keinem kam ein Ergebnis hinzu.

    Hoffe du kannst mir helfen 🙂
    Liebe Grüße

    Antworten
    • Felix am 17. September 2016 18:07

      Sind deine Pakete alle auf dem aktuellen Stand?

      sudo apt-get update
      sudo apt-get upgrade
      sudo rpi-update
      Antworten
      • morob am 4. Mai 2017 12:56

        rpi-update ist immer mit vorsicht zu geniessen (beta system)

  6. Passa am 2. Oktober 2016 15:46

    Hallo,
    ich hab das alles gemacht nur kommt dann diese Fehlermeldung:
    File „serialTest.py“, line 13
    except.KeyboardInterrupt:
    ^
    SyntaxError: invalid syntax

    Hoffe du könntest mir da helfen.

    Antworten
    • Passa am 2. Oktober 2016 17:15

      Ok ich hab den Fehler gefunden.
      Eine weitere Frage:
      Wenn ich serialTest.py ausführe dann komm nur einer Meldung, dass der Port offen ist machen tut er aber nichts.

      Bitte Hilfe.

      Antworten
  7. Julian am 6. Januar 2017 16:50

    Mit welcher Version von Jessie hast du das gemacht?

    Antworten
    • Felix am 6. Januar 2017 19:11

      Ich habe die Version vom September 2016 genommen, soweit ich mich erinnere. Allerdings sollte das keinen Unterschied machen, solange die Pakete installiert sind.
      LG, Felix

      Antworten
  8. Julian am 6. Januar 2017 20:31

    Ich habe jetzt sowohl auf dem Raspberry Pi 2 und dem Raspberry Pi 3 die Version vom März 2016 genommen und jedes mal kommt der gleiche Fehler:
    „Traceback (most recent call last):
    File „serialTest.py“, line 5, in
    s.open()
    File „/usr/lib/python2.7/dist-packages/serial/serialposix.py“, line 271, in open
    raise SerialException(„Port is already open.“)
    serial.serialutil.SerialException: Port is already open.“
    Ich hab schon alle ausprobiert und weiß so langsam nicht mehr weiter.
    Hast du noch einen Tip für mich?
    Oder kennst du schon eine Möglichkeit in den neueren Versionen von Jessie SPI zu aktivieren und ein MFRC-522 RFID Lese/Schreibgerät anzuschließen?
    Vielen Dank im vorraus

    Antworten
    • Felix am 6. Januar 2017 23:41

      Lass dir doch mal alle seriellen Ports anzeigen: http://stackoverflow.com/questions/19670110/error-opening-python-serial-port

      Antworten
  9. Julian am 7. Januar 2017 1:05

    So ich hab’s geschafft!!!
    Das Tutorial war ein guter Tipp.
    Man muss nur statt „open()“ „isOpen()“ einfügen und es funktioniert.
    Vielen Dank für die schnelle Hilfe!!!
    Diese Website hat mir schon oft sehr gut geholfen und auch der Support ist super.
    Es ma´g zwar ein Stück weit die Euphorie aus mir sprechen, aber diese Website ist mit eine der besten über den Raspberry im Netz. Vielen Dank!!!

    Antworten
    • Felix am 7. Januar 2017 1:35

      Vielen Dank für das Lob 🙂

      Antworten
      • Jörg Michael Günther am 13. April 2017 21:17

        Dem Lob schliesse ich mich gerne an

    • Alexander am 17. September 2018 8:51

      Hey,
      hab mich auch etwas damit beschäftigt.
      man muss gar nichts angeben, weil der Port (s. Fehlermeldung) ja bereits geöffnet ist. Das geschieht automatisch beim Herstellen der seriellen Verbindung.
      Wenn ich isOpen() eingebe, frage ich nur ab, ob er auch tatsächlich geöffnet ist. Das ist nicht nötig. (Stört aber auch nicht…)
      Wenn ich irgendwo den Port mit s.close() schließe, dann sollte ich ihn vor erneutem Verwenden wieder mit s.open() öffnen.
      Ist aber meist nicht nötig, da der Port erst am Ende des Programms geschlossen wird und am Anfang ja erst die serielle Verbindung hergestellt werden muss.

      Antworten
  10. Sven am 12. Januar 2017 23:37

    Hallo!
    Vorab: Eine echt hilfreiche Website ist das hier, danke!

    Meine Frage: Bei mir hat alles super geklappt. Ich ermittle mit dem Arduino die Temperatur und schicke sie dann an meinen Pi. Bis hier hin funktioniert alles.
    Allerdings möchte ich die angefragten Informationen (Temperatur) ja nur einmal erhalten. Anfangs wurde sie mir noch ununterbrochen geschickt mit einer kleinen Verzögerung von dem delay() im Programm. Das konnte ich durch Serial.end beim Arduino abstellen. Dadurch stellt der die serielle Kommunikation vorerst komplett ein, was aber nicht weiter schlimm sein sollte, da der Arduino bei erneuter Abfrage über die serielle Schnittstelle ja einen Reset macht und dadurch die serielle Kommunikation wieder aufnimmt.
    Das Problem liegt beim Pi, da dieser weiterhin darauf wartet, Daten über die Schnittstelle zu empfangen.
    Meine Frage ist also: wie bringe ich dem Pi bei, nach dem Empfangen und Anzeigen der Temperatur die serielle Kommunikation wieder einzustellen?
    Ich habe bereits versucht, nach dem Befehl print(response) in Zeile 12 ein s.close() einzubauen, da gab es aber nur Fehlermeldungen.

    Danke und Viele Grüße

    Antworten
    • Felix am 12. Januar 2017 23:54

      Eigentlich sollte s.close() die Verbindung schließen, siehe Dokumentation.
      LG, Felix

      Antworten
  11. Flo am 13. Januar 2017 2:06

    Hey, erstmal vielen Dank für die gute und ausführliche Anleitung! 🙂 Ich habe bei mir leider ein Problem. Wenn ich die Datei in der Arduino IDE ausgebe, bzw. mir dort im Serial Monitor anzeigen lasse funktioniert alles. Wenn ich das ganze aber über Python versuche im Terminal ausgeben zu lassen, dann kommt entweder gar nichts an, oder direkt eine Fehlermeldung: „…/dist-packages/serial/serialposix.py“, line 475, in write n = os.write(self.fd, d) TypeError: ’str‘ does not support the buffer interface“

    Ich probiere schon seit einigen Stunden hin und her, aber habe bisher keinerlei Ausgabe auf meiner Raspberry hinbekommen.

    Hast du vielleicht einen Rat?

    Liebe Grüße

    Antworten
    • Karner am 2. Februar 2017 11:08

      Hi,
      Ich hatte das selbe Problem. unter Python3. Mit Pytho2 funktioniert es.

      Antworten
  12. Hagelschauer am 24. Januar 2017 20:39

    Vielleicht ist die eingestellte baudrate zur Kommunikation zum Arduino falsch?!!

    Antworten
  13. Skipper am 1. Februar 2017 11:15

    Hallo Felix..

    Gibt es auch ne Möglichkeit die beiden über die GPIO Pins am Raspi & den communication Pins am Arduino (quasi ohne USB) miteinander reden zu lassen?

    Antworten
    • Felix am 1. Februar 2017 12:48

      Ja, du könntest z.B. bitweise Daten schicken. Kann ich aber nicht empfehlen, da es genau deshalb ja serielle bzw. andere Übertragungsarten gibt, bei denen Fehlererkennung usw. auch schon dabei ist. Als möglich ja, aber praktisch ist es nicht.

      Antworten
  14. IrgendeinName am 15. Februar 2017 2:49

    Hallo @Felix,

    zunächst einmal ein herzliches Dankeschön für diesen Beitrag.
    Was ich vielleicht noch anmerken möchte, die Kommunikation über den USB-Port ist zwar für den Anfang ganz nett, wenn der Arduino nicht weit entfernt ist vom Pi, aber wenn man „richtig“ loslegen will, sollte man besser direkt auf den seriellen Port (UART) wechseln.

    Anmerkung:
    Bei der Kommunikation via UART zwischen Pi und einigen Arduinos sollte man berücksichtigen, dass da ggf. noch ein Pegelwandler (5Volt/3.3Volt) nötig ist.

    Die ersten Gehversuche mittels USB sind aber für das Verständnis der Kommunikation bestimmt nicht verkehr.

    Gruß
    …

    Antworten
    • Felix am 15. Februar 2017 18:24

      Klar, UART wäre eine alternative. Und falls der Arduino noch weiter weg ist: Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)

      Antworten
      • Volker am 12. Mai 2021 11:35

        Ja und wäre nicht ein weiterer Vorteil der UART/GPIO Nutzung, dass in der Arduino IDE der serielle Monitor weiter zum Debugging genutzt werden kann?

    • sporer am 3. August 2021 13:15

      Hallo zusammen. Was mir noch nicht ganz klar ist:
      wenn ich den Arduino Nano über USB mit dem RPi verbinde, sind dann die UART Pins weiterhin verfügbar? Mit anderen Worten : Sind das zwei voneinander unabhängige Ports?
      Danke

      Antworten
    • StephanDerrick am 5. Februar 2022 10:05

      Hi, hast du einen Tip für ein funktionierendes USB Kabel? Muss das irgendwie gekreuzt sein? Danke!

      Antworten
  15. Max64 am 18. März 2017 0:11

    Hallo Felix und hallo an alle

    wenn ich solch Projekte lese, macht mich das neugierig. 🙂 Danke schon mal dafür!

    Ich habe zwar keine Ahnung von Arduino oder Rasparry, aber wer nicht wagt, der nicht gewinnt. Bin wohl eher nen Windowsnormalo mit knappen VBA Kenntnissen.
    Egal, ich habe mir die nötigen Geraete besorgt und das ausprobiert.

    Raspberry Pi 3 und Arduino Mega2560

    In der Form wie oben beschrieben, haengt sich bei mir das Terminal auf, wenn ich die serialTest.py starte.
    Ich habe dann eine Nacht durch weiter Beitraege im Internet gesucht und ein „Timeout“ gefunden. So bekomme ich jetzt eine „Antwort“. Sieht so aus…

    s = serial.Serial(‚/dev/ttyACM0‘, 9600, timeout=0.5)

    „s.Open()“ hatte ich wegen Fehlermeldung auskommentiert. Habe jetzt in den Antworten hier, was von „s.isOpen()“ gelesen und es funktioniert bei mir auch ohne Fehler.
    Leider kommen aber die Antworten nicht immer komplett an. Sicher muss ich da eine Pause einfuegen… irgendwo.

    Ich sende ein Zeichen „A“ bei mir… und das Ergebnis sollte dann so aussehen
    “1;0;1;1“ und den Zustand von buttonPin1 bis 4 zurückgeben. Sieht so aus…

    void loop(){
        if (Serial.available()) {
           int inByte = 0;                                 
           inByte = Serial.read();      
            
           if (inByte == 'A' )            
           {
             Serial.print(digitalRead(buttonPin1));
              Serial.print(";");
             Serial.print(digitalRead(buttonPin2));
              Serial.print(";");
             Serial.print(digitalRead(buttonPin3));
              Serial.print(";");
             Serial.print(digitalRead(buttonPin4));
              Serial.print(";");    
             }
        }
    }

    Aber mal kommt nix und mal nur „1;0“ oder „1;0;1;;“ oder was anderes unvollständiges.
    Hast du eine Idee, wo ich pausieren muss oder sonst in einer weise auf das Ergebnis warten kann? Und was mir auch ganz lieb wäre, ist die abfrage über PHP. Dann könnte ich vom Browser aus abfragen.
    Gruß Max
    PS: arbeitet noch jemand an einem solchen Projekt und ist auch so hilflos?

    Antworten
    • Felix D. am 31. Januar 2018 23:56

      Erstmal: Vielen Dank für das Tutorial, so wie es aussieht ist das Thema sehr gefragt 🙂

      @Max64:
      Ich habe genau das gleiche Problem wie du. Ich bekomme keine vollständige Übertragung zustande, nur Bruchstücke…
      Ich wäre auch äußerst dankbar, wenn einer helfen könnte 🙂

      Grüße

      Antworten
  16. bdorer am 8. März 2018 20:22

    Hey,
    ich möchte mit der seriellen Schnittstelle Dezimale Daten schicken allerdings diese nicht umrechnen.
    irgend ein Tipp wie ich das hinbekomme?

    Danke

    Antworten
  17. David am 26. März 2018 20:30

    Hallo Felix,

    ich habe einen Pi auf dem OpenHAB2 läuft. Daran hängt ein Arduino Nano (via USB) der einen RGB-Strip schaltet (MOSFET N-Chanel Schaltung). Auf dem Pi habe ich eine Python Script über den der Arduino angesprochen wird um die RGB-Werte zu ändern oder ein Fadinglauf zu starten. In OpenHAB habe ich das mittels Rules gelöst.
    Das Problem ist nun das bei jeder Lichtänderung eine neue Serialverbindung aufgebaut wird. Dadurch kommt es zu einer erheblichen Zeitverzögerung, die mich stört. Wenn ich den Arduino an mein Notebook anschließe und zB via Putty eine Serialverbindung herstelle und dann die Steuerbefehle absetze habe ich keine Zeitverzögerung.
    Die Lösung wäre also eine dauerhafte Serialverbindung zwischen Pi und Arduino. Hast du einen Tipp für mich wie sich das realisieren lässt?
    Es sollen noch weitere Arduinos hinzukommen die über einen USB-Hub mit dem Pi verbunden werden sollen. Ist auch eine dauerhafte Serialverbindung zu allen Arduinos möglich?

    VG David

    Antworten
    • Felix am 26. März 2018 22:28

      Etwas unkonventionell, aber ich das könntest du mal ausprobieren: In einem dauerhaft laufenden Thread lässt du die serielle Verbindung bestehen. In dem Thread prüfst du alle X ms, ob ein bestimmter Wert gesetzt wurde (z.B. eine Datei, etc) und ließt diesen ggf. aus. Das Ergebnis wird dann an den Arduino übertragen.

      Antworten
  18. UweB. am 14. April 2018 21:01

    Hallo Felix,

    mein RPi kommuniziert zwar mit dem Arduino („Blink“ funktioniert), aber bei serialTest.py hängt sich der RPi auf. Wenn ich mit Strg+C abbreche, kommt folgende Meldung:

    Traceback (most recent call last):
    File „serialTest.py“, line 8, in
    s.write(„test“)
    File „/usr/lib/python2.7/dist-packages/serial/serialposix.py“, line 542, in write
    abort, ready, _ = select.select([self.pipe_abort_write_r], [self.fd], [], None)
    KeyboardInterrupt

    Hast Du eine Idee, woran das liegen könnte?

    Antworten
    • Felix am 15. April 2018 13:40

      Naja, die Fehlermeldung besagt nur, dass auf die Verbindung gewartet und dabei abgebrochen wurde.

      Antworten
      • UweB am 15. April 2018 20:27

        Danke für Deine schnelle Antwort. Leider bringt mich das nicht wirklich weiter 🙁

        Da aber die Kommunikation zwischen dem RPi und dem Arduino scheinbar funktioniert, werde ich zwar noch ein wenig mit serialTest.py rumwursteln, wenn es denn aber nich klappen sollte, ist es auch egal.

        MfG
        UweB

  19. FinnHendricks am 20. Mai 2018 23:51

    Falls jemand eine Fehlermeldung bekommt:
    TypeError: unicode strings are not supported, please encode to bytes:

    Dann müsst ihr den Aufruf der Write-Methode anpassen:
    s.write(„test“.encode())

    Antworten
  20. Jan am 28. November 2018 16:56

    Ist es z.B. auch möglich mit Python neue Scripte auf den Arduino zu spielen? Bzw. fertige Scripte auf dem Arduino auszutauschen? Ich möchte quasi eine Art Python Server haben, der dann je nach Ereigniss andere Scripte auf dem Arduino laufen lässt ohne das der Server neugestartet werden muss.

    Antworten
    • Alexander Maier am 20. März 2019 13:23

      Sollte eigentlich möglich sein, aber ich hätte mir das anders vorgestellt.
      Ich würde auf den Arduino ein umfangreiches Script mit mehreren While-Schleifen schreiben. Dann mit einer Variable steuern, in welcher Schleife er sich aufhalten soll.
      Sprich, du überträgst über die serielle Schnittstelle einen Wert (1). Dann wird nur die entsprechende Schleife aufgerufen. Willst du das Script „ändern“, dann überträgst du einen neuen wert (z.B. 2), dann läuft die zweite Schleife.
      Jede Schleife müsste dann einem eigenen Script entsprechen. Du kannst die dann zwar nicht on the fly ändern, aber im Normalfall weiß mann ja, was man so haben will.
      Falls du die Eingangssequenz nochmal ablaufen lassen willst, kannst du in diesem Fall einfach einen Neustart am Arduino durchführen. Dann musst du halt den Wert der Schleife entweder nochmal abfragen oder vorher im eprom speichern.

      Antworten
  21. michael am 28. Dezember 2018 20:42

    hallo felix,
    ich muß mich meinen vor-rednern anschließen, tolle seite, tolle tips !
    ABER : wird es irgendwann auch mal ein tutorial hier geben, wo man ein paar sensoren die du hier vorgestellt hast, mit einem UNO oder ARDUINO via ESP8266 kommunizieren, und dieses (vielleicht) als grafik auf dem raspi aufbereitet wird ? nur ein vorschlag wie ich es meine :
    RASPI macht z.b. webserver für die kleine „wetterstation“…diese kann man dann „intern“ abfragen (raspi hat z.b. die 192.186.1.100)….und der DHT22 oder BME280 schubst die daten via ESP8266 zum raspi ? könnte man da z.b. auch den raspi über die fritzbox oder speedport ansprechen ?
    es gibt 1000 probleme…fangen wir an .-)

    Antworten
  22. Bernd Albrecht am 26. März 2019 18:22

    Die Tutorials sind klasse. Lese ich immer wieder gerne und probiere auch viel aus.
    Mein aktuelles Projekt: RFID-RC522 auf dem RasPi (3B, aktuelles Raspbian) zum Laufen zu bringen. Die alten Tools (SPI-Py) und Tipps funktionieren nicht mehr. Die Foren sind voll davon.
    Zwischenlösung: Mein RFID-Leser mit Karte und Tag funktioniert am Arduino. Also will den Code (wird im Serial Monitor der IDE angezeigt) am RasPi weiter verarbeiten.
    Aber schön wäre auch der direkte Anschluss an die SPI-Schnittstelle des RasPi. Irgendeine Idee?

    Antworten
  23. Jan am 3. April 2019 12:13

    Wie kann ich verschiedene Zahlen übertragen und danach auch nicht unterscheiden von wo das geschickt wurde also wenn ich am Arduino zwei HC SR04 Anschließe und diese unterschiedliche werte ausgeben und ich diese in Python weiterverarbeiten möchte??

    Antworten
  24. Karl am 26. Dezember 2020 15:31

    die agressive Werbung vermiest das interessante Tutorial.
    NEIN ICH WILL KEINE HAUTCREME KAUFEN

    Antworten
  25. Tobias am 17. Juni 2021 13:19

    Auch hier wie immer ein Klasse Tutorial. Ich habe es nun hinbekommen, dass der Pi die Daten von den am Arduino angeschlossenen DHT11 Sensoren empfängt und die Werte in eine Text Datei schreibt.
    Nun würde ich gernen noch ein Programm schreiben, welches ein Relais am Arduino ein und ausschaltet. Also quasi ein Ein.py und ein Aus.py Aber welchen Befehl muss ich an den Arduino senden damit dieser das Relais schaltet? digitalWrite(relais1pin, HIGH oder LOW) funktionieren nicht. Direkt im Sketch des Arduino funktioniert der Befehl und das Relais schaltet:
    digitalWrite(relais1pin,HIGH);
    delay(3000);
    digitalWrite(relais1pin,LOW);

    Serial.print(digitalWrite…) habe ich auch ausprobiert und dazu noch über ne Stunde google bemüht aber wahrscheinlich das Falsche gesucht, denn ich habe keine passende Antwort gefunden.

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Raspberry Pi 4 WLAN und Bluetooth einrichten

Raspberry Pi: YouTube Live Streaming einrichten

Lüftersteuerung zur besseren Übertaktung des Raspberry Pi

Raspberry Pi der 4. Generation vorgestellt – Neuer Mini Desktop Computer

Raspberry Pi WLAN Stick installieren und einrichten

Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)

Blog abonnieren

Abboniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.