Raspberry Model B PiFace Digital & 433.9MHz-Sendermodul / SiriProxy eigene Befehle

  • Hallo liebes Forum,

    meiner erster Post ist auch schon eine Frage dich ich leider nicht via google und Co. gelöst bekommen habe.

    Ich habe zwei Anforderungen an meinem PI für die Zukunft:

    -> Steuerung von Funksteckdosen/Schaltern
    -> Steuerung des Garagentors und des Summers einer Türe

    Das ganze via SiriProxy...

    Ich bin Software-Seitig schon fertig, warte jetzt noch auf die Leiferung des PiFace Digital und des 433Mhz Senders.

    Nun meine Frage wie ich den 433Mhz Sender an das PIFace bekomme ?
    Ich habe bis dato leider nur Anleitungen gefunden wie ich diesen direkt an den GPIO Controller bekomme!

    Vielen lieben Dank!

    Einmal editiert, zuletzt von heydemar (21. August 2013 um 11:39)

  • Raspberry Model B PiFace Digital & 433.9MHz-Sendermodul / SiriProxy eigene Befehle? Schau mal ob du hier fündig wirst!

  • Also das PiFace funktioniert schon mal, habe es mit dem PiFace Emulator getestet...
    Mein Problem ist jetzt wie steuere ich das Sendemodul an ... ich muss ihm ja sagen auf welcher "Frequenz" er senden soll.

    Es heißt irgendwie die 4-Beinchen angesteuert zu bekommen...

    Da komme ich leider nicht weiter! :(

    Einmal editiert, zuletzt von heydemar (11. August 2013 um 22:11)

  • Hallo heydemar,

    welches 433MHz Sendemodul hast du denn jetzt und wie hast du das an PiFace angeschlossen?

    Zitat

    Mein Problem ist jetzt wie steuere ich das Sendemodul an ... ich muss ihm ja sagen auf welcher "Frequenz" er senden soll.

    Ein 433MHz Sendemodul kann nur auf 433MHz senden. Da kannst du nicht per Software die Frequenz ändern.

    Vielleicht liest du dir mal die folgende Anleitung durch. Das sollte dir meiner Meinung nach schonmal ein wenig weiterhelfen.
    http://www.gtkdb.de/index_36_2261.html

    Gruß Georg

  • Hallo Georg,

    und ich google mir die Hände wund, recht herzlichen Dank für die Anleitung.
    Ich habe das Sendemodul mit den 4-Pins!

    Und mein Problem ist aktuell wie ich das Sendemodul an das PiFace bekomme.
    Alle Anleitungen basieren leider nur auf GPIO Schnittstelle :(

    Danke

  • Hallo heydemar,

    ich habe mir mal ein paar Informationen zum PiFace zusammengesucht. Leider konnte ich aber keinen Schaltplan zu dem Board finden. Für mich sieht das so aus, als wäre PiFace nur eine Porterweiterung mit welchem man zwei Releais schalten kann und welches acht digitale Ausgänge (5V) und acht digitale Eingänge (5V) zur Verfügung stellt. Welche GPIO-Pins dafür verwendet werden und welche noch frei sind konnte ich bisher nicht herausfinden.

    Es sieht also so aus, als müsstest du erstmal herausfinden welche GPIO-Pins vom PiFace genutzt werden und welche noch für das 433MHZ Sendemodul frei sind. Das 433MHz Sendemodul musst du dann direkt an den Raspberry Pi anklemmen.

    Gruß Georg

  • Hallo heydemar,

    ich bin auf folgenden Artikel gestoßen. Finde das ist noch die beste Beschreibung zum PiFace wenn es um die Hardware geht.

    https://projects.drogon.net/piface/

    Wenn ich das richtig sehe, dann sind auf dem Board zwei IC's verbaut. Der MCP23S17 hängt am I2C-Bus vom Raspberry Pi und stellt die 8 digitalen Eingänge und die 8 digitalen Ausgänge zur Verfügung. Der ULN2803A ist ein Darlington Array und hängt zwischen dem MCP23S17 und den 8 digitalen Ausgängen. Damit wäre also schonmal ein Teil geklärt.

    Was jetzt noch offen ist, sind die beiden Relais, die vier Taster und die zwei LED's bei den digitalen Eingängen. Hängen diese jetzt auch irgendwie am MCP23S17 oder nutzen diese direkt die GPIO Pins? Das Relais hängt sicherlich nicht direkt an den GPIO-Pins.

    Ein Schaltplan zum PiFace wäre sehr hilfreich finde ich. Nur seltsam, dass der nicht verfügbar ist. Ich würde dir daher empfehlen auf das PiFace zu verzichten und das 433MHz Sendemodul direkt an den Raspberry Pi anzuschließen. Wenn du dennoch das PiFace verwenden willst, solltest du vorher entweder den Schaltplan auftreiben oder du setzt dich hin und misst mal das Board durch. Vielleicht kommst du durch Reverse Engineering an den Schaltplan.

    Gruß Georg

  • Das PiFace nutzt, wenn man der original Doku ( https://docs.google.com/folder/d/0B-UA…M25fRUpjTG03TG8 ) glauben kann, nur den SPI-Bus und macht sich seine IOs über einen SPI-Portbaustein (MCP23S17) selber.
    Du kannst also die restlichen GPIO-Pins weiter benutzen, Du mußt nur einen Weg finden die brauchbar anzuschließen. Am professionellsten währe es wohl die Buchsenleiste auf dem PiFace auszulöten und gegen eine mit langen Stiften zu ersetzen, am einfachsten ist es, Drähte direkt auf die Platine vom PiFace zu löten.

  • Hallo zusammen,

    ich benötige bitte nocheinmal eure Hilfe...
    Ich muss etwas zurückrudern....

    Ich hantiere aktuell mit den Befehlen:
    ./send 11111 1 1 und ./send 11111 1 0 rum

    für rcswitch-pi

    Ihr müsstet mir bitte einmal erklären wie ich daraus ein ausführbares Script schreibe ich nehme an Endung .sh ?

    Und wie ich dieses dann in folgendem Siri-Script einbinde:



    Ich habe es wie folgt schon einmal abgeändert:



    Vielleicht kann mir auch jemand sagen/zeigen wie es aus zu sehen hat ohne das ich es mit Scripten mache.
    Also so dass die Befehle direkt im Plugin stehen!!

    Das wäre wirklich super!!

    DANKE!


    EDIT: Auf GitHub wurde ich auf das hier verwiesen:
    http://stackoverflow.com/questions/1022…ring-the-output

    Einmal editiert, zuletzt von heydemar (20. August 2013 um 15:54)

    • Offizieller Beitrag

    Eigentlich hast du dir doch 2 sehr gute beispiele rausgesucht, 1 mit parameter, und 1 ohne.

    Könnte so funktionieren :)

    Dadurch, das du keine commands (Parameter) übergibst, brauchst du sie auch nicht im Plugin.
    Ich würde pro Lampe eine funktion nehmen die entweder ein oder ausschaltet, dazu musst dir etwas komplexere Plugins anschauen und Codeschnipsel klauen..aus dem Kopf weiss ich dir Syntax von if..then..else in ruby auch nicht.

    Edit: der Editor macht mich fertig :wallbash:

  • An erster Stelle wieder vielen Dank für die schnelle Antwort:

    was genau meinst du mit

    Code
    /pfad/zur/sendatei/

    Meinst du damit die .sh Datei in der folgendes steht:
    (Muss dort nicht mehr als das drinstehen)?


    Code
    /root/rcswitch-pi/

    ?

    Würde dann fertig so aussehen:


    Code
    /root/einschalten.sh/send 11111 1


    War das so gemeint ? :)

    PS: Mich auch!!!

    EDIT: Oder meinst du mit Sendedatei die Datei die beim auswählen von cd rcswitch-pi ausgewählt wird... Da weiß ich aber ja nicht welche Datei er nimmt... :(

    Einmal editiert, zuletzt von heydemar (20. August 2013 um 16:15)

    • Offizieller Beitrag

    ich neine eigentlich diese

    Code
    ./send 11111 1 0

    die "send" wird ja in irgendeinem Ordner liegen. Den absoluten Pfad dorthin meinte ich. Ich würde das ganze erstmal direkt ausprobieren, ohne zusätzliches Script. Wobei man dann prüfen muss, ob der user siri das ohne anpassung der Rechte ausführen darf.

  • Sooo einen wunderschönen guten morgen, aktueller Status:

    Hier scheint es einen Fehler zu geben:

    Code
    [Info - Plugin Manager] Matches, executing block
    /root/rcswitch-pi/send: 1: /root/rcswitch-pi/send: Syntax error: word unexpected (expecting ")")

    Habe schon ein bisschen mit Leerzeichen und Co. gespielt, leider ohne Erfolg....

    Muss der sh Befehl denn davor stehen ?


    EDIT:

    Ich habe den Befehl einmal so geschrieben:

    Code
    def get_einschalten
            `/root/rcswitch-pi/send 11111 1 1`
            say "Ich habe das Device fuer dich eingeschaltet"
      end

    Wenn ich den Proxy starte und Siri sage "Einschalten" schaltet sich das Gerät ein, jedoch Crashed dann das Plugin mit folgendem Fehler:

    Code
    [Info - Plugin Manager] Processing 'Einschalten'
    [Info - Plugin Manager] Processing plugin RPi
    [Info - Plugin Manager] Matches (?i-mx:einschalten)
    [Info - Plugin Manager] Applicable states: 
    [Info - Plugin Manager] Current state: 
    [Info - Plugin Manager] Matches, executing block
    [Info - Plugin Manager] Say: Ich habe das Device fuer dich eingeschaltet
    [Info - Plugin Manager] Plugin Crashed: undefined method `generate_siri_utterance' for #<SiriProxy::PluginManager:0x1b9f930>
    [Info - Guzzoni] Got invalid data (non-ACE protocol?), terminating the connection.
    [Info - Guzzoni] Received Object: AddViews

    Und gibt mir auch keine Sprache mehr aus sondern Antwortet mir via Apple, im Anschluss muss ich den Proxy neustarten :(

    Einmal editiert, zuletzt von heydemar (21. August 2013 um 07:40)

  • Habe da noch etwas gefunden, werde ich nächste Woche Testen und Feedback geben:

    listen_for /drucker einschalten/i do
    say "Okay, Drucker wird eingeschaltet!"
    request_completed
    system("sudo /home/pi/raspberry-remote/./send 11010 1 1")
    end

Jetzt mitmachen!

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