Funkübertragung zwischen Arduino und Raspberry?

  • Hallo,

    danke. Habe es nun zumindest einmal hinbekommen einen Bootloader zu schreiben. Das ganze sah bei mir deutlich naders aus als bei dir. Habe das ganze dann einmal mit einer anderen Raspbian Version probiert, wo es auf anhieb ging?! Jedoch ist das ganze bei mir noch immer im Ordner tiny anstatt attiny...

    Habe nun nach dem Bootloader gleich mal versucht folgenden Sketch zu compilieren:


    Dabei tritt jedoch wieder ein Problem auf:

    Code
    avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=attiny84 -DF_CPU=8000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101$
    receive.cpp:1:21: fatal error: Arduino.h: No such file or directory
    compilation terminated.

    Irgendwie will das bei mir leider alles nicht so einfach ;((

    Danke und Lg
    User

  • Herzlichen dank, nun befindet sich die Arduino.h am selben Ort wie bei dir und dieser Fehler ist weg. Jedoch wäre es doch viel zu schön, wenn es der letzte Fehler wäre, nun kommt bei folgendem Sketch:


    folgender Fehler:


    Das sieht de Post #140 von meigrafd in seinem Entwicklungsthread wirklich sehr ähnlich, jedoch kann ich dort nirgendwo eine Lösung finden...

    Lg User

  • Hi,

    ich erinnere mich an diesen Fehler ... mir fällt aber nicht ums verrecken ein, wie wir das gelöst hatten ...

    Spoiler anzeigen


    // Simple serial pass through program
    // It initializes the RFM12B radio with optional encryption and passes through any valid messages to the serial port
    // felix@lowpowerlab.com

    #include <RFM12B.h>

    // You will need to initialize the radio by telling it what ID it has and what network it's on
    // The NodeID takes values from 1-127, 0 is reserved for sending broadcast messages (send to all nodes)
    // The Network ID takes values from 0-255
    // By default the SPI-SS line used is D10 on Atmega328. You can change it by calling .SetCS(pin) where pin can be {8,9,10}
    #define NODEID 1 //network ID used for this unit
    #define NETWORKID 99 //the network ID we are on
    #define SERIAL_BAUD 115200

    //encryption is OPTIONAL
    //to enable encryption you will need to:
    // - provide a 16-byte encryption KEY (same on all nodes that talk encrypted)
    // - to call .Encrypt(KEY) to start encrypting
    // - to stop encrypting call .Encrypt(NULL)
    uint8_t KEY[] = "ABCDABCDABCDABCD";

    // Need an instance of the Radio Module
    RFM12B radio;
    void setup()
    {
    radio.Initialize(NODEID, RF12_433MHZ, NETWORKID);
    radio.Encrypt(KEY); //comment this out to disable encryption
    // Serial.begin(SERIAL_BAUD);
    // Serial.println("Listening...");
    }

    void loop()
    {
    if (radio.ReceiveComplete())
    {
    if (radio.CRCPass())
    {
    // Serial.print('[');Serial.print(radio.GetSender());Serial.print("] ");
    for (byte i = 0; i < *radio.DataLen; i++) //can also use radio.GetDataLen() if you don't like pointers
    // Serial.print((char)radio.Data);

    if (radio.ACKRequested())
    {
    radio.SendACK();
    // Serial.print(" - ACK sent");
    }
    }
    // else
    // Serial.print("BAD-CRC");
        
    // Serial.println();
    }
    }

    Das war ein Fehler, der hatte mit dem Chip zutun, der definierte kennt keinen Sleep-Mode-Standby. Irgendwie war das in dieser Ecke ...
    Versuch mal ob es was bringt, den Source mit dem oben stehenden abzugleichen.
    cu,
    -ds-

  • Mit diesem Sketch hat sich an dem ganzen leider nichts geändert, der Fehler sieht gleich aus. Soweit ich auf die Schnelle gesehen habe, ist dieser Sketch auch ident mit dem, welchen ich als letztes probiert hatte. Komisch ist nur, dass dies dieser Sketch ist, mit welchem [font="Tahoma, Verdana, Arial, sans-serif"]meigrafd [/font]scheinbar erfolg hatte.

    Bzgl. diesem [font="Tahoma, Verdana, Arial, sans-serif"]Sleep-Mode-Standby wurde doch im Entwicklungsthread längere Zeit diskutiert, jedoch konnte ich hier leider nirgendwo den Lösungsweg finden, scheinbar hatte dies plötzlich einfach so funktioniert. ;([/font]

    Danke für deine super Unterstützung!
    lg User

  • Super danke, genau das wars. Tut mir leid, dass ich die überlesen habe. Jedoch ist das scheinbar noch immer nicht das letzte Problem. Der Compiler läuft nun deutlich länger und spuckt dann folgenden Fehler aus:

    Zitat


    avr-gcc: error: core.a: no such file or directory

    Das ist doch ein wahnsinn, wieviele Probleme das compilen über den Raspberry mit sich bringt. Vermutlich wäre es wirklich das einfachste das ganze über den Arduino zu erledigen.. ;(

  • Hallöchen,

    hmm ... das liest sich fast so, als würde da was vom Entwicklerpaket fehlen :s ...

    Du hast ja die Arduino-IDE vermutlich nicht auf dem RPi laufen ;) ...
    Da fehlt vermutlich eine oder mehrere Bibliotheken aus der GCC Toolchain.
    Ich glaube, da wäre es am sinnvollsten mal bei Arduino nachzuschauen, welche Tools installiert sein müssen.

    Ich weiss nicht mehr, welche Teile ich auf dem Laptop installiert habe ... das ist schon ziemlich lange her und ich installier imer gleich am Anfang die Toolchain für PIC und AVR ...

    Such mal ein bisschen rum, und schau mal, ob Du fündig wirst.
    Wenn nicht -> melden, dann helf ich Dir ein wenig beim Suchen.

    cheers,
    -ds-

  • Oja ich habe die ArduinoIde leider am RPi laufen und dies scheint auch die Probleme zu machen?
    Werde mir morgen einen Arduino Uno besorgen, dann kann ich das ganze mal so probieren, wie es alle hier im Forum machen....

    Trotzdem herzlichsten Dank für deine tolle Unterstützung!
    Lg User

  • So nun ist es mir endlich möglich den attiny ohne großen Aufwand zu beschreiben.

    Habe das ganze nun einmal testweise auf einem Steckbrett aufgebaut, jedoch bringe ich keine Kommunikation zwischen den beiden zusammen (zumindest erscheint im Perl Script nichts). Diesbezüglich hätte ich 2 Fragen:
    - Wie entscheidend ist das mit der Antennenlänge, wenn die Gerät nebeneinander stehen. Wenn ich nun an beiden RFM12B eine Antenne mit ca 16cm habe, sollte dies funktionieren?
    - Würde der Sender auch senden, wenn ich den Sketch vom TMP36 verwende, jedoch keinen TMP36 habe? Die Spannungswerte sollten am anderen Ende trotzdem ankommen?

    Danke im Voraus,
    Lg User

    //Aber das Problem dürfte wohl irgendwo am PI liegen. Habe nun eine Led am Sender und Empfänger angeschlossen. Diese blinken synchron, also sollte mann davon ausgehen können, dass die Kommunikation stattfindet, jedoch kommt am Raspberry scheinbar nichts an -.-

    Einmal editiert, zuletzt von user92 (2. Februar 2014 um 14:32)

  • Abend zusammen,

    Ich habe bei mir mit dem RPI und diesen 433Mhz Modul
    http://www.watterott.com/de/RF-Link-Sender-434MHz

    Eine Hausautomatiserung erstellt. Nun wurde ich gerne das system um funkmodule erweitern. Temperatur, Kontakt und Licht.

    Ich dachte dabei an etwa an folgenden Aufbau:
    RPI -> Arduino -> Funkmodul(Sender/Empfänger) ------> Funkmodul(Sender/Empfänger) -> Audrino-> Sensor (Schalten/Lesen) -> Rückmeldung per Funk an RPI.

    Der arduino an rpi konnte auch entfallen. Das ganze mochte ich mit einem arduino pro mini realisieren, da dieser sehr günstig ist.

    Welche Hardware nutzt ihr dafür?
    Ich denke das bestehende Modul muss ich ersetzen. Welches muss ich nehmen um meine elro Steckdosen weiterhin nutzen zu können?

    Evtl kann mir jemand eine kleinen "Warenkorb" zeigen.

    Hoffe ihr könnt mir da helfe.

    Gruß Simon

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!