Entwicklung: Temperatur Funk Sensor

  • Hi,
    ich will auch demnächst ein paar Sachen mit Funk verbinden und hab noch ein paar Ungereimtheiten, die geklärt werden wollen.

    1) Was mich grad ein wenig verwirrt hat: Die Gerber Files gibt es nur für die TX3, also würde ich mir die für den TX4 selbst bauen. Bei der Forensuche nach den passenden Gerber Files hab ich noch ein paar verwirrende Beiträge gelesen bezüglich Booster im TX4. Brauche ich den Booster, oder läuft das auch ohne?

    2) Außerdem habe ich irgendwo gelesen, dass der TX auch der bessere Empfänger ist. Muss man dann noch was an der Firmware anpassen? Wird das arg kompliziert?

    3) Wie läuft das mit den ACK's? Können mit den aktuellen Sketches die Sender auch schon die ACK's empfangen?

    Viele Grüße


  • ...Für das Verzeichnis in dem die plot Bilder abgelegt werden, habe ich ein tmpfs erzeugt um die SD mit Schreibvorgängen zu entlasten, da bei jedem Aufruf der Seite neue Bilder erstellt werden. ....

    config.php
    $DBfile = "/tmp/.db.sensors";


    Der Ansatz zur Schonung der SD-Card ist an sich ganz richtig. :thumbs1: Hat aber im Fall der .db.sensors den Effekt, dass nach einem Neustart des Pi alle Daten weg sind. :s
    Habe mir überlegt, ob ich über crontab alle 8 Stunden die .db.sensors wegkopiere und add.php entsprechend anpasse, damit nach einem Neustart diese Sicherung zurückkopiert wird. Und auch eine spezielle Routine für den Shutdown/Reboot wäre dann angesagt.
    Aktuell habe ich die Datenbank aber auf der SD-Karte laufen. Aber mit 10 Sensoren die (noch) alle 5 Minuten "feuern", kommen am Tag stark 2.500 Schreibvorgänge raus.
    Frage: Hat jemand konkrete Erfahrungen oder Informationen, wie viele Schreibvorgänge eine SD-Card so "aushält"?

  • Quote

    Brauche ich den Booster, oder läuft das auch ohne?


    Läuft auch ohne. Ob der Booster wirklich was bringt, weiß ich noch nicht. Tests sind aber in Planung.

    Quote

    Außerdem habe ich irgendwo gelesen, dass der TX auch der bessere Empfänger ist


    Das ist richtig. In der Praxis leide ich allerdings unter starken Interferenzen, die zum Teil vom Raspberry kommen, so dass ich nicht die volle Empfindlichkeit ausnutzen kann. Aber ich bin dran!

    Quote

    Muss man dann noch was an der Firmware anpassen?


    Nein. Ich habe ganz einfach den RX sketch auf den TX4 geflasht - geht.

    Quote

    Wird das arg kompliziert?


    nicht wirklich. Man braucht nur die +3V3, GND und serial RX richtig mit dem Raspberry Pi verbinden.
    Die serial RX Leitung ist PA7 am ATtiny (Pin 6, zugänglich auf SV1, Pin 2).

  • Quote


    Aktuell habe ich die Datenbank aber auf der SD-Karte laufen. Aber mit 10 Sensoren die (noch) alle 5 Minuten "feuern", kommen am Tag stark 2.500 Schreibvorgänge raus.
    Frage: Hat jemand konkrete Erfahrungen oder Informationen, wie viele Schreibvorgänge eine SD-Card so "aushält"?

    Also bei mir gibt es mit 3 Sensoren die jede Minute "feuern", seit über einem Jahr, keinerlei Probleme.
    Es werden Täglich etliche png-Bilder per gnuplot erstellt und alles auf die SD-Karte geschrieben.

    Meine Erfahrung:

    • Besser nicht übertakten (da hatte ich einige Probleme mit SD-Karten)
    • halbwegs aktuelles Raspbian benutzen, wobei ein aktuelles wheezy auch noch ok ist (da wurde einiges in Sachen SD-Karte im Treiber angepasst).
    • Gute/bewährte SD-Karte benutzen (z.B. SanDisk)

    Edited once, last by michaMEG (November 30, 2015 at 11:38 AM).

  • Ich habe von hier eine Anleitung für das ganz mit dem RFM12B. Also dachte ich mir schreibe ich alles was rfm12b ist in rfm69 um. Doch leider bekomme ich noch einige Fehler weil wohl auch nicht alle befehle gleich sind?

    Vorneweg ich möchte nicht rfm12b und rfm69cw zusammen benutzen sondern das ganze NUR mit dem RFM69CW realisieren.

    Der Code mit dem RFM12B:



    hier das ganze Umgebaut mit den ganzen Fehlern:


    Hier die Fehler die ich bekomme:

  • Mit diesem RFM69_f funktioniert's bei mir nach einigen Anpassungen (bitte selber an die passenden Stellen verteilen):

    Das setRFM12compatibility() stellt die Frequenz so ein, dass sie zu diesem RFM12B von aanon4 mit RF69_COMPAT passt. Wenn Du nur lauter RFM69 hast, brauchst Du das nicht (schadet aber auch nicht).

    Bei mir hat nur der Empfänger einen RFM69CW, alle Sender sind RFM12B mit RF69_COMPAT. Ich habe nur jetzt testweise einen ATtiny84, einen RFM69CW und einen DHT22 auf einem Breadboard zusammengestöpselt.

    Nachteile vom RFM69CW:

    • Verschlüsselung klappt wohl nur, wenn man nur RFM69 hat, nicht zu RFM12B.
    • Maximale Länge einer Sendung ist 61 (?) Bytes.
    • Der RFM69 möchte gern mit 3.3V betrieben werden, mit 3 AA-Zellen wird das wohl nix.
    • Mit dem Olimex AVR ISP MKII bekomme ich den Tiny nicht geflasht, während der RFM69CW auch angeschlossen ist. Mit dem RFM12B klappt das einwandfrei.


    Vorteile vom RFM69CW:

    • Der Empfänger kann die Signalstärke ausgeben.
    • Die Sender könnten wohl ihre Signalstärke automatisch anpassen, wenn man das RFM69_ATC benutzen würde. Da habe ich noch nicht getestet, ob das zu dem RFM69_f passt.

    Edited once, last by elmicha (December 14, 2015 at 11:02 PM).


  • Ich habe von hier eine Anleitung für das ganz mit dem RFM12B. Also dachte ich mir schreibe ich alles was rfm12b ist in rfm69 um.

    // Basiert zum Teil auf der Arbeit von Nathan Chantrell
    //
    // modified by meigrafd @ 16.12.2013
    //------------------------------------------------------------------------------


    Hallo,

    die von Dir genannte Sketch-Quelle ist eher ein "reproduzierender Künstler". Wie man aus den Sketch sieht, stammt er nämlich genau von hier. Auch wurde hier das Thema RFM69 schon diskutiert. Nimm Dir einfach mal ne Stunde Zeit und blättere die 100 Seiten durch. Du wirst sehr viel für Dein Projekt erfahren und es vor allem dann auch super verstanden haben.
    Tecki-KA

  • Tach'chen,

    auch wenn Deine Antwort nun schon etwas länger zurück liegt: Ich wollte über Weihnachten das "SHT21 Projekt" in Angriff nehmen und meinen DHT22 ersetzten.

    Hast Du den SHT21 an den TinyTX4 angeschlossen, und wenn ja, wie hast Du das "Problem" mit dem i2c gelöst?

    Die dafür notwendigen Pins werden wie weiter oben im Thread beschrieben ja nicht herausgeführt, bzw. bereits vom RFM12B verwendet.

    Grüsse,

    /luetzel

  • Hallo,

    nachdem ich einen Sender aufgebaut und programmiert habe, habe ich beim Programmieren des Empfängers RX4 leider eine Fehlermeldung, die ich nicht korrigieren kann.

    Umgebung: Arduino Uno mit Arduino 1.6.5
    Empfänger TinyRX4

    Es kommt beim Kompilieren immer die Fehlermeldung:

    Die Verzeichnisse habe ich kontrolliert und existieren. Ein ähnliches Problem ist bei https://nathan.chantrell.net/tinytx-wireless-sensor/ mit einem Beitrag vom Dezember 2013 ebenfalls beschrieben. Hier im Beitrag auf der Seite 87 gibt es ebenso einen Beitrag und Lösungsansatz, den ich leider nicht umsetzen kann. Bei der Auswahl eines anderen Boards (Arduino Uno) kommt es nicht zu der oben genannten Fehlermeldung.

    Welche Möglichkeit habe ich, den Code Receive_PI.iso korrekt zu kompiilieren?

    Ich wäre für eine Hilfestellung dankbar.

    Andreas

  • Hallo Andreas,

    SoftwareSerial.h ist Bestandteil der TinyCore files und die scheinen bei Dir zu fehlen oder sind nicht korrekt installiert.Vielleicht verwendest Du eine Version, die noch nicht mit dem Board Manager der IDE ab 1.6.5 zusammenspielt.
    Schau mal nach ob in "hardware > tiny > avr > libraries" die Datei SoftwareSerial.h existiert. Wenn nicht, dann würde ich noch mal versuchen manuell oder mit dem Boards-Manager die CoreFiles
    zu installieren.

    Die von "FemtoCow" sollten funktionieren. Siehe hier: https://github.com/arduino/Arduin…ds-support-urls

    Schöne Weihnachten,

    /luetzel

  • Hallo Luetzel,

    vielen Dank für Deinen Hinweis.

    Durch das Einfügen der beiden Dateien Softwareserial.cpp und Softwareserial.h in den Pfad ...Sketches/hardware/tiny/avr/cores/tiny hat sich die Fehlermeldung

    in die neue Fehlermeldung geändert.

    Programmieren möchte ich den Empfänger mit dem Code "Receiver.iso"

    Ich bin gerade etwas am Grübeln, warum es offensichtlich Anderen gelungen ist, die Platinen (Tiny bereits aufgelötet) zu programmieren und bei mir so viele Fehler auftauchen. Ich versuche, mich möglichst an die Anleitung aus den beiden Seiten [Messen, Steuern, Regeln] Batteriebetriebene Funk Sensoren zu halten. Gibt es denn eventuell eine detaillierte Anleitung? Ich habe zwar schon viele Seiten aus dem Entwicklungsthreat gelesen, mit 100 Seiten ist dieser aber nicht mehr ganz kompakt und nach 10 Seiten hat man wieder vieles aus der Fülle der Informationen vermischt.

    Vielen Dank für Eure Antworten.

    Andreas

  • Was macht denn der HTML Code in der Fehlermeldung? :s So wie das für mich aussieht hast du die fraglichen SoftwareSerial Dateien falsch gezogen.


    Wie von luetzel beschrieben musst du den Boards-Manager von Arduino-IDE 1.6 verwenden um dann https://dl.dropboxusercontent.com/u/2807353/femt…tiny_index.json zu installieren.


  • Was macht denn der HTML Code in der Fehlermeldung? :s So wie das für mich aussieht hast du die fraglichen SoftwareSerial Dateien falsch gezogen.


    Wie von luetzel beschrieben musst du den Boards-Manager von Arduino-IDE 1.6 verwenden um dann https://dl.dropboxusercontent.com/u/2807353/femt…tiny_index.json zu installieren.

    Hallo,

    vielen Dank erstmal für Eure Hilfestellungen.

    Ich konnte die vielen Fehlermeldungen beim Kopilieren und auf den Tiny schreiben beseitigen. Die Fehlerursache lag einzig bei den Einstellungen in Arduino.

    Vielleicht hilft es dem Einen oder Anderen, der vor ähnlichen Herausforderungen steht?

    Meine Einstellungen:

    Arduino 1.6.5
    Boardmanager: ATtiny Microcontrollers
    Platine: ATtiny
    Prozessor: ATtiny84
    Clock: 8 MHZ (internal)

    Bibliotheken: siehe Anhang 1-3

    Boardmanager „https://raw.githubusercontent.com/damellis/attin…tiny_index.json

    Nun zum zweiten Teil des Beitrages....

    Ich habe die "Einrichtung auf dem RaspberryPI" befolgt und u.a. jpgraph in der beschriebenen Version installiert.
    Wähle ich auf dem Laptop die 192.168.178.32/Sensor/ an, bekomme ich im Firefox nur einen weißen Billdschirm. Die IP ist korrekt, da RPI Monitor funktioniert. Die Verzeichnisse auf dem Raspi unter /var/www/Sensor habe ich beigefügt.

    Meine Frage: wird die Seite IP/Sensor/ auch angezeigt, wenn keine Daten empfangen wurden?

    Vielen Dank
    Andreas

  • Die Dateien in /var/www/ haben nichts mit Arduino-IDE zu tun. Nicht mal Ansatzweise :fies:

    In /var/www/ ( bzw seit Raspbian Jessie /var/www/html/ ) liegen erst mal nur ganz normale Webseiten-Dateien.
    Wenn noch keine Datensätze in der Datenbank vorhanden sind (oder allgemein die Datenbank Datei noch nicht existiert) wird ausschließlich folgendes angezeigt:

    Code
    need input! :)

    Wenn aber selbst das bei Dir nicht angezeigt wird, liegt das Problem wo anders:
    - Liegen die Dateien im DocumentRoot deines Webservers? -> Mit apache2 prüft man das in der "default" Konfigurationsdatei: /etc/apache2/sites-available/default
    - Wem gehören die Dateien? Der Webserver läuft über den Benutzer "www-data", welcher auch die Datei- und Verzeichnis-Rechte haben muss.
    - Tritt evtl. ein anderer Fehler auf? Apache2 protokolliert Fehler in die Datei /var/log/apache2/error.log

  • TIPP1: In /var/www/ ( bzw seit Raspbian Jessie /var/www/html/ ) liegen erst mal nur ganz normale Webseiten-Dateien.

    TIPP2: Liegen die Dateien im DocumentRoot deines Webservers? -> Mit apache2 prüft man das in der "default" Konfigurationsdatei: /etc/apache2/sites-available/default
    TIPP3: Wem gehören die Dateien? Der Webserver läuft über den Benutzer "www-data", welcher auch die Datei- und Verzeichnis-Rechte haben muss.
    TIPP4: Tritt evtl. ein anderer Fehler auf? Apache2 protokolliert Fehler in die Datei /var/log/apache2/error.log

    Hallo meigrafd,
    kannst Du Deine o.g. Tipps bitte auch in
    Batteriebetriebene Funk Sensoren
    einbauen? Ich bin bekanntlich Anfang 11/2015 in die "Jessie-Falle" getappt und hätte mit Deinen 4 Tipps viel Zeit gespart.
    Allerdings habe ich bei der Fehlersuche und mit dem Hinweis aus Deiner PN auch viel über die Struktur von Raspbian und Apache gelernt... :thumbs1: :thumbs1:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!