Entwicklung: Temperatur Funk Sensor

  • Hi,

    Habe eine Frage an euch und zwar habe ich mir mit 3x TinyTX3 Platinen mit DS18B20 Sensoren gebaut und eine Transreceiver Platine für den PI. Mit den DS18B20 Sensoren habe ich auch keine Probleme bekomme alle Daten über die Sensor.py an die PHP Seite weitergegeben.
    Jetzt würde ich würde ich gerne meine Funksteckdosen auch noch über den Transreceiver Platine Steuern ist das Parallel möglich oder must ich am besten einen 2´ten Sender extra für die Steckdosen an den PI anschließen ?


  • Wenn ich mich nich Irre, dann benötigt der HC-SR04 eine konstante Spannung von 5Volt. Sonst errechnet der immer eine falsche/wahllose Entfernung. Kann das mal jemand von den Experten widerlegen?

    Habe ich ja auch versucht, dass ich den HC-SR04 unabhängig vom Tiny mit Strom versorgt habe.
    Aber irgenwie will das nicht. Entweder ist beim Trigger/Echo noch was faul oder aber ich habe eine Bock in meinem Tiny-Hardwareaufbau (glaube ich aber eher nicht da andere Sketches/Sensoren daran funktionieren) !?

    Gegentest am Pi. Mein HC-SR04 den ich an den Pi zum Testen angeschlossen habe, liefert sogar zuverlässig korrekte Werte, wenn ich den (statt am 5V Pin) nur an dem 3,3V Pin anklemme (aber konstant 3,3 V natürlich).

    Bin aktuell ratlos...

  • Trax01: Wie bereits 4 Posts über deinem erwähnt, kann der Transceiver am PI sowohl senden als auch empfangen, das ist kein Problem.

    Mit Funksteckdosen ist das aber sone Sache... Die arbeiten mit unterschiedlichen Protokollen zB. ASK, GFSK, FSK, MSK, OOK usw aber auch die Einstellungen des RFM12B Modules sind etwas tricky...
    Für zum Beispiel das Funksteckdosen-Set von Pollin sähen die RFM12B Einstellungen so aus:

    Wie das mit anderen Steckdosen aussieht weiß ich nicht - müsstest du ergooglen.

    Es gibt auch Sketches wie dieses um Funksteckdosen zu erlernen - aber der Sketch ist für den ATtiny84 zu groß

  • Okay die Steckdosen + FB sehen 100% so aus wie meine !

    Wie kann ich deinen geposten code Anweden muss ich diesen in die Sensor Datein einbauen oder muß ich auch den Sketch vom Transreceiver vom PI ändern ?
    Kein leider sogut wie garnicht Programmieren.
    Würde gerne die Steckdosen über einen Befehl denn man ja auch auf die PHP Seite setzten könnte AN/AUS Schalten können.

    So wie aus diesem Projekt:
    PowerPi: Raspberry Pi Haussteuerung
    Hatte so ein ähnliches Projekt aber mit dem gleichen Sender der auch in diesem Projekt verbaut ist angebaut Funktioniert auch gut. Dachte mir jetzt nur das anstat so einen weiteren 433 Sender an den PI zu setzten könnte man ja vieleicht beiden über den RFM12 machen ;)

  • Naja es war schon mühsahm den Transceiver Sketch für den PI so weit optimiert zu kriegen das er überhaupt auf den ATtiny84 drauf passt - ich glaub also nicht das diese zusätzliche Funktionalität da auch noch drauf passt... Aber Wissen tu ich es nicht.
    Probier es einfach mal selber aus und such im Sketch nach " control ", da müsste dieser Code dann eben auch dazu.

    Du könntest auch zusätzlich einen TinyTX an den PI anschließen, dann eben an den TX vom PI, und da nur einen Sketch für diese Geschichte drauf klatschen..

  • Hier findest du die aktuellen sketches: https://github.com/meigrafd

    Füg das einfach innerhalb des setup() nach dem Initialize vom RFM12B ein.


    Wofür hast du den receiver sketch überhaupt in einen transreceiver sketch umgebaut ?

    Falls jemand Daten von einem TinyTX abrufen will kann er das mit einem Transceiver Sketch...

  • Also TinyTX sind doch alle Sender mit Sensoren oder nicht ? Und Senden doch selbstständig.

    Mit dem Tranreceiver sketch kann man also per Befehl auslösen das Daten vom gewünschten Sender gesendet werden oder habe ich das Falsch verstanden ?

    Und auch wenn ich diesen Code mit Einfüge wie bekomme ich raus welche Befehle ich Senden muß damit die Steckdosen Schalten ? Und auch wo kann ich die Befehle eigeben ? Dazu muß ich bestimmt auch noch das Sensor Skript umschreiben oder nicht ?

  • Mit dem Tranreceiver sketch kann man also per Befehl auslösen das Daten vom gewünschten Sender gesendet werden oder habe ich das Falsch verstanden ?

    Das muss dann halt auch noch im Sender-Sketch eingebaut werden etc. aber die Möglichkeit besteht.... Ob oder inwiefern das Sinnvoll ist brauch man denk ich nicht weiter diskutieren.


    Und auch wenn ich diesen Code mit Einfüge wie bekomme ich raus welche Befehle ich Senden muß damit die Steckdosen Schalten ? Und auch wo kann ich die Befehle eigeben ? Dazu muß ich bestimmt auch noch das Sensor Skript umschreiben oder nicht ?

    Naja also hier geht es eigentlich um Sensoren - wo ich Steckdosen nicht zu zähle... Also wenn du noch mehr Fragen dazu hast wäre es Nett wenn du dir einen eigenen Thread erstellst.

  • Okay danke dir fürs weiterhelfen ! Denke das ich das dann über einen extra Sender mache ;)

    Habe aber noch eine Frage dieses mal auch zu Sensoren ;)
    Habe einen PIR HC-SR501 Sensor habe jetzt in einem Projekt das auf diesem hier aufbaut gesehen das man diesen dort verwendet. Könnte Ich diesen auch mit deinem Projekt benutzen ?

    Habe es schon versucht den Sketch umzubauen nur leider ohne erfolg denke das Problem ist das es in dem Sketch kein Gateway gibt und auch networkID und Nodeid anderst benannt wurden.
    Bekomme so einfach keine Daten von diesem Sensor.

    Genauso wie Ich vom meinem BMP085 keine Daten bekomme mit dem Send_BMP085_Watchdog_JeeLib sketch. Habe Ich bestimmt falsch angeklemmt oder der Widerstand ist Falsch.


  • Habe einen PIR HC-SR501 Sensor habe jetzt in einem Projekt das auf diesem hier aufbaut gesehen das man diesen dort verwendet. Könnte Ich diesen auch mit deinem Projekt benutzen ?

    Da ps915's Projekt von diesem hier abgekoppelt ist und die selben Bauteile nutzt -> Ja

    Habe es schon versucht den Sketch umzubauen nur leider ohne erfolg denke das Problem ist das es in dem Sketch kein Gateway gibt und auch networkID und Nodeid anderst benannt wurden.

    Vergleicht man den wichtigen Teil, der die eigentliche Übertragung auslöst, fällt auf das bei ps915 eine 0 anstelle von GATEWAYID eingetragen ist. Diese 0 sorgt dafür das es einfach an Alle geschickt wird, sog. broadcast

    Genauso wie Ich vom meinem BMP085 keine Daten bekomme mit dem Send_BMP085_Watchdog_JeeLib sketch. Habe Ich bestimmt falsch angeklemmt oder der Widerstand ist Falsch.

    Ohne deine Sketches zu sehen kann ich nur Raten woran es evtl. liegen könnte ... ich rate aber sehr ungerne

  • Okay werde mich morgen mal daran machen die beiden zu vergleichen. Bekomme leider immoment keine Ausgabe von PIR Sender.
    Auch nicht über den Python Script von seinem Projekt. Kann Ich mir irgendwie sonst Anzeigen lassen was der Receiver überhaupt Empfängt ? Damit ich Testen kann ob es am Script oder am Sketch liegt ?

    Für den BMP085 benutze ich den Sketch aus deinem Projekt.


  • ...


    Vergleicht man den wichtigen Teil, der die eigentliche Übertragung auslöst, fällt auf das bei ps915 eine 0 anstelle von GATEWAYID eingetragen ist. Diese 0 sorgt dafür das es einfach an Alle geschickt wird, sog. broadcast

    ...


    interessehalber, an welcher Stelle ist die 0 eingetragen? Ist die nicht für ohne ACK...?
    Ich glaube eher er nutzt wie ich die jeelib.h und vermutlich gibt es die nicht oder es geht auch ohne Gateway-Angabe, oder?

    Der PIR funktioniert jedenfalls sehr gut, wie dort in meinem Feedback zu lesen ist.

    Einmal editiert, zuletzt von giovanne (5. Februar 2015 um 20:57)


  • interessehalber, an welcher Stelle ist die 0 eingetragen?

    Code
    rf12_sendStart(0, &tinytx, sizeof tinytx);

    Ist die nicht für ACK...?

    Nein, das ist:

    Code
    #ifdef USE_ACK
    ...
    rf12_sendStart(RF12_HDR_ACK, &tinytx, sizeof tinytx);
  • Code
    rf12_sendStart(0, &tinytx, sizeof tinytx);


    Nein, das ist:

    Code
    #ifdef USE_ACK
    ...
    rf12_sendStart(RF12_HDR_ACK, &tinytx, sizeof tinytx);

    Ok danke.
    Ich dachte immer, da der sendStart(0... aus dem else-Zweig für das ACK ist, das die 0 sagt, ohne ACK.
    Aber ist wie du schreibst ist die 0 für Broadcast. Und im USE_ACK enthält RF12_HDR_AC die NodeID was ja für die Rückantwort notwendig ist.
    Wieder was gelernt!!!

    Hast schon deinen HC-SR04 aus deinen Roboter ausgebaut ;)

    Einmal editiert, zuletzt von giovanne (5. Februar 2015 um 22:07)

  • Hast schon deinen HC-SR04 aus deinen Roboter ausgebaut ;)

    Nein, brauch ich aber auch nicht hab noch 6 hier rumfliegen :fies:
    Bin ich bisher nicht zu gekomm das zu testen - vielleicht morgen :daumendreh2:

  • Kann es sein das ich den RFM12B mit 3x AAA Batterien mit gesamt 4,5 V geschrottet habe?
    Laut Datenblatt sind ja maximal 3.8 V zulässig. Im Eingagsthread wird zwar beschrieben es nichts ausmacht dort mehr Volt draufzugeben, aber ich bin mir jetzt unsicher, da meine Funkübertragung nicht funktioniert.

Jetzt mitmachen!

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