Coffee Pi

  • [font="Verdana"]Hallo zusammen,[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]kurz vorweg mein name ist Teo, mache immo ne Ausbildung zum Fachinformatiker und ich weiß nicht ob mein Beitrag hier richtig ist - sonst evnt. verschieben.[/font]
    [font="Verdana"] [/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Die Idee[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Wie der Name schon vermuten lässt, handelt es sich bei meinem Projekt 'Coffee Pi' um nichts anderes als eine Kaffeemaschiene, die per SMS gesteuert wird. Gebaut wird diese mit etwas Hilfe vom Kollegen bei der Elektronik.[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Wieso, weshalb, warum?[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Es ist Sonntag morgen, nach einer total zerzechten Nacht. Ihr wollt nichts lieber als einen frischen Kaffee. Müsst aber erst aus dem Bett raus, den Kaffee zubereiten und warten bis er fertig ist...[/font]
    [font="Verdana"]Ihr seit auf dem Weg zur Arbeit, euch regt es morgens auf dem Weg schon auf, dass erst Kaffee gekocht werden muss auf der Arbeit...[/font]
    [font="Verdana"]...es gibt unzählige Gründe![/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Und dann...?[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Wenn die Kaffeemaschiene soweit fertig ist und Kaffee kochen kann, soll diese ständig erweitert werden. Mit Sensoren die Alarm schlagen, wenn kein Wasser mehr da ist, etc.. Es soll eine Webseite über die Coffee_Pi Maschiene laufen (natürlich aufm RPi), welche eine komplette Dokumentation darüber beinhaltet: Infos, Programmcodes, Schaltpläne,... alles Open Source! Als Nachschlagewerk, Anregung,...[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Wie soll das funktionieren?[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]SMS Empfänger -> Raspberry Pi -> Kaffeemaschiene[/font]
    [font="Verdana"] [/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Benötigte Hardware[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]SMS Empfänger: UMTS Stick (Huawei 352)
    Raspberry Pi: Model B 512MB /4GB SD Karte[/font]
    [font="Verdana"]Kaffeemaschiene: Coffee Maxx Premium
    Bildschirm/Statusanzeige: evnt. 4.3 Zoll Display[/font]
    [font="Verdana"]Sonstiges: fällt mir gerade nicht ein[/font]


    [font="Verdana"]Was bisher geschah: [/font]
    [font="Verdana"] [/font]
    [font="Verdana"]RPi und UMTS Stick wurden besorgt. Kaffeemaschiene heute morgen bei Ebay ersteigert.[/font]
    [font="Verdana"]Da sich meine Programmierkenntnisse bis dato leider nur bei Basic, C++ und etwas C-Objektive befanden und ich das ganze doch lieber etwas anders gestalten wollte, bla bla bla. Auf jeden habe ich angefangen Python zu lernen.[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Schritt 1 -> Der RPi wurde mitm Raspian aufgesetzt.[/font]
    [font="Verdana"]Schritt 2 -> Der UMTS Stick wurde angeschlossen und eingerichtet.[/font]
    [font="Verdana"]Schritt 3 -> Es werden Skripte geschrieben, die die SMS auslesen und verarbeiten.[/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Zu Schritt 2-3 werde ich nochmal gesondert etwas schreiben, wie ich das ganze gemacht habe u.s.w..

    Für Fragen, Anregungen, Kritik stehe ich sehr gerne bereit und versuche soweit es geht zu helfen. [/font][font="Wingdings"]J[/font]
    [font="Verdana"] [/font]
    [font="Verdana"] [/font]
    [font="Verdana"]Bis dahin,[/font]
    [font="Verdana"]#der Teo[/font]


    ///////////////////////////

    Edit: Es gibt nun eine Projektwebseite: coffeeblog.0mh.de

    • Offizieller Beitrag

    Eigentlich ganz coole Idee :)
    Aber würde es nicht reichen wenn du statt die sms zbs lieber Cronjobs benutzt? Dann könntes auch ohne sms deinen morgendlichen Kaffe bekommen :D

    Ich bin ein gefallener Engel namens Turael.

    Einst vor langer Zeit rebelierte ich im Himmel bis Gott mich auf die Erde verbannte.

    Doch meine taten werden kein ende finden....

  • coole Idee.
    Wenn das klappen sollte und nicht allzu teuer wird bin ich auf jd. Fall dabei :)
    Aber das mit dem Umts verstehe ich auch nicht ganz, bzw. was spricht gg ein web-if?

    Gruß,

    Tobi

  • Hallo Tobias,

    der Grundgedanke ist, dass man Coffee_Pi von überall aus schnell starten kann. Leider ist aber mein mobiles Inet ziemlich langsam, wenn man in kleineren Dörfern ist. Normalen Handyempfang hast du fast in der tiefsten Region. :D

    Auf Dauer werde ich vermutlich auch ein WI einbauen, da ne Webseite über das Projekt darauf gehostet werden soll.

    Werde später mal den Code zum auslesen der SMS mitn paar Infos hier veröffentlichen, hab da auch noch ne Frage zu 'AT Commands'.


    GreeZ

  • So, das ist nen kleines Python-Skript um die SMS auszulesen und formatiert auszugeben.

    Was wurde vorher gemacht:
    Der UMTS Stick wurde mit dem Programm 'USB ModeSwitch' eingerichtet.
    Infos von UbuntuUsers

    Hat man alles eingerichtet, kann man sich mit dem Remoteprogramm 'Screen' darauf schalten. Nun gilt es die passenden Modembefehle (AT Commands) herrauszufinden.
    Developershome

    Das Problem:
    Soweit funktioniert alles einwandfrei, ich kann den Befehl "AT+CMGF=1"* zwa per Skript übergeben, jedoch kommt dann die Fehlermeldung vom UMTS Stick "Command not supported". Schalte ich mich per Remotezugriff mit Screen darauf und gebe den Befehl per Hand ein, führe das Skipt danach aus und es funktioniert.
    *0=PDU mode / 1=text mode

    Hat jemand zufällig ne Idee? Für Anregungen & Verbesserungsvorschläge beim Skript bin ich auch dankbar. Bin ja schließlich dabei Python zu lernen.

  • Hi,

    kann es sein, dass Du einen typo drin hast?
    Im script schreibst du: gmgf=1, weiter unten cmgf=1
    Seid ihr was die Ansteuerung der Kaffeemaschine angeht schon weitergekommen?


    Gruß,

    Tobi

  • Danke Tobi, genau das wars. :D
    Nein, wir gehen das ganze erstmal im Kopf durch wie wir das genau machen. Müssen die aber noch auseinandernehmen, dann kann ich genaueres sagen...


    Der aktuelle Code von 'start.py'


    Info: Hier wurden die Bibliotheken serial (um den UMTS Stick anzusprechen), re (regular expression) und time (selbsterklärend) importiert. Alle auf der SIM Karte gespeicherten SMS werden geloggt.


    Info: [font="Monaco, Consolas, Courier, monospace"]UMTS Stick auslesen[/font]


    Info: SMS verarbeiten.

    Code
    SMSextract()
    
    
    loggeUMTS.close()


    Info: Ende


    Da das übrigens mein aller erstes Python Skript ist, bin ich für jeden Verbesserungsvorschlag in Hinsicht auf Syntax u.s.w. dankbar.
    Soweit funktioniert es aber einwandfrei. :D

  • Update Projektstatus

    -Momentan wird der Code erweitert/verändert
    -Die Kaffeemaschiene wird gerade auseinandergenommen und vermutlich mit folgender Platine gesteuert:
    http://www.conrad.de/ce/de/product/…Relaisausgaenge

    Problem mit der Platine von Conrad -> Sie kann zwa per USB angesteuert werden, jedoch ist die Software nur für Windoof verfügbar. (Benutze ja Wheezy)
    Mein Arbeitskollege möchte die gleiche Relaiskarte für sein Smarthome-Projekt (auch mitm PI) benutzen und hat den Code im Netz portiert für Linux gefunden. Warte vermutlich ab, bis er es getestet hat.
    Wer ne alternative kennt, gerne hier Posten. *happy*

    Was gerade in Überlegung ist
    -Eine App fürs Smartphone (zusätzlich zur SMS Steuerung) zu coden
    http://jquerymobile.com/

    Spaß an der Freude mit 'Aufträgen'
    Folgende SMS Befehle funktionieren schon:

    coffeePI off -> Schaltet den Pi aus
    coffeePI delSMS -> Löscht vorhandene SMS auf der Sim
    antwort -> Schickt ne SMS an mich
    lesen -> Ließt die vorhandenen SMS
    play sound -> Spielt einen Ton über den analogen Audioausgang ab
    grrr -> 'Bildschirmschoner' mit einem Layout eines Tigerkopfes rotiert

  • Zitat von teo_barley pid=9688 dateline=1365242682


    Hallo Tobias,

    der Grundgedanke ist, dass man Coffee_Pi von überall aus schnell starten kann.

    GreeZ


    nette Idee, nur wenn der Filter noch den alten Schlamm vom Vortag hat ?

    die Bewertungen der Maschine lesen sich zu schlecht als das man Appetit bekommt
    http://www.amazon.de/TV-Das-Original-Premium-Isolierkanne/dp/B002RWJLBI/ref=cm_cr_pr_product_top?tag=psblog-21 [Anzeige]

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Zitat von jar pid=11373 dateline=1366625566

    nette Idee, nur wenn der Filter noch den alten Schlamm vom Vortag hat ?

    die Bewertungen der Maschine lesen sich zu schlecht als das man Appetit bekommt
    http://www.amazon.de/TV-Das-Original-Premium-Isolierkanne/dp/B002RWJLBI/ref=cm_cr_pr_product_top?tag=psblog-21 [Anzeige]

    Hey Jar,
    natürlich muss man den Filter nach jedem gebrauch säubern - muss man ja bei fast jeder Maschine. ;) An sich bin ich mit dieser beim Preis/Leistung-Verhältniss (habe 23€ bei ebay gezahlt) zufrieden.


    Der Sinn und Unsinn von Log-Dateien

    Kurz vorweg, ich muss gestehen: Ich logge! Aber wieso, warum, weshalb und was ist das überhaupt?!
    Viele von euch kennen vermutlich den Sinn dahinter, für diejenigen sollte dieser Beitrag uninteressant sein!

    Logdateien sind nichts anderes als z.B. eine Textdatei, welche den Verlauf eines Programmes/des Systems aufzeichnet, um später Fehler o.ä. zu finden.

    Ein Beispiel anhand des Projektes ‚coffeePI‘:

    Das Skript läuft später automatisiert im Hintergrund in regelmäßigen Abständen, z.B. 1x in der Minute um zu gucken ob neue Aufträge (SMS) vorhanden sind. (Linux: cron-job/ Windows: scheduled task).

    Da ich ja natürlich nicht 24h/7 Tage die Woche davor sitzen möchte um zu gucken wer eine SMS zur Kaffeemaschine gesendet hat, bzw. diese eh in regelmäßigen Abständen gelöscht wird, speicher ich nicht nur die SMS in der smsLOG.txt, sondern auch die Log-Zeit, Datum und evnt. was gemacht wurde. So habe ich auf Dauer einen Überblick über die Geschehnisse wie Downtimes (Maschine aus, Cron-Job nicht gelaufen,…).
    Auf lange Zeit hinweg möchte ich diese auch noch dafür verwenden, eine Statistik über den (mehr oder weniger) häufigen Genuss von Kaffee zu gewinnen.

    Wie wurde das ganze realisiert in Python:

    Code
    #Hier wird die ‚Grundsubstanz‘ fürs Loggen bereitgestellt
    Import time
    loggeUMTS = open('./logs/smsLOG.txt', 'a')
    timeLOG = time.strftime("Log: %d.%m.%Y  %H:%M:%S Uhr || ")
    
    
    #Formatieren für smsLOG.txt und eintragen
    smsLOG = timeLOG + 'SMS Empf.: ' + ar_tagDAT + ' - ' + ar_zeitDRE + ' - ' + telnummer + ' - ' + text + '\n'
    loggeUMTS.write(smsLOG)


    (Denke der Code ist durch meine Variablennamen verständlich, sonst fragen! Achtung, das ist nicht der ganze Code den ich verwende.)

    ...so sieht dann ein Auszug (von mir ‚Produktiv‘) daraus aus:

    Log: 18.04.2013 11:10:06 Uhr || SMS Empf.: 18.04.2013 - 11:09:59 - +49123456789 - Test
    Test : Auftrag nicht definiert.
    Log: 18.04.2013 11:12:05 Uhr || SMS Empf.: 18.04.2013 - 11:11:47 - +49123456789 - kaffee!
    Fehler: Es koennen nur zwischen 1 und 8 Tassen gekocht werden.
    Log: 18.04.2013 11:13:10 Uhr || SMS Empf.: 18.04.2013 - 11:12:32 - +49123456789 - kffee!3
    kffee!3 : Fehler in der Syntax.
    Log: 18.04.2013 11:13:59 Uhr || SMS Empf.: 18.04.2013 - 11:13:46 - +49123456789 - kaffee!3!4:20
    Kaffee wird spaeter gekocht. Um 4:20 Uhr 3 Tasse(n).
    Log: 18.04.2013 11:15:51 Uhr || Keine Auftraege
    Log: 18.04.2013 11:16:51 Uhr || Keine Auftraege

  • Zitat von teo_barley pid=11379 dateline=1366629916


    Hey Jar,
    natürlich muss man den Filter nach jedem gebrauch säubern - muss man ja bei fast jeder Maschine. ;)


    OK ist klar, nur darf man das nicht vergessen und auch nicht das die Kanne noch halbvoll ist vom Vortag,
    so läuft meine regelmäßig über weil ich das vergessen hab zu prüfen

    was ich nicht verstehe, die soll von mehreren fernbedient werden ? hast du soviel Vertrauen das andere immer Filter leer und Kanne leer prüfen ?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Zitat von jar pid=11384 dateline=1366632054

    OK ist klar, nur darf man das nicht vergessen und auch nicht das die Kanne noch halbvoll ist vom Vortag,
    so läuft meine regelmäßig über weil ich das vergessen hab zu prüfen

    was ich nicht verstehe, die soll von mehreren fernbedient werden ? hast du soviel Vertrauen das andere immer Filter leer und Kanne leer prüfen ?

    Nur von meinem Vater und mir. ;) Zweitens sollen auf Dauer noch Sensoren eingebaut werden, die das abfangen.

  • Zitat von teo_barley pid=11387 dateline=1366634464


    Nur von meinem Vater und mir. ;) Zweitens sollen auf Dauer noch Sensoren eingebaut werden, die das abfangen.

    Sensoren für den Füllstand in der Kanne ? oder in der Maschine auf Gewicht prüfen ?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Zitat von jar pid=11389 dateline=1366635313

    Sensoren für den Füllstand in der Kanne ? oder in der Maschine auf Gewicht prüfen ?

    Wenn ich ehrlich bin, habe ich mir darüber noch keine Gedanken gemacht...kommt alles nach und nach, erstmal muss die laufen. :D


    Zitat meiner Freundin gestern: "Deine Kaffeemaschine kann bald alles, nur keinen Kaffee kochen!"

  • Zitat von teo_barley pid=11393 dateline=1366637911


    Wenn ich ehrlich bin, habe ich mir darüber noch keine Gedanken gemacht...kommt alles nach und nach, erstmal muss die laufen. :D

    ich finde es doch sinnvoller ob ich je mein Ziel erreichen kann bevor ich loslaufe, aber jeder wie er mag,

    eines ist klar optische Sensoren zur Füllstandsermittlung in der Kanne funktionieren nicht, bleibt nur Drucksensor.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Zitat von Fraggl pid=11403 dateline=1366640063


    Man muss deiner Freundin ggf zustimmen :P

    Kann man nicht/haben nicht einige Maschinen an der Seite einen Schwimmer, der immer auf Höhe des Füllstands ist? mit dem könnte man vllt etwas ausfuchsen.

    es geht ja um 2 Füllstände !

    erstens Frischwasser
    zweitens in der Kanne der Rest vom Vortag, nur zur Sicherheit, sonst gibt man Kommando für 10 Tassen und darf dann viel wischen ! :dodgy:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

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