Raspberry Pi – Arduino - Link die beiden seriellen / UART

In 433Mz auf Raspberry Pi den Datenempfang, Sie können verschiedene Bibliotheken aber alle versuchen die CPU fast 100% (Wenn Sie wissen, eines, das nicht der Fall ist, dass ich interessiert bin !). Dann ist eine Lösung über ein Arduino, die uns die gültigen Daten über serielle Schnittstelle schicken.

Arduino Raspberry Pi serial uart

Ich weiterhin bewegen sich langsam auf mein Projekt PI Startseite verbinden, und daher weiter Mein Artikel über die Schaffung eines Knotens, Es ist notwendig, um Daten zu empfangen. Mit vorerst eine 433Mz sollten Übertragung daher Nachrichten aus meine Sonde empfangen. Die Rezeption direkt auf die Himbeere, die CPU genutzt hat (fast) die maximale, Ich entschied mich für ein Arduino verwenden.

Da ich nicht mehrere Stromquellen haben, Ich fand den ausgezeichneten Artikel von Jared Wolff für eine schnelle und einfache Verbindung zwischen den beiden :

PiHomeConnect - Arduino - Serial UART with Raspberry Pi

Das ist wie mit 4 Drähte verbinden die beiden. Dank Jared !!

Um die Kommunikation zwischen den beiden zu nutzen müssen Sie die Seite Konsole Raspberry Pi deaktivieren :

  • Aktualisierung Ihres Systems
    apt - get Update && apt - get Upgrade
  • Ggf. Raspi-Config
    Install apt - Get install Raspi-config
  • Ausführen Raspi-config und wählen Sie die folgenden Schritte :
    PiHomeConnect - Arduino - Serial UART with Raspberry Pi - Disable console - 1 PiHomeConnect - Arduino - Serial UART with Raspberry Pi - Disable console - 2 PiHomeConnect - Arduino - Serial UART with Raspberry Pi - Disable console - 3
  • Starten Sie Himbeeren Pi

Jetzt können Sie Ihre Arduino auf dem seriellen Port austauschen.. Sie ein Programm in Python verwenden können, z. B. Seite-Himbeere :

import serial
import sys
import string

ser = serial.Serial('/dev/ttyAMA0', 115200)
while True :
    try:
    	# Read data incoming on the serial line
        data=ser.readline()
        print data
    except:
    	print "Unexpected error:", sys.exc_info()
    	sys.exit()

Und auf dem Arduino :

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello");
  delay(1000);
}

Sie können auch mögen....

  • Guillaume

    Hallo,
    Zunächst Dank für den Blog, den ich lese regelmäßig abonnierte rss.
    Ich habe gerade Ihren Artikel auf den Link und ich denke, es fehlt ein Pegelwandler. Wissend, dass die Logikpegel unterscheiden sich auf der Ebene der diese beiden Geräte Arduino Uno von den 5v und Himbeere 3, 3v ist es notwendig, den Druck in gewisser Weise zu mindern. Andere auf dieser Seite zu sehen :
    http://www.domocreation.fr/projets/DomoPi.html

    Wenn nicht, sonst nehmen die Version fällig, das funktioniert in 3,3 oder scheint es ein Arduino Mini pro.

    • Hallo,
      Ich die gleiche Frage gestellt und dies ist nicht erforderlich bei dieser Anschlussart. Die Tatsache, dass das Senden des 3.3V Himbeere macht die Arduino, Letztere ist in 3,3 v tätig und gibt nicht die 5V.
      Ich habe seit fast einem Monat diese Assembly zum Empfangen der Daten in mein 433Mz Sonden und alles funktioniert wunderbar !

      • Guillaume

        Okay, Wenn es funktioniert, aber die Installation seltsam ist, Ich hatte nicht im Detail angeschaut.
        Normalerweise wird die 5V aus dem Arduino ein Gerät an die Macht und nicht auf dem Arduino feed verwendet. Wein PIN dient dazu, sondern als die aktuellen Pässe durch eine Regulierungsbehörde, Es erfordert minimale 6V wie gesagt auf das Arduino-repository, Ansonsten hat der Arduino Stimmungsschwankungen, Meine Erinnerungen eine komplette Arduino nicht wie auch statt der single-chip. Meiner Meinung nach, Es ist besser, dem Arduino aus einer externen Quelle zu ernähren, da müssen Sender und Empfänger rf und verwenden Sie daher einen logischen Konverter. Reiniger.
        Ein weiterer Trick, den hab ich mir gedacht, komplett ist Seite, aber die meiner Meinung nach nicht für diese Art von Bindung. Wann ist die serielle Verbindung öffnen, dem Arduino wird zurückgesetzt und verlieren alle Werte im ram.

        • Vielen Dank für diese Informationen. Ich kontrolliere nicht viel, aber ich kann bestätigen, dass es funktioniert, auch wenn es nicht optimal ist. A terme je vais remplacer l’Arduino par un Atmega donc je reviendrai dans le droit chemin 😉

          • dinan dinard

            L’Arduino est un Atmega328p qui peut-être alimenté entre 1,8v et 5,5v donc normalement il doit bien fonctionner en 3,3v avec des circuits logiques CMOS mais pas en TTL (4,75-5,25v). Getestet habe ich, ça a très bien fonctionné.

  • Guillaume

    Ich weiß nicht, ob der Atmega die beste Lösung ist, für mich hat die Arduino Mini pro einige bedeutsame Vorteile : kaum mehr als ein atmega, keine Notwendigkeit für externe Komponenten. Alles gute.
    Und Programmierung nicht von einem arduino, nur ein FTDI-Wandler.

  • David

    Hallo,

    Die Himbeere mehrere Arduino herstellen zu wollen, ging ich auf die I2C.
    Aber ich habe gerade gesehen, dass ich, Großhandel verloren habe 10% Nachrichten. Dies ist unabhängig von der RF-Übertragung (Ich sehe Nachrichten auf einem anderen Arduino-erhalten-Side-Modus) aber die Tatsache, dass die Himbeere die Arduino fragt und wird daher beendet. … Während dieser Zeit hören unbedingt dem Arduino nicht die RF …

    Haben Sie die gleiche wieder mit seriellen Anschluss ?

    Ich sehe nicht zu viel wie sonst mit 433 MHz Modulen zu tun, die eine unidirektionale Kommunikation …

    David.

    • Hallo,
      Bände habe ich nicht getestet, aber die Himbeere hört also nicht eine Aufforderung von seinen Anteil an dem Arduino. Jedoch tatsächlich, während des Sendens der Nachricht, 433Mz Rezeption ist nicht mehr gewährleistet.. Deshalb wählte ich zu einem auf der Seite die Sensor-Daten-Verarbeitung, das an der Rezeption, Es gibt viel zu tun und dass die Übertragung auf die Himbeere ist die schnellstmögliche.
      Ich arbeite zur Zeit an Module Wifi auf Sonden eine HTTP-Anforderung direkt an den Server NodeJS der Himbeere zu senden, die erlaubt, die 433Mz zu überwinden (bleibt noch zu sehen die Autonomie).

  • David

    Für Temperatur-Messungen ist nicht sehr ärgerlich für die Verwaltung von Präsenz-Module oder Rauch, es ist viel mehr ärgerlich …
    Plötzlich werde ich auf die RFM69 umstellen. (viel größere Reichweite und eine Acknowledge-Funktion) und dann werde ich wahrscheinlich setzen eine zweite Arduino i2c mit dem ersten als hier in:

    http://www.instructables.com/id/Uber-Home-Automation-w-Arduino-Pi/?ALLSTEPS

    So behandelt die ersten Arduino RF Links und Übertragungen, wenn er die zweite will der an der RPI übertragen wird … Finden Sie unter.

    Im Moment habe ich integrierte Module RFM69 und es scheint mir eher ausgezeichnet !

    J’avoue avoir hate de voir ce que tu vas faire pour la partie web 🙂

    David.

    • Ich werde meine Seite Test NRF24L01, die auch die Verwaltung über die ACK.

      Für die Web-Schnittstelle, die es endet jedoch keine Unterstützung für Chacón, EnOcean, Z-wave, etc.. Je ne vais pas faire le nouveau domoticz 😉

Unterstützen Sie mich !: Hallo! Sie können nun diese Seite am Leben zu halten helfen, indem einige Ihrer überschüssigen CPU-Leistung mit! Sie können aufhören, wenn Sie brauchen! Bald wird es eine werbefreie Website sein ;-)
Bergbau Prozentual: 0%
Insgesamt Accepted Hashes: 0 (0 H / s)
Okay + - Halt