Möglich? Raspi als Koch-/Rezeptbuch

  • Schönen Guten Abend :),

    ich hoffe ich hab den richtigen Thread erwischt, wenn nicht einfach verschieben.

    Und zwar habe ich vor den Raspberry quasi als Rezeptbuch/Küchenhelfer zu verwenden.
    Geplant war das Programmieren einer App mit ansprechender GUI und Datenbank für die selbst-eingepflegten Rezepte (am besten mit Synchronisation wenn neu eingegeben werden?), welche dann über einen Touchscreen, der an das Raspberry angeschlossen ist aufgerufen werden kann.
    Optional dann evtl. noch mit Musik/Radio Wiedergabe und das Suchen online nach neuen Rezepten aber das ist eher zweitrangig.

    Da ich bisher eher kleinere Raspberry-Projekte gemacht hab, zunächst mal die Frage:
    wäre das so wie gedacht realisierbar?
    Und falls ja - welche Programmiersprache könntet ihr mir empfehlen? - bzw wie wäre es am besten umsetzbar?
    Gerade eine schöne Benutzeroberfläche wäre super und evtl das suchen nach Stichworten bzw Kategorien, wie "Nudeln" oder "Suppen" o.ä.

    Würde mich sehr freuen wenn mir jemand helfen kann! :)

    Liebe Grüße und einen schönen Abend.

    Nadine

  • Hi Nadine,
    So etwas ähnliches habe ich auch vor. Aber ich möchte zusätzlich auch Rezepte von Chefkoch, eat smarter etc einpflegen.
    Leider hatte ich bisher keine Zeit, weil andere Projekte Vorrang hatten.
    Wenn jemand etwas weiß, ich bin auch dafür.
    Gruß, Mathias

    Gesendet von meinem SM-N915FY mit Tapatalk

  • Hallo Nadine,

    herzlich Willkommen in unserem Forum!



    wäre das so wie gedacht realisierbar?


    Natürlich ist das realisierbar!


    Und falls ja - welche Programmiersprache könntet ihr mir empfehlen? - bzw wie wäre es am besten umsetzbar?


    Welche kannst Du denn (am besten)?

    Bei einigen Programmiersprachen gibt es die Möglichkeit, die BEnutzeroberfläche zu erzeugen und ausführbaren Code in diesen Programmiersprachen zu erzeugen. Dann bedarf es relativ wenig Aufwand, um daraus eine vollwertige Anwendung zu erstellen.

    Typische Beispiele solcher Programmiersprachen sind
    Lazarus (IDE für FreePascal)
    C/C++ mit diversen Frameworks (QT4/QT5, GTK+, wxWidgets...) - Eine brauchbare IDE zum Erstellen von GUIs ist z.B. Code::Blocks
    Icon (VIB)

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (24. April 2017 um 22:46)

  • Hey Andreas!

    Vielen Dank für deine Antwort :)

    Was Programmiersprachen angeht bin ich einigermaßen/relativ gut mit Java und SQL vertraut, sowie etwas PHP, Python und C.
    Für mehr fehlte bisher leider die Zeit ;)
    Könnte man Java für das Projekt verwenden oder gibt es da doch Sprachen die die Anforderungen besser erfüllen würden?

    Liebe Grüße;

  • Hallo,

    ich würde das als Webanwendung umsetzen, sprich der Pi läuft als Server im internen Netzwerk und liefert die Rezepte via HTTP aus.

    Vorteile:
    * gleichzeitiger Zugriff mit mehreren Clients möglich
    * GUI ist einfach in HTML+CSS umzusetzen

    Kannst du programmieren? Wenn ja, welche Sprache(n) kannst du? Wenn du eine (brauchbare) Suchfunktion, inkl. Suche nach Schlagworten möchtest, wirst du um eine Datenbank im Backend zum Speichern der Daten nicht umhinkommen. Was an sich nichts schlimmes ist (eher im Gegenteil :) ), aber man sollte vorher halt ein bisschen Gehirnschmalz ins Datenbankdesign stecken.

    Ich hatte sowas mal für uns selber zu Hause auf Basis von Python und dem Webframework Django angefangen. Eine grundlegende Version sollte man so mit ca. 150-200 Zeilen Code hinbekommen. WENN man Python kann und sich mit Django auskennt. Wenn man Python kann und sich nicht mit Django auskennt, dann sollte man vielleicht noch 1-2 Wochen Einarbeitungszeit in Django mit veranschlagen.

    Wenn du es als lokale Applikation, wie von Andreas vorgeschlagen, umsetzen möchtest solltest du noch bedenken, dass die Erstellung einer GUI (wie mit Qt oder GTK) zumindest ein grundlegendes Verständnis von Objektorientierung voraussetzt.

    Gruß, noisefloor

  • Ich hab mir dazu einfach mein altes iPad Air in die Küche gehängt, welche die Rezepte online aufrufen kann, oder jene, welche auf der owncloud am Raspi gespeichert sind. Über Spotify gibts die Musik auf dem Bose Soundlink.

    Aber die Idee mit dem Raspi alles zu realisieren ist super.

    Einmal editiert, zuletzt von oytschi (24. April 2017 um 23:10)

  • Hallo Nadine,

    prinzipiell sind so ziemlich alle aktuellen Programmiersprachen geeignet, Dein Projekt zu einem erfolgreichen Abschluss zu verhelfen. Daher geht es weniger um die Wahl der Programmiersprache sondern darum, in welcher Programmiersprache Du Dich wohl fühlst.

    Wenn der Schwerpunkt darum geht, eine attraktive GUI zu kreieren und drum herum (ein wenig) zu programmieren, dann greife ich immer zu Delphi (Windows) oder Lazarus (Linux, Windows) - je nachdem, ob die Anwendung plattform- und betriebssystem-unabhängig sein soll.

    Wenn es um hocheffizienten Code und kurze Antwortzeiten der Anwendung geht, dann wird es nicht viele andere Alternativen zu C geben.

    Wenn die Anwendung in möglichst kurzer Zeit erstellt sein muss, dann greife ich persönlich immer zu Icon, da hier nur 25 bis ca. 70 % Codezeilen gegenüber anderen Programmiersprachen erforderlich sind (hängt auch von persönlichen Programmierfertigkeiten und der der Bereitschaft ab, durch Einsatz ungewöhnlicher Operatoren auf ganze Blöcke an Abfragen verzichten zu wollen. Dadurch kann ein mehrzeiliger Block bei herkömmlicher Programmiertechnik auch mal zu einer einzigen Zeile schrumpfen.

    Wenn Du nur bzw. am besten Java kannst, dann wirst Du wohl damit anfangen (müssen) und versuchen (müssen), unterwegs auftauchende Probleme in Java zu lösen. Da kommt es darauf an, ob und wo Du den dafür ggf. erforderlichen Support bekommen kannst.

    Für die von mir gerade genannten Programmiersprachen ist der Support auch bei kniffligen Detailfragen recht gut (auch wenn Icon keinen sonderlich großen Bekanntheitsgrad erlangt hat).


    Und natürlich kannst Du alles auch in HTML / PHP in Browsern programmieren. Das hängt alles von Deinen Vorlieben ab. Dann musst Du allerdings beim Antwortverhalten der Anwendung große Abstriche machen.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (25. April 2017 um 08:58)

  • Ich persönlich würde hier die Kombination aus PHP, AJAX und MySQL verwenden, weil du damit auch alles realisieren kannst und vor allem in Verbindung mit AJAX dann keine Browserladezeit oder Verzögerung mehr hast.
    Somit lassen sich relativ leicht Suchfelder, das sortieren nach Kategorien, eine schöne grafische Oberfläche etc implementiern.

  • Hallo Neueinsteiger,


    Ich bin bekennender Softwareanalphabet, daher kann ich zur Fragestellung nichts beitragen.
    Aber ich hätte eine Idee zur Nutzung in der Küche.
    Ich suche schon lange nach einer Lösung, bei der ich angeben kann, was der Kühlschrank noch her gibt und mir dann ein dazu passendes Rezept vorgeschlagen wird.


    solch ein Programm gab es mal bei einem Windows-Billig-Software-Paket zur Organisation in der Wohnung.

    Bei dem Programm hast Du Deine vorhandenen Lebensmittel und Mengen eingegeben. Rezepte waren hinterlegt und konnten erweitert werden.

    Du hast eingegeben, was Du gerade essen willst. Das Programm hat Dir ausgespuckt:

    Code
    Dazu müssen Sie noch einkaufen: ...

    oder

    Code
    Alle Zutaten vorhanden

    .

    Du konntest das Programm auch bitten, Dir Vorschläge zu unterbreiten, was mit dem aktuellen Lager alles an Kochrezepten machbar ist. Dann hast Du das Gericht angeklickt und erhiletst dann Anweisung, was mit wem in welchem Gefäß wie zuzubereiten ist.

    Sowas mal zu programmieren ist auch recht spaßig. Erfordert aber ein wenig tiefergehende Planung, weil man sich anderweitig verzettelt und immer wieder neue Ideen aufnehmen möchte.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Vielen Dank für die Vielen Antworten! :)

    Bin einige eurer Empfehlungen bzw Vorschlägen nachgegangen. Bin dabei relativ oft dem CMS Wordpress über den Weg gelaufen.
    Hat damit schon jemand gearbeitet und kann das empfehlen bzw. die Verwendung negieren?

    Beste Grüße

    Einmal editiert, zuletzt von nadinexyz (25. April 2017 um 13:22)

  • Zitat

    Hat damit schon jemand gearbeitet und kann das empfehlen

    Ja, nein.

    Wordpress ist für "klassische" Websites und Blogs, nix für deine Anwendung. Ich würde das asl Webentwickler auch eher Mit HTML und JS machen, villeicht noch PHP für die DB. Mit den passenden Frameworks geht das recht flink und sieht gut aus. Wenn du dich auf dem Gebiet als Anfänger fühlst, schau' doch mal nach jQuery und Bootstrap :)

    Ansonsten, Support gibt's hier gerne!

    LG

  • Hallo zusammen,

    das ist zwar löblich, das wir Nadine jetzt alle mit Informationen zutexten.

    Wenn aber jeder Nadine das empfiehlt, wie er / sie es selber machen würde, weil es ihm / ihr am leichtesten fällt, dann sind wir meiner Meinung nach am Thema vorbei.

    :s

    Es geht darum, wie Nadine von dem Wissen, das sie hat und der Erfahrung, die sie zusammengetragen hat, auf dem kürzesten Weg zur Lösung kommt. Und da stellt sich mir die Frage, ob es dazu bedarf, sich gleich in mehrere neue Dinge einzuarbeiten. Nur weil das andere auf die vorgeschlagene Weise machen würden - denn die können das schon.

    Es ist wie öfters: Wir müssen User dort abholen, wo sie gerade stehen, nicht wo wir gerade stehen. Was für einige hier ein kleiner Schritt ist, stellt sich für andere als gewaltiger Sprung dar. Und das erst, nachdem sie sich ausgebuddelt und den Startblock erklommen haben, den andere schon lange nicht mehr hinter sich sehen (können).


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Andreas:

    Grundsätzlich ja, ABER:
    Sie will eine ansprechende GUI für einen Touchscreen implementieren. Und jetzt vergleiche mal den Aufwand, das in Java mit meinetwegen Qt oder so zu machen und dann mit "Websprachen". Merkste?

    So gut wie alle großen klassischen GUI Frameworks wurden, von Kivy mal abgesehen, ursprünglich für den Einsatz auf Desktopsystemen mit Maus entwickelt. Zwar wirbt Qt jetzt mit Embedded devices und so nem Kram, aber selbst wenn es möglich ist, zu themen, dauert das ewig. Ich habe mal ein Qt Theme entwickelt, das ca. 80-90% der Standardwidgets abdeckt. Es ist eine Qual da man nur mit einem Subset von CSS arbeiten kann, sieht aber gut und auf allen OS gleich aus.

    Ein HTML Dokument, das länger als der Viewport gerendert wird mit dem Finger auf einem Touchbildschirm zu scrollen, bedarf mit einer modernen Browser-Engine keine Zeile Code. In einer klassichen Desktopanwendung musst du schon die Scrollbar treffen.

    Just my 2 ct.

    LG

  • Uhlala, erneut nochmal Danke für die Vielen Antworten ;)

    Im Prinzip "stehe" ich noch nirgends, die Idee kam auf und ich hatte mir Gedanken gemacht wie ich das umsetzen könnte.
    Da ich mich mit Java und SQL vertraut und wohl fühle, ging die Idee der Realisierung erstmal in die Richtung. Dadurch dass mir in diesem Fall allerdings ein schönes GUI schon wichtig ist, vorallem weil das - wenns klappt - evtl auch als Geschenk gedacht ist und eine Synchronisation mit der Datenbank wünschenswert wäre, bin ich von Java wieder weggekommen und hab in Richtung Webprogrammierung bzw. den Raspi als Webserver gedacht.
    Mit Websprachen hatte ich bisher allerdings (leider) noch nicht allzuviel zu tun, dementsprechend schwer wäre vermutlich der Einstieg .

    Habe mich jetzt auch nochmal etwas genauer informiert und gedacht war jetzt den Raspi als Webserver mit SQL und PHP laufen zu lassen.
    Jetzt würde mir quasi noch ein Tool fehlen womit ich das realisieren kann.

    Da ich damit wie gesagt leider noch garnicht gearbeitet habe, wären ein paar Tips zum Einstieg bzw. für gute (nicht allzu komplexe) IDEs bzw. Tools echt klasse :).

    Liebe Grüße und danke! :)

  • Hallo Nadine,

    ich werfe dann nochmals Lazarus, ins Spiel, mit dem sich
    a) nicht nur ansprechende GUIs gestalten lassen (kann ich aus eigener Erfahrung bestätigen)
    b) sondern auch Web-Anwendungen entwickeln lassen (kann ich nur auf diese Quelle verweisen, viele Links auf Beispiele und Frameworks gibt's hier)

    Die anderen Programmiersprachen, die ich vorher mal genannt habe, würden auch gehen, setzen aber zuviel HTML / PHP voraus.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (26. April 2017 um 11:53)

Jetzt mitmachen!

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