Lebensmittelbestand überwachen

  • Liebe Forer und Forerinnen,

    der Grund meines Themas ist folgender: Ich habe das Gefühl, dass bei vielen Familien die Größe des Lebensmittelbestandes unbekannt ist bzw. der Überblick über die Haltbarkeit der Lebensmittel nicht möglich ist. Und das ist für mich der persönliche Grund etwas dafür zu programmieren/bauen/erstellen. Natürlich gibt es schon einige Beiträge zur Lagerverwaltung, die ich aber nicht durch Ideen wie Kochbücher usw. stören möchte. Falls ich bei einigen Sachen gegen die Foren-Regeln verstoße, möchte ich mich schon jetzt entschuldigen, da ich noch Foren-Einsteiger bin.

    Meine Idee:

    • Überwachung der Nahrungmittel:
      Hierbei würde ich gerne nach dem Einkauf die Produkte kurz per Barcode (Barcodescanner) einlesen und diese in eine Datenbank aufnehmen. Hierbei möchte ich auch zwischen Kathegorien unterscheiden, die demnach die Mindesthaltbarkeitsdaten aufzeigen soll.
    • Erweiterungen:
    • Kochbuch: Hier können vorhandene Produkte und fehlende Produkte eingelesen werden und im gleichen Atemzug in einem Einkaufszettel importiert werden.
    • Alarm: Dieser soll beim Registrieren ausgeführt werden (wenn das Produkt noch nicht in der Datenbank erfasst wurde) und wenn sich ein Produkt seiner Ablaufzeit nähert (ca. 5 Tage davor oder ähnliches)
    • Fernzugriff: Eventuell auch bestimmte Funktionen, wie Kochbücher... auch unterwegs einsehen.

    Um Ideen, Vorschläge beziehungsweise Hilfe würde ich mich sehr freuen, um dieses Projekt zu realisieren.

    Noch kurz über mich:
    Ich besitze den Raspberry Pi 3. Über Linux habe ich Anfängerkenntnisse (Habe schon einen Einblick in der Schule bekommen). Habe mich außerdem mit Datenbank und PHP/HTML befasst, daher schon ein wenig Erfahrung.

    Vielen Dank

    Grüße Matze


    PS: Natürlich ist mir bewusst, dass ich für dein einen oder anderen noch einiges an Informationen fehlen. Ich möchte aber nicht einen Roman als Beitrag verfassen, daher nur einmal die Grundlegenden Ideen :) .

  • nette Idee und die will ich dir nicht schlechtreden, nun meine Anmerkung:

    Die Gurken in meinem Kühlschrank haben keinen Barcode! genausowenig wie dir Rispentomaten!
    Die Melone ist auch ohne Barcode sauer geworden, bei Gemüse oder Fischkonserven interessiert mich das Datum weniger weil die i.d.R. nie ablaufen, nur das Gesetz schreibt neuerdings immer MHD vor.

    Und dann noch das einscannen, ich vergesse ja sogar schon die Einkaufszettel zu Hause und die Zeit fehlt eh immer, da soll man noch einen PI für LEbensmittel mit Scanner Software am Leben halten? Reglmäßig backups machen und noch einige Karten auf Vorrat kaufen?

    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)

  • Naja da hast du durchaus recht, ich denke halt dass man gerade Gemüse oder Obst manuell hinzufügen kann durch das draufklicken auf Bilder oder ähnliches, und das Scannen geht ja im Grund genommen schnell :) aber danke für deine Antwort, die Problematik ist auf jeden Fall notiert. Dennoch möchte ich von meinem Problem nicht ablassen ;).


    Gesendet von meinem PLK-L01 mit Tapatalk

  • ich hatte sowas mal beruflich gemacht, Barcodescanner war schnell gekauft, die Datenbank zusammen gestrickt und alles lief rund aber.....

    Es ging um Baugruppen die fehlerfrei aus der Fertigung kamen und im Endtest in der Klimakammer versagten, die wurden in der Fertigung reklamiert und kamen von da als OK wieder zum Endtest in die Klimakammer.
    Irgenwann meldete die Endmontage sie können nicht genug Baugruppenrahmen ausliefern weil Baugruppen fehlten.
    Wie das ?
    Es wurde festgestellt das einige Baugruppen mehrmals die Runde zwischen Fertigung und Endtest drehten!

    Also wurde ich gerufen um dem Treiben mit Baugruppenerfassung ein Ende zu bereiten, wie gesagt alles klappte, nur wer bezahlt die Verschrottung der Baugruppen?

    Die Fertigung beharrte darauf sie haben nach ICT Prufung fehlerfrei geliefert, also bezahlen sie die Verschrottung nicht.
    Der Endtest meinte aber die Baugruppen kämen nicht fehlerfrei weil sie in der Klimakammer ausfallen!

    Wer den Streit gewonnen hat und wer die Baugruppen bezahlen musste habe ich nie erfahren! Die Fa. hat alles geschlossen!

    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)

  • Das zusätzliche Erfassen würde mich auch stören. Evtl kann man das umgehen indem man den Kassenzettel einfach einliest, beim Einkaufen mit dem Smartphone bereits scant oder am besten wäre eine Produkterkennung über eine Kamera. Das MDH mit Texterkennung einlesen wäre auch ideal. Bei Frischware bleibt ja fast nur die manuelle Eingabe mit pauschalem MDH.

    Gute Idee... ich warte gespannt auf den Code [emoji51]

  • @matze auch ich halte dein Projekt fuer wenig sinnvoll, aber das muss ich auch nicht - ist ja deins. Nur wirst du hier mit einer solch allgemeinen Frage auch nicht wirklich etwas sinnvolles als Antwort bekommen. Fang an, zeig etwas, wenn du konkrete Probleme hast, frag nach.

    Das der PI (oder jeder andere Rechner mit USB-Anschluss) in der Lage ist, das zu machen, ist klar - und das scheinst du auch zu wissen.
    Automatisch zusammengefügt:
    Ach, noch ein Nachtrag: http://www.pyimagesearch.com/2014/11/24/det…-python-opencv/. Statt barcode Scanner. Wenn du richtig rocken willst, erkennst du auch noch das Verfallsdatum :D

  • Für das MHD habe ich mir gedacht, die Produkte in Kathegorien einzuteilen.

    Zum Beispiel:
    Frischkäse hat ja meist das gleiche Ablaifdatum egal welcher Marke es angehört.

    florian:
    Das mit dem Einkaufszettel kam mir auch schon in den Kopf, nur bräuchte ich dafür ein Texterkennungsprpgramm und ich weiß nicht ob es dafür ein größer aufwand ist....

  • Das Frischkaese ungefaehr gleich haltbar ist mag ja sein - aber ob die konkrete Packung nun bei deinem Supermarkt schon seit 2 Monaten im Regal liegt, oder erst seit 2 Stunden - das kann dein Programm ja nicht so einfach erraten.

    Mir ist bei deinem Konzept aber noch voellig unklar was denn passieren soll, nachdem man ein Lebensmittel korrekt eingegeben hat (wie auch immer das passiert).

    Denn was habe ich denn davon, wenn nach 2 Wochen der Alarm klingelt, dass die Milch sauer ist - wenn die schon bis dahin lange getrunken ist? Muss man dann nicht auch noch alles muehseligst ausloggen aus dem System? Spaetestens da wirst du Null Verstaendnis ernten - der Schluck Milch zwischendurch oder das naechtliche Butterbrot werden sicher nicht den Aufwand rechtfertigen.

    Macht mich nochmal skeptischer als zuvor...

  • Mhmm das ist allerdings ein guter Gedanke. Mhmm Naja man müsste demnach ja jedes Produkt ausloggen....

    Wäre es eventuell möglich per OpenCv die Produkte einlesen, z.Bsp. Gurken und ein Bestätigungsbutton zum Beispiel, wenn das gesammte Produkt aufgebraucht wurde?

    Ich sehe schon dass es am schwierigsten ist, die Produkte ein und auszulesen....

    Gibt es denn dazu Vorschläge ?

  • Die Industrie versucht das mit RFID-Kennungen, die sie halt an alle Produkte haften will. Dann ist dein Projekt aber eh vorbei, weil dann gibt's das ja schon.

    Und mit OpenCV beliebige Produkte mal so eben erkennen - das klappt nicht. Vor allem nicht in den diversen Zwischenzustaenden, wie zB halb aufgefressene Salami mit Senfanhaftungen (kommt hier regelmaessig vor... *dumdidum*)

    Ich glaube du solltest dir ein anderes Projekt suchen - es findet sich bestimmt was nettes mit aenhlichen Techniken. Eine SMS wenn die Mama das Lieblingseis gekauft hat ist ja auch nicht verkehrt ;)

  • Naja abhängig von der Sprache mit der du es realisieren willst gibt es vielleicht schon eine Bibliothek zur Texterkennung (OCR).

    Nachtrag:
    pytesseract (python)
    tess4j (java)

    Das ausloggen wäre für mich persönlich mit dem automatischen als abgelaufen markieren und kurz darauf löschen erledigt. Verbrauchte Produkte sind meistens einzeln oder kleine Mengen, da zieh ich die leere Packung schnell über den Barcodescanner. Das setzt nur voraus, dass man die Artikel in ablaufender Reihenfolge verbraucht oder nur ein Stück davon kauft. Wenn die Zuordnung aber mit OpenCV und Texterkennung klappt wär das Top.
    Automatisch zusammengefügt:


    Die Industrie versucht das mit RFID-Kennungen, die sie halt an alle Produkte haften will. Dann ist dein Projekt aber eh vorbei, weil dann gibt's das ja schon.

    Und mit OpenCV beliebige Produkte mal so eben erkennen - das klappt nicht. Vor allem nicht in den diversen Zwischenzustaenden, wie zB halb aufgefressene Salami mit Senfanhaftungen (kommt hier regelmaessig vor... *dumdidum*)

    Ich glaube du solltest dir ein anderes Projekt suchen - es findet sich bestimmt was nettes mit aenhlichen Techniken. Eine SMS wenn die Mama das Lieblingseis gekauft hat ist ja auch nicht verkehrt ;)


    Auf der Salamisemmel befindet sich aber auch kein RFID Chip [emoji6] Ich glaube deN überwiegenden Teil der Projekte hier gibt es von der Industrie schon und ich persönlich finde die Idee gut, besser als eine SMS wenn jemand ein Eis kauft. Zwischenzustände sind irrelevant, die kennt der RFID Chip auch nicht. Sonst könnte man alles in passende Behälter mit Sensoren umtopfen. Sinn macht aber nur eine Lagerverwaltung mit dem Status "lagernd" "abgelaufen" "verbraucht" und wenn du möchtest "angebissen". Alles andere wäre beim Stand der Technik zu viel Aufwand. OpenCV soll ja nur ne Gurke von ner Banane unterscheiden, Text und Barcode lokalisieren... dann machen Barcode und Texterkennung den Rest. Dazu muss ich das Produkt nur vor die Kamera halten. Evtl. gehts auch aus dem Gesamtbild vorallem wenn man schon Grunddaten der letzten Einkäufe hat.

    Einmal editiert, zuletzt von florian0285 (13. Juli 2016 um 23:53)

  • Hallo Matze,

    erstmal herzlich Willkommen in unserem Forum!

    Ich gehör(t)e anfänglich auch zu den Skeptikern Deines Projektes und wollte mich da komplett zurückhalten.

    Dann habe ich mich aber gefragt, dass es Dir wahrscheinlich nicht um den Kühlschrank als einziges Lebensmittel-Reservoir gehen wird.

    Wenn ich jetzt etwas größer denke, so in Richtung
    - mehrköpfige Familie
    - Lagerraum im Keller mit einem Lebensmittel-Vorrat, der über mehrere Monate halten soll (wenn er nicht aufgefrischt werden würde)
    dann beginnt das Ganze möglicherweise ganz interessant zu werden.

    Dazu noch ein Feature in der Art
    - Sammlung an Kochrezepten für Gerichte, die in der Familie gern gegessen werden
    - Ein Programm ist vorhanden, das aus dem Lagerbestand heraus die spontane Frage beantworten kann: "Was müssen wir am Freitag einkaufen, damit wir am gesamten Wochenende mit 5 Gästen Gulasch mit Nachtisch X essen können". Dies kann seinen Reiz haben.
    - oder auch: "Was können wir von dem, was da ist und dessen MHD demnächst abläuft, Leckeres kochen, ohne viel nachzukaufen?"

    Dies setzt aber voraus, dass jeder Einkauf eindeutig identifiziert werden kann. Es geht nicht um die Information 10 Gläser Joghurt sind da, sondern es muss darum gehen, Daten zu erfassen und wiederzufinden, dass bei 3 Gläsern das MHD in diesem Monat/Kalenderwoche/Datum abläuft, bei 4 Gläsern im nächsten Monat/.../..., die restlichen 3 im übernächsten Monat/.../... (wobei Ablauf des MHD selten auch einem Verderb gleichkommt).

    Dann müsstest Du meiner Meinung nach die Lebensmittel noch unterscheiden in
    - ohne weitere Behandlung zum Verzehr vorgesehen (z.B. Joghurt)
    - nur zusammen mit mehreren anderen Lebensmitteln zum Verzehr vorgesehen (z.B. Gewürze, das meiste Gemüse)


    Als Programmierübung stelle ich mir das noch recht reizvoll vor.


    Anders sieht es dann mit der Anwendung aus. Das haben die Kollegen hier auch schon angesprochen. Du musst restlos jeden Artikel erfassen - jeden Verbrauch, jeden Verderb ausbuchen. Fühlt sich dazu jemand berufen?


    Dann kann man das Ganze auch erheblich vereinfachen:
    - Wenn es um ein Vorratslager geht, das über mehrere Monate reichen soll, kann man davon ausgehen, dass von N Artikeln ein Bestand da ist, der z.B. für jeweils 10 Familienessen reicht. Andere Artikel sind ebenfalls für 10 Familienessen da und ergeben in Summe einen Vorrat über mehrere Monate.
    - Somit geht es - als Vereinfachung - nicht darum festzuhalten, wieviel ist von allem vorhanden, sondern feststellen zu können, ob ein Mindestbestand vorhanden ist.
    - Angenommen, Du willst, dass von jedem Artikel soviel vorhanden ist, dass er für 5 Familienessen reichen soll, legst Du einen "Merker" ins Regal, der zum Vorschein kommt, wenn dieser frei wählbare Mindestbestand eines Artikels unterschritten wird. Der Merker wandert dann in die Einkaufsliste.
    - Alles neu Eingekaufte wandert hinter den aktuellen Lagerbestand - der Merker kommt an die passende Position.

    Ein solches System erübrigt die peinlich genaue Erfassung / Einbuchung / Ausbuchung. Und es ist auch egal, wenn dem spontanen Appetit mal drei Tafeln Schokolade zum Opfer fallen - solange der Mindestbestand noch nicht unterschritten wurde (ansonsten wird eh wieder aufgefüllt).


    Kurzum: Bevor Du da ein Monstrum aufbaust, dessen Sklave Du werden könntest, würde ich mir genaueste Gedanken über den Ablauf, die Komplexität und den Nutzen machen. Und zwar bevor die erste Hardware angeschafft und die erste Zeile Code geschrieben wurde...

    Und alles zwar Machbare, das aber auf den Widerstand der Nutzer stoßen könnte (oder auch wird), würde ich gar nicht erst umsetzen.


    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 Andreas für Deinen Beitrag. Die Idee mit einem Mindestbestand ist ein guter Gedanke :). Ja für die Planungen mach ich mir sehr viele Gedanken, da ich aus Erfahrung weiß, dass das gedankenlose Programmieren in vielen Fällen für die Katz ist....

  • Also beim EDEKA hat alles nen Barcode, außer Stückobst und das ist nicht sonderlich viel. Bei den Abwiegesachen musst Du selbst einen draufpappen aber da macht Dir wohl das unterschiedliche Gewicht einen Strich durch die Rechnung.
    Ab und zu mal in den Kühlschrank riechen dürfte stressfreier sein.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

Jetzt mitmachen!

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