PI bekommt vom RFM12B keine Daten

  • Hallo Zusammen,

    vorweg ich beziehe mich auf folgendem Tutorial:
    Funk Magnetkontakt/Reed Switch zur Fenster/Tür Überwachung - TinyTx3

    Ich habe mir die notwendige Hardware bestellt und auch soweit alles zusammengelötet.
    Leider bekommt mein PI keine Daten vom Sender, wenn ich die Tinyserial.py starte.

    Nun stelle ich mir die Frage, wie ich auf die Fehlersuche gehen muss?!
    Ich habe euch hier mal ein Bild von meinem Sender geschossen.

    72ewtcst.jpg

    Die LED des Empfänger am PI leuchtet nicht.

    d3vxi7dw.jpg

    Kann mir bitte jemand weiterhlefen?

    Vielen Dank!

    Einmal editiert, zuletzt von Diamond_72 (24. Januar 2015 um 16:03)

  • Hast du alle Lötstellen überprüft?
    Welchen Sketch hast du auf den Attiny84 hochgeladen? Und wie?
    Installiere dir mal minicom.
    Und das wichtigste hast du die UART Konsole deaktiviert?

    Code
    sudo apt-get install minicom
    Code
    minicom -b9600 -D/dev/ttyAMA0


    Was passiert wenn du in minicom

    Code
    h

    oder

    Code
    1l


    eingibst? Achtung die Zeichen die du eingibst sind nicht sichtbar!
    Und kann es sein das das RFM12B die anderen GPIO PINS berührt oder sogar den Kühlkörper?

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

    Einmal editiert, zuletzt von petit_miner (24. Januar 2015 um 16:33)

  • Hallo nochmal,

    ich habe die Lötstellen mit einem Durchgangsprüfer geprüft bzw. die Leiterbahnen verfolgt und dan geprüft. Es scheint alles OK zu sein. Einzig ist es normal, wenn ich mit dem Durchgangsprüfer die beiden Anschlüsse für die Batterieversorgung prüfe, dass kein piepen bekomme?!

    Hier der Sketch für den Sender:

    Meinst du mir UART Konsole folgende Befehle:

    Code
    sudo apt-get update
    sudo apt-get install python-serial
    sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console
    sudo rpi-serial-console disable

    Ja, die Befehle habe ich zuvor eingetippt. Dein Tipp mit mincom werde ich testen.
    Leider erkennt man es nicht genau auf den Bildern. Die Platine berührt den Kühlkörper des PIs nicht.

    minicom gibt folgendes aus, wenn ich h eingebe:

    zuwznpto.png

    Die Grüne LED am Empfänger leuchtet nun. Ich kann diese auch mit 0l ausschalten.
    Kann es vielleicht daran liegen, dass das MHz Band auf 868 MHz konfiguriert ist? Muss ich das nicht auf 433 MHz konfigurieren?

    Einmal editiert, zuletzt von Diamond_72 (24. Januar 2015 um 18:21)

  • Mein RFM12B sagte mir auch vorher das es 868 mhz sei.
    Ich habe es danach einfach geändert.
    Hast du noch eins dieser Sendemodule ?
    Was steht auf der Rückseite?

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

  • Ich habe das Modul nun auf 433 MHz gestellt und leider immer noch kein Empfang.
    Ja, ich habe noch ein zweites Modul. Auf der Rückseite steht RFM12BSP REV:1.0

    Bestellt habe ich es bei octamex.de

    [url=http://www.octamex.de/shop/?page=shop/flypage&product_id=1333&category_id=44963f0fdda6ad2bdf98e07a9177fc9b&/RFM12B_S1_433MHz_FSK_Funkmodul,_RF_Transceiver_kaufen.html]link[/url]

    Einmal editiert, zuletzt von Diamond_72 (24. Januar 2015 um 18:50)

  • Also sind meine und deine exakt gleich.
    Du könntest mal probieren die Spule zu entfernen die du gewickelt hast.
    Das du nur einen langen Draht hast.
    Passt die Drahtlänge auch zur Frequenz?

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

  • Hi,

    ich habe nun die Spirale gegen einen Draht getauscht. Leider empfängt mein PI immer noch keine Daten.

    egkcnk47.png

    Zudem bin ich den Schaltplan noch einmal durchgegangen und habe die Leiterbahnen mit dem Durchgangsprüfer geprüft. Alles hat einen Durchgang. Es wird also nicht an meinem Löten liegen.


    Müssen am Sketch vielleicht noch folgende Variablen aktiviert werden:

    Code
    #define myNodeID 6        // RF12 node ID in the range 1-30
    #define network 210       // RF12 Network group
    #define freq RF12_433MHZ  // Frequency of RFM12B module

    UPDATE:

    Ich bekomme folgendes ausgespuckt über minicom:

    Die Empfangsleuchte am Empfänger blinkt dabei nicht. Die Werte ändern sich, sobald ich die Magnetkontakte öffne und schließe.

    Einmal editiert, zuletzt von Diamond_72 (25. Januar 2015 um 12:40)

  • Auf der Seite vom Sender funktioniert alles.
    Nur warum die tinyserial.py bei dir nicht funktioniert?
    Kannst du die mal bitte posten?
    Und das ist mein Attinysketch:


    Du kannst es auch nochmal mit diesem script versuchen: (für den Pi)


    Das ganze dann als Sensor.pl abspeichern.

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

  • Hallo petit_miner,

    hier mein Sender-Script:

    Dein Perl-Script gibt mir einen Fehler aus:

    Code
    sudo perl -w Sensor.pl
    Can't locate Device/SerialPort.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . /usr/lib/perl5/) at Sensor.pl line 37.
    BEGIN failed--compilation aborted at Sensor.pl line 37.

    Einmal editiert, zuletzt von Diamond_72 (25. Januar 2015 um 18:16)

  • Ok, werde ich gleich ausprobieren.

    Kannst du mir vielleicht noch zum Verständnis bitte erklären, wie der Empfänger am PI weiß, dass er das Signal des RFM12B verarbeiten soll. Wo wird das ganze im Script miteinander verknüpft?

  • Wie lang die Antenne ist spielt kaum eine Rolle wenn der Sender neben dem Empfänger liegt - man empfängt dann sogar ohne Antenne etwas.

    Ob der Sender funktioniert würde ich erst mal mit einem neutralen Sketch ausprobieren, der regelmässig also z.B. alle 2 Sekunden etwas verschickt - bei deinem Sketch sieht nämlich einiges seltsam aus (String und später in int umwandeln etc)

    Die Firmware (Sketch) auf dem Empfänger könnte aber auch das Problem sein - da könntest du auch meinen Sketch mal probieren - da muss man dann auch nichts über UART einstellen.

    Das Script auf dem PI liest einfach nur den Seriellen Port (UART) aus, sobald da etwas an Daten vorhanden ist wird es vom Tiny.py oder Sensor.pl verarbeitet

  • Hallo meigrafd,

    das Script habe ich vom oben genannten Tutorial.
    Welchen Sketch meinst du von dir? Send_ReedSwitch.ino?

    petit_miner

    Das Perl-Script gibt mir nun folgendes aus:

    Code
    pi@raspalarmpi ~ $ sudo perl Sensor.pl
    Serial to PHP gateway for RaspberryPi with RFM12B
    6 211 0 82 17
    Error GETing http://127.0.0.1/Sensor/add.php?key=23338d373027ce83b1f81b9e9563b629&node=6&211: Can't connect to 127.0.0.1:80 (Verbindungsaufbau abgelehnt) at Sensor.pl line 73
  • Ja gut das Sensor.pl will anschließend natürlich die Daten auch weiter schicken, an die add.php ... Das is halt bei meinem Projekt so - ps915 hat sowas nicht.

    Aber du empfängst was: 6 211 0 82 17

    Also scheint es ja nun zu funktionieren?

  • Ja, er empfäng scheinbar was. Ist das Script von ps915 nicht identisch mit deinem?

    Wie heißt dein Script für den Sender denn nun ?

    Send_ReedSwitch.ino?

    Was bedeutet der empfangene Wert 6 211 0 82 17 ?
    Wie kann ich Werte wie z.B. Batteriespannung etc auslesen?

    Sry, für die Fragen ich möchte es einfach nur verstehen als Anfänger.

    Einmal editiert, zuletzt von Diamond_72 (25. Januar 2015 um 20:09)

  • Ist das Script von ps915 nicht identisch mit deinem?

    Sieh es so aus? :D

    Nein, nicht wirklich identisch....

    Das von meinem Projekt abgekoppelte Projekt von ps915 basiert auf die JeeLib, meines verzichtet absichtlich auf diese Lib.
    ps915 übermittelt die Daten in einer structure (binär), bei mir wird alles klartext übertragen.
    ps915 verwendet als Empfänger RFM2PI v2 , bei mir nutze ich aber für den Empfänger ein Sketch wie für die Sender - ohne diesen über UART konfigurieren zu müssen.
    Und zu guter letzt ist bei meinem Projekt eine verschlüsselte Übertragung möglich - das geht bei ps915 nicht da die JeeLib zu "fett" ist.

    Wie heißt dein Script für den Sender denn nun jetzt?

    Send_ReedSwitch.ino?

    Wäre naheliegend, ja.

    Kannst aber auch diesen mal testen: https://github.com/meigrafd/TinyT…Send_Tester.ino

  • Mhhh, dann werde ich es wohl wie du machen.
    Ich werde meinen Sender und Empfänger mit deinem Script beschreiben.


    Ich habe einen fertiges Empfängermodul. Der IC ist ja fest!

    Wie kann ich denn den Empfänger mit deinem Script flashen?

    Einmal editiert, zuletzt von Diamond_72 (26. Januar 2015 um 16:24)

  • meigrafd

    Dein verschlüsseltes Reed Script ist aber größer als 8Kb und passt nicht auf den IC:

    Einmal editiert, zuletzt von Diamond_72 (26. Januar 2015 um 19:24)

Jetzt mitmachen!

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