Kommunikation rs232 zu Rika Pelletofen ( Hayes )

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen.

    Ich habe mir einen Raspberry gekauft um mit Fhem ein paar Dinge zu Automatisieren.

    Auf ihm läuft also wheezy.

    Unter anderem möchte ich dann auch meinen Pelletofen einbinden aber da fängt das Problem schon an.

    Ich habe mir bereits ein RS232 Bord gekauft, welches einen RS3232 Chip verbaut hat.
    Das Kabel zum Ofen habe ich ebenfalls nachgebaut.

    Was ich bis jetzt herausgefunden habe:

    Der Ofen erwartet ein Siemens TC35i bzw. TC53i GSM Modem um per SMS gesteuert zu werden. ( Dies sollte der Pi übernehmen )

    Minicom oder Echo erhalte ich leider nur wilde Buchstaben und Zeichen. ( ASCii ) :helpnew:

    Gibt es ein Programm etc was mit dem Hays Befehlsatz arbeitet und mir die empfangenen Daten auch so wieder gibt? Also einen emulator der dem Ofen dann vorgaukelt ein Modem zu sein.

    Ich suche also ein Tool für Noob´s wie mich. :thumbs1:

    Gruß
    Tommy

    Einmal editiert, zuletzt von Tommy_84 (11. September 2014 um 21:46)

  • > Der Ofen erwartet ein Siemens TC35i bzw. TC53i GSM Modem um per SMS gesteuert zu werden.
    Gibt es WIRKLICH keine anderen Schnittstellen ??

    Ich kann einfach nicht glauben, dass so eine Heizung nur ueber SMS gesteuert werden kann ...

    - - - - - - -

    Falls es tatsaechlich keine anderen Schnittstellen gibt, gibt es eine Moeglichkeit,
    aber die frisst Zeit und braucht einige Kenntnisse:

    * Ein TC35i und einen RS232-Analyzer anschliessen
    * Alle Befehle und Meldungen einmal ausloesen und aufzeichnen

    * Einen Simulator bauen der das TC35 in dieser Applikation emuliert

    Und nein, ein TC35 ist kein Hayes-Modem, es ist ein GSM-Modul mit einem
    anderen Befehlssatz. Einfach den Befehlssatz nachzubauen ist keine Option:
    nur die Referenz der AT-Befehle hat mehrere hundert Seiten (Ich finde die
    Beschreibung fuer das TC35 gerade nicht. Die vom Telit-Modul hat 469 Seiten,
    wobei das einiges mehr kann als ein TC35)

  • jepp ... über 400 Seiten ... das kann man imho nicht mal schnell emulieren ...
    Aber -> hier <- kriegst Du so ein Ding für knapp 90,- Euro ...
    //EDIT: Das soll zumindest kompatibel sein, sagt der Hersteller -> hier <-


    cheers,
    -ds-

  • Danke für die Antworten.
    Ich benötige nur einen kleinen teil der befehle. Es handelt sich nur um einen Kaminofen. Also keine komplette Heizungsanlage.

    Über SMS werden also nur 4 Dinge gesteuert.

    AUS, nach Raumtemperatur, nach Heizleistung und nach Timer der im Ofen gespeichert ist.

    Das Problem ist, das der Ofen beim starten abfragt ob ein modem angeschlossen ist.

    Vermutlich mit AT oder per AT-CMGI....

    Darauf müsste ich dann mit OK antworten. Aber diese Anfrage wird schon nicht richtig dargestellt.

    Einmal editiert, zuletzt von Tommy_84 (12. September 2014 um 06:01)

  • Ich kenn mich mit dem Terminal aus. Hab den bereits zum SMS Versand programmiert.
    Ist alles einfachste AT Befehle , zumindest so hab ichs gemacht.
    Du brauchst allerdings, ja genau das Gegenteil einen Emulator für den GSM-Terminal.

    Verbindung ist default bei mir
    9600 Baud
    8 Daten
    1 Stopbit
    Kein Parity

    ich würde einen serial Monitor an den Serial Port anhängen und die Kommandos mitloggen und dann schritt für schritt implementieren. oder auch händisch eingeben.
    Unter windows z.B. mit http://www.der-hammer.info/terminal/

    Hab das unter Linux noch nicht programmiert aber das müsste doch einfach gehen.
    dev/ttyS0 lesen
    Befehl auswerten
    Antwort schicken

    Diese und weitere Befehle Verwende ich - schicke ich zum Terminal)
    AT -> verbindung OK?, Antwort OK
    ATE0 -> Antwort OK
    AT+CGMM -> Gerät abfragen, Antwort muss sein "MC35i", "TC35i", "MC52i" oder "HC25"
    AT+CPIN? -> Muss ein Pin gesetzt werden? "+CPIN: READY" bedeutet nein brauch keinen Pin
    AT+CMGF=1 -> Antwort "OK"
    AT+CMGS=\"%s\" -> Sende SMS %s=SMS text, Antwort "OK"

    Du kannst vielleicht auch einfach immer OK zurückschicken außer bei AT+CGMM.


    Oh, jetzt hab ichs kapiert du musst eine SMS Zustellen damit die Heizung was macht.
    Diese Anforderung hatte ich nicht, da musst du dich selbst durch die AT Befehle graben.

    Einmal editiert, zuletzt von evil (12. September 2014 um 12:56)

  • Ich habe jetzt einen USB zu Serial Adapter und werd mit Windows mal gucken was der Ofen sendet. Das Problem ist das ich das auf dem pi nicht sehe da der anscheinend nicht richtig mit dem Ofen spricht. Also ich bekomme nur ASCII zeichen oder mit cutecom nen hex code. Der Ofen besitzt eine eigene Steuerung welche sich dann um alles weitere kümmert. Es bestehen also keine Sicherheits Risiken. Er gibt zwar auch status Meldungen aus aber die sind für mich erst mal nicht relevant.

  • Huhey;

    Hast du denn eine Software für Windows, mit welcher du mit dem Ofen via Serial Port kommunizieren kannst?
    Sprich gibt es vom Hersteller eine Kontrollsoftware, mit welcher du alle nötigen Funktionen am Ofen auslösen kannst?
    -Wenn ja ist es ein leichtes. Du sniffst auf dem passenden COM Port was gesendet wird, wenn du die Commands einmal Plain vor dir hast ist es einfach diese in der gewünschten Programmiersprache vom Pi aus zu senden.

    Grüße;

    Einmal editiert, zuletzt von YellowDream14845 (12. September 2014 um 19:56)

  • Leider habe ich keine Software von Rika. Gibt auch offiziell nichts. :no_sad:

    Ich bekomme jetzt allerdings eine Antwort vom Ofen. Wenn ich ein OK sende passiert leider nichts außer das er wieder mit ATE0 antwortet.. :s

    Habe einen Screenshot angehängt.

    und wieder ein schritt weiter!!!!:thumbs1:

  • Also wenn ich es jetzt richtig deute, muss ich jetzt antworten das eine SMS da ist mit dem inhalt: 1111 h65 z.b. 1111 ist der code der auch im Ofen gespeichert ist, ist also quasi das Kennwort. h65 das programm. Habe nun schon mit einigen code Beispielen aus dem Netz probiert. Bekomme aber immer eine Fehlermeldung. Vermutlich weil der Syntax der Antwort nicht passt.

    Evtl. Hat ja Evil einen tip wie die Eingabe der Antwort aussehen muss. Auch wenn du das noch nicht hattest, hast du mehr Ahnung wie ich und demnach auch ein besseres Verständnis dafür.

    +cmgr: ..........

    Einmal editiert, zuletzt von Tommy_84 (12. September 2014 um 22:23)

  • Antwort eines Telit-Moduls auf at+cmgr=1 im Modus cmgf=1: (ein bisschen geschwaerzt, binaere SMS, der Carrier versucht etwas zu konfigurieren)

    Code
    at+cmgr=1
    +CMGR: "REC UNREAD","xxxxxxxx","","14/09/01,14:53:20+08"
    05xx03xx02xx9Cxx7Axx0ExxD6xxE8xxB8xxD6xx86xx23xx96xxCDxxAxx7Bxx2FXX41XX32xx4Fxx
    
    OK

    Einmal editiert, zuletzt von Tell (12. September 2014 um 22:56)

  • > Ich vermute das ich die Antwort nicht richtig sende
    Stimmt auffallend.

    Ich poste "REC UNREAD", im Screenshot steht "REC READ",
    im Post steht ein Zeit-Offset von +8, im Screenshot +32.

    Ob sich die Software dran stoert ist schwer zu sagen, aber
    es ist meist ratsam, sich GANZ GENAU an die Muster zu
    halten ...

    > Wie sollte ich es im hterm eingeben?
    Erste Zeile, CR, LF, zweite Zeile, CR, LF, CR, LF, OK, CR, LF

  • Morgen

    Liegt es vielleicht an falschen Ende Zeichen. Du hast CR+LF er hat offensichtlich nur CR.

    http://www.diafaan.com/sms-tutorials/…torial/at-cmgf/
    bzw.
    http://www.diafaan.com/sms-tutorials/…cmgl-text-mode/

    Allerdings fehlt was bei den Zielenumbrüchen denke ich

    +CMGL: <index>,<stat>,<oa>,[<alpha>],[<scts>]<CR><LF><data><CR><LF>

    OK

    Nach dem Header vor dem SMS gehört noch ein Zeilenumbruch rein, würde ich meinen.

    Wenn alles nix hilft werfe ich mal den Terminal an und versuche das zu testen. sag mir bescheid.

    Einmal editiert, zuletzt von evil (15. September 2014 um 08:08)

  • Werde ich heute abend noch mal testen. Bin mir auch nicht sicher welche Informationen noch benötigt werden. Also was alles vom TC35i bei der Abfrage ( at-cmgr=1 ) ausgegeben wird.

    Die Informationen zu der GSM Funktion des Ofens sind halt auch sehr minimal gehalten.

    Ich teste und schreibe dann das Ergebnis.

Jetzt mitmachen!

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