Arduino und RasPi drahtlos koppeln

LLAP

Zwar erleichtert WIK den Einstieg in den Umgang mit dem RasWIK-Paket, hat aber nur begrenzten praktischen Nutzen. Erfreulicherweise beherrschen das Slice of Radio und der XinoRF das Lightweight Local Application Protocol (LLAP), über das sie drahlos Nachrichten austauschen können. Im Endeffekt bedeutet das, dass Sie bei Bedarf den XinoRF vom RasPi aus mittels Python-Skript steuern. Listing 1 demonstriert das anhand des bereits beschriebenen LED-Versuchs – diesmal aber ohne WIK und mit drahtloser Steuerung.

Listing 1

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Einfaches Python-Skript zur LED-Ansteuerung
import serial
from time import sleep
port = '/dev/ttyAMA0'
baud = 9600
serial_connection = serial.Serial(port=port, baudrate=baud)
sleep(0.2)
serial_connection.write('a--D11HIGH--')
sleep(3)
serial_connection.write('a--D11LOW--')
serial_connection.close

Das Skript definiert zunächst den Port und dessen Geschwindigkeit. Anschließend öffnet es eine serielle Verbindung und schickt Nachrichten an den XinoRF. Die lauten hier a--D11HIGH-- und a--D11LOW-- und setzen Pin 11 auf HIGH respektive LOW, was die LED ein- und ausschaltet.

Das Auslesen eines Pin-Werts auf dem XinoRF gestaltet sich ähnlich simpel. Die beiden Anweisungen aus Listing 2 lesen 12 Zeichen über den seriellen Port ein und geben diese aus.

Listing 2

 

reading = serial_connection.read(12)
print (reading)

Ans Eingemachte

Die Möglichkeit, programmgesteuert Werte über die XinoRF-Pins einzulesen, eröffnet ein weites Feld an Einsatzmöglichkeiten. So können Sie beispielsweise den mitgelieferten Fotowiderstand (Light-dependent Resistor, LDR) und einen normalen 10K-Widerstand mit dem Board verbinden, die gelieferten Werte kontinuierlich einlesen und in eine Textdatei schreiben.

Dazu verbinden Sie zunächst einmal, wie in Abbildung 7 gezeigt, die Widerstände mit dem Board. Dann tippen Sie den Code aus Listing 3 ab, speichern ihn als read_write_values.py und machen die Datei über das Kommando chmod +x read_write_values.py ausführbar.

Abbildung 7: Verkabelungsdiagramm für den Fotowiderstand.

Wie der Code aus dem vorigen Beispiel initialisiert auch dieses Skript zunächst eine serielle Schnittstelle und stellt die Verbindung zum XinoRF her. Über eine Endlosscheife liest es dann die Werte von Pin 0 aus. Die zurückgelieferten Rohdaten der Form a--A0+593— parst es dann, indem es die ersten sechs Zeichen verwirft und alle Minus-Zeichen entfernt.

Übrig bleibt der Messwert, den das Skript dann an die Datei values.txt anhängt. Die sleep-Befehle innerhalb der Schleife definieren die Intervalle zwischen den einzelnen Lese- und Schreibvorgängen. Das Skript arbeitet die Schleife so lange ab, bis ein Fehler auftritt, wie etwa eine Unterbrechung per Tastatur mit [Strg]+[C].

Listing 3

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import serial
import sys
from time import sleep
port = '/dev/ttyAMA0'
baud = 9600
serial_connection = serial.Serial(port=port, baudrate=baud)
sleep(0.2)
while True:
  try:
    serial_connection.write('a--A00READ--')
    sleep(0.2)
    rawdata = serial_connection.read(12)
    value = rawdata[7:]
    value = value.strip('-')
    print value
    with open("values.txt", "a") as f:
      f.write(value +"\n")
    sleep (3)
  except KeyboardInterrupt:
    sys.exit(0)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

08/2019
Smarte Hacks

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Immer der Reihe nach

    Mit einer einfachen Schaltung testen Sie Bausteine, die über den SPI-Bus miteinander kommunizieren.

  • Einzigartig

    Eine MAC-Adresse ermöglicht die Kommunikation im Netzwerk. Der 24AA02E48 liefert sie für Setups, die aus grundlegenden Komponenten bestehen.

  • Steinkuchen

    Der Raspberry Pi hat viele Fans, doch nicht ohne Grund sehnen sich viele Anwender nach einem RasPi 4. Der Rock Pi 4 übertrumpft den RasPi 3 in Sachen Leistung um Längen und schlägt sich auch in der Praxis gut.

  • Kerngeschäft

    Der Einstieg in die Welt der Mikrocontroller fällt nicht ganz leicht. Mit dem Nucleo F401RE haben Sie jedoch ein Entwicklerboard samt abgestimmter Entwicklungsumgebung an der Hand.

  • Himbeer-Geräte

    Mit Maus und Tastatur im weiß-roten Raspberry-Look macht die Raspberry Pi Foundation das eigene Angebot an Peripheriegeräten für den Mini-Rechner komplett.

  • Unter Kontrolle

    PiCockpit ist eine speziell auf den RasPi zugeschnittene Online-Monitoring-Lösung. Wir werfen einen ersten Blick auf den brandneuen und in Ausbau befindlichen kostenlosen Dienst.

  • Ins rechte Licht gesetzt

    Selbst ohne eigenen Garten holen Sie sich Pflanzen mithilfe von LEDs in jeden Raum und sehen ihnen mit dem RasPi beim Wachsen zu.

  • Helligkeit nach Maß

    Wer bei wechselnden Lichtverhältnissen nicht ständig die Beleuchtung manuell nachregeln möchte, der spannt dafür einen PiXtend ein.

  • Geschrumpft

    Kleine Bildschirme gibt es zwar viele, aber der Support von Raspbian ist überraschend schlecht. Mit ein paar Tricks erzielen Sie trotzdem ein optimales Ergebnis.

  • Brüllwürfel

    Kompakt-Stereoanlagen mit CD-Spieler und Kassettendeck sind inzwischen oft ein Fall für den Recyclinghof – oder für die digitale Wiederbelebung mit einem RasPi und etwas Geschick.