Technologie
Menschen Wissenschaft Politik Mystery Kriminalfälle Spiritualität Verschwörungen Technologie Ufologie Natur Umfragen Unterhaltung
weitere Rubriken
PhilosophieTräumeOrteEsoterikLiteraturAstronomieHelpdeskGruppenGamingFilmeMusikClashVerbesserungenAllmysteryEnglish
Diskussions-Übersichten
BesuchtTeilgenommenAlleNeueGeschlossenLesenswertSchlüsselwörter
Schiebe oft benutzte Tabs in die Navigationsleiste (zurücksetzen).

SmartRefrigerator

57 Beiträge ▪ Schlüsselwörter: Software, C, Kühlschrank ▪ Abonnieren: Feed E-Mail

SmartRefrigerator

26.11.2016 um 14:37
@O.G.

Hol dir nen Scanner :) Das alles selbst zu machen mit OpenCv oder so ist extrem aufwendig
und rechenintensiv. Das ist in einem entsprechenden Scanner alles schon integriert und ent-
sprechend performant.
Daher fragte ich auch wie du das mit der WebCam machen willst, weil die liefert dir ja nur stumpf
ein Bild vom QR-Code bzw. dem EAN-Code. Dieses müsstest du ja dann erstmal selbst verarbeiten,
sprich die an die Information im Code kommen und das wiederum ist aufwändig.


melden

SmartRefrigerator

26.11.2016 um 15:03
@ArnoNyhm

1) Bild vom Live Stream machen
2) Nur die Bild infos aus dem Maske nutzen ( eingerahmter bereich )
3) | 4) Bild in SW - Umwandeln
4) | 3) Daten in eine Color matrix schieben
5) Pixel zählen ( Schwarze & Weisse )

6) in ein Int Arry

7) Die daten zum Decoder schieben


melden

SmartRefrigerator

30.11.2016 um 10:56
[ Update]

Das mit der EAN Erkennung mittels webcam geht sehr sehr sehr schlecht !

1. Meine Cam hat keine Autofocus
2. Das Licht muss perfekt sein.
3. bei "unsauberen" EAN geht es nicht.

ABER ist alles wirklich alles Optimal dann geht es.
Ablage unter -> Funzt unter laborbedingungen <-

----------------
Mal schaun ob ich über Ebay eine Laser 2D EAN Scanner schiessen kann.

Zur Hardware ( bekomm ich in 3-4 Tagen )

10,1 Zoll Touch Screen Display
-> 1024x600 Auflösung ( HDMI-Schnittstelle )
-> Kapazitive Touch-Steuerung (über USB)
-> Mehrsprachen OSD-Menü: Energieverwaltung, Helligkeit/Kontrast etc.

NFC Erweiterung - Modul
RasClock Echtzeituhr RTC Modul [+]
Serieller UART Port


[+]
Keine Time-Server abfrage, schon mal einen angriffspunkt weniger.
Keine Offenen Ports für TimeServer.
Gut Ich könnte auch die Ports dynamisch schalten würde aber bei MITM-Angriff nichts bringen.


melden

SmartRefrigerator

01.12.2016 um 15:05
@O.G.
Wie löst Du das Problem:
- nicht verpackte Lebensmittel und
- Öffnungszeitpunkt verpackter Lebensmittel (also wenn die Milchtüte geöffnet wurde)

Diese beiden Punkte betreffen wahrscheinlich die Mehrzahl der sich im Kühlschrank befindlichen Lebensmittel, jedenfalls wenn Du ein "verbrauchen bis" implementieren möchtest.

Wenn Du nur den Kühlschrank inventarisieren möchtest, fällt der zweite Punkt weg. Aber dann hast du eben noch das Problem mit Obst und Gemüse und mit allen anderen Lebensmitteln, die nicht industriell verpackt sind.

Je nach Essgewohnheit dürfte das einen erheblichen Teil des Kühlschrankinhalts ausmachen.
Wenn ich mir meinen Kühlschrank so an sehe, ist außer Senf und mancher Marmelade, Saft Joghurt und manchmal der Milch nicht viel übrig, was einen Barcode hat.


1x zitiertmelden

SmartRefrigerator

01.12.2016 um 16:00
@kleinundgrün
Zitat von kleinundgrünkleinundgrün schrieb:- Öffnungszeitpunkt verpackter Lebensmittel (also wenn die Milchtüte geöffnet wurde)
Das ist aber auch nicht Zu verbrauchen bis, Menschliche sensorik

Bei Milch Öffung +3 Tage

Wurst ( außer salamie & Räucherwerk ) +5 Tage. MHD , gibt keien ZVB
Bei Fleisch:
Rind +3 bis +4 Tage --> ( Kein HACK, selber tage oder +1 = ZVB)
Schwein +1 bis +2 Tage MAX ( kein HACK, selber Tag = ZVB ) -> Darf nicht im "Saft" liegen, Trocken
Geflügel +1 Darf nicht im "Saft" liegen, Trocken = ZVB
Fisch +1 ( Ausser Räucher fisch ) = ZVB


Obst und Gemüse: Wird schwer, denn bei mir hat sich ein eisbergsalat 10 tage geahlten! Ohne das er Gammelig wurde.
bei eine Kumpl wurde der schon nach 3 tagen Gammelig !

Viel Gemüse und Obs sahen kommen ja auch nicht im KS.

Pilze, Tomaten, Paprika, Kartoffeln, ( zwiebeln, FZ ) Knobie, gehört ja nicht im KS.
Brokolie, Blumenkohl, +3 bis +4 tage
sellerie, karotten +5 tage

-----------------------
Zitat von kleinundgrünkleinundgrün schrieb:Wenn ich mir meinen Kühlschrank so an sehe, ist außer Senf und mancher Marmelade, Saft Joghurt und manchmal der Milch nicht viel übrig, was einen Barcode hat.
Da braucht man es nicht "", Denn senf wird nicht kapput wenn man aufpasst!
Marmelade hat so viel zucker das gleiche wie beim senf wenn man es mit dem löffel raus holt und aufpast das nicht an den löffel kommt.
Passiert nichts.

Joghurt aufmachen und testen ich ess auch Joghurt der 1 monat drüber ist.
der der hält sich ja seh sehr lange !!

Milch ist schon kniffliger +3 dann weg, vor allem bei H-milch man mehrt nicht das die im A. ist.


Ich würde da eine Funktion einbauen warnung ist über MHD.
Das heist aber noch lange nicht das es im Eimer ist !

Aber um mich abzusicher muss jeder die Funktion für die jeweiligen lebensmittel separat aktivieren.

Hat es keien EAN Code wird es über die bezeichnung archiviert. -> Muss ich noch besser ausarbeiten


melden

SmartRefrigerator

01.12.2016 um 22:22
Wenn es schon nötig ist, das Mindesthaltbarkeitsdatum einzugeben, dann könnte es wenigstens ein paar Tasten wie "Monat" oder "Jahr" geben, so dass ich nicht für jedes einzelne Lebensmittel "Februar" bzw. "02" "2018" eintippen müsste, sondern wenigstens nur Taste "Februar" und Taste "aktuelles Jahr + 1" bzw. "aktuelles Jahr + 2". Ich hätte nämlich keine Lust, nach dem Einkaufen für jedes Lebensmittel lange Datensätze einzugeben. Und andere Leute sicher auch nicht. Was für die Kunden aber zu mühsam ist, verkauft sich nicht.

Auch eine Waage an einer bestimmten Stelle wäre nicht schlecht. Man müsste dann nicht extra das Gewicht eingeben, sondern könnte es beim Einlegen in den Kühlschrank direkt bestimmen lassen. Wenn man dann einen Joghurt anbricht, aber nur einen Teil davon isst, müsste es eine Taste für "Produkt angebrochen" geben. Also: Ich esse von einer 150 g-Packung Joghurt 100 g und stelle ihn wieder in den Kühlschrank. Ich stelle ihn kurz auf die Waage, lasse den Joghurt-Barcode einlesen, tippe auf die Taste "angebrochen", und der Kühlschrankcomputer weiß dann, dass einer der 150 g-Joghurts aus dem Kühlschrank angebrochen wurde und jetzt das Gewicht "50 g" hat. Das müsste wenigstens möglich sein, um für den Verbraucher irgendeinen Nutzen zu bringen.

Die Waage sollte sich außen am Kühlschrank befinden, damit die Tür nicht für das Wiegen so lange offen bleiben muss und unnötig Energie verbraucht wird.

Weiter sollte der Kühlschrank Rezeptvorschläge machen, zumindest, wenn einige Lebensmittel drin sind, die bald verbraucht werden müssen. Diese Rezeptvorschläge sollten sich natürlich vom Benutzer verändern lassen, damit nicht nur Rezepte vorgeschlagen werden, die ich nie machen würde, weil mir die Gerichte nicht schmecken. Stattdessen wäre es schön, wenn der Kühlschrank mir sagen würde, ob für den Apfelkuchen, den ich backen will, noch genügend Butter und Eier da sind. Selbstverständlich müsste das Rezept bzw. der Computer berücksichtigen, ob ich nur für mich allein, nur für meine 5-köpfige Familie oder für eine Feier mit 20 Personen kochen möchte. Es wäre also nützlich, die Anzahl der Personen eingeben zu können.

Da ja nicht alle Lebensmittel im Kühlschrank gelagert werden (ich bewahre zum Beispiel meine Äpfel und mein Mehl nicht dort auf), müsste man zusätzlich Daten dieser Lebensmittel eintragen können, damit der Computer, wenn ich etwas bestimmtes kochen will, auch die Zutaten überprüft, die nicht in den Kühlschrank gehören. Das aber würde voraussetzen, dass ich als Benutzer jedes Mal eine Eintragung mache, wenn ich beispielsweise einen Apfel esse. Was sicher die wenigsten tun würden.
Mir entschließt sich darum der Nutzen für den Kunden nicht so ganz.Jedenfalls nicht für den Privatkunden.

Anders mag das in Großküchen sein, wo ein "intelligenter Kühlschrank" sicher eine Arbeitserleichterung sein könnte. Der sollte dann aber auch noch über das Internet Preise aus verschiedenen Supermärkten (oder Großmärkten, je nachdem, wo die Küche einkauft), abrufen können, um dem Koch die günstigste Einkaufsstrategie vorzuschlagen.


Wie soll der Kühlschrank eigentlich unverpackte Lebensmittel wie eine Gurke erkennen? Und was ist mit Reste-Essen, das zum Beispiel ich sehr gerne für den nächsten Tag in den Kühlschrank stelle und das sich gewöhnlich aus unterschiedlichen Zutaten zusammensetzt? Muss ich da doch noch selber aufpassen?


melden

SmartRefrigerator

02.12.2016 um 09:48
Vielleicht könnte man aber auch die Lebensmittelindustrie dazu überreden, Mindesthaltbarkeitsdatum und Anfangsgewicht in den Barcode zu integrieren. Dann bräuchte ich die Lebensmittel nach dem Kauf nur kurz einzulesen, und wenn ich etwas entnommen hätte, würde es reichen, den Code wieder einzulesen und zusätzlich die Waage zu betätigen, damit der Kühlschrankcomputer erkennt, dass das Gewicht abgenommen hat.


melden

SmartRefrigerator

02.12.2016 um 09:59
@AlteTante
Vielleicht könnte man aber auch die Lebensmittelindustrie dazu überreden, Mindesthaltbarkeitsdatum und Anfangsgewicht in den Barcode zu integrieren.
...
damit der Kühlschrankcomputer erkennt, dass das Gewicht abgenommen hat.
Dadurch muß der Computer dann aber auch gleichzeitig "wissen", das das MHD nicht mehr gilt. Denn dieses gilt ja nur für unangebrochene Lebensmittel. Sprich: er muß wissen, das z.B. Fleischsalat, nach dem Anbruch, nicht so lange haltbar ist, wie beispielsweise der Becher Margarine.


melden

SmartRefrigerator

02.12.2016 um 10:16
@Micha007
Da der Computer ja durch den Barcode weiß, um welches Lebensmittel es sich handelt, und durch den Gewichtsunterschied auch, dass und wann (ich gehe davon aus, dass er eine Uhr mit Datum hat) das Lebensmitttel angebrochen wurde, könnte es dafür bestimmte Rechenprogramme geben, damit der Kühlschrank rechtzeitig Bescheid sagt, wenn der Rest Sahne unbedingt verbraucht oder entsorgt werden sollte.
Wirklich feststellen, ob ein Produkt z.B. schon zu schimmeln beginnt, kann er ja sowieso nicht.


melden

SmartRefrigerator

02.12.2016 um 20:25
@AlteTante
Es ist leider vom Aufwand her nicht möglich das Mhd im Barcode mit zu führen.
Der Barcode ist nur eine Referenznummer mit der man in einer Datenbank nachschauen
kann um was es sich bei dem Objekt handelt.
Daher beschreibt dieser Datenbankeintrag das Produkt im allgemeinen und enthält keine
Informationen zu der spezifischen Instanz des Objektes das du gekauft hast.
Würde man zum Beispiel das Mhd integrieren müsste da ein Eintrag für jedes !!! Objekt sein
das produziert wurde => leider nicht machbar.

Eine Möglichkeit wäre es aber die Verpackungen mit einem RFID-Chip auszustatten und schon bei
der Herstellung wichtige Informationen wie das Mhd mit zu geben. Kleine RFID-Chips kosten nahezu nichts
und haben trotzdem ausreichend Speicherplatz für ein paar hundert Zeichen.
Wenn ich mich richtig erinnere war sowas sogar mal im Gespräch, kann aber auch in irgend nem SciFi-Film
gewesen sein :) Denke aber die Industrie wird sich wehren, weil auch wenn der Chip nicht die Welt kosten würde,
es entstehen natürlich Mehrkosten für den Hersteller.


1x zitiertmelden

SmartRefrigerator

05.12.2016 um 22:28
Ok,
die ganze scheisse auf dem PI zu laufen zu bringen ist etwas hefig.

Edit:
Da ich kein Windows 10 hab kann ich auch kein Win10 IoT zu PI schicken / Installieren.

Und mit Noobs und .net würde es nicht Funzen wegen:

using System.Windows;


melden

SmartRefrigerator

05.12.2016 um 23:59
Zitat von ArnoNyhmArnoNyhm schrieb am 02.12.2016:Denke aber die Industrie wird sich wehren, weil auch wenn der Chip nicht die Welt kosten würde, es entstehen natürlich Mehrkosten für den Hersteller.
https://www.youtube.com/watch?v=eob532iEpqk (Video: IBM RFID Commercial - The Future Market)

Youtube: Introducing Amazon Go and the world’s most advanced shopping technology
Introducing Amazon Go and the world’s most advanced shopping technology
Externer Inhalt
Durch das Abspielen werden Daten an Youtube übermittelt und ggf. Cookies gesetzt.



melden

SmartRefrigerator

06.12.2016 um 08:04
@O.G.
Ich hatte dich ja schon gewarnt, dass das mit der Migration wahrscheinlich
nicht so einfach gehen wird. ehrlich gesagt hätte es mich sogar gewundert,
wenn das auf Anhieb Problemlos geklappt hätte.

Nutz einfach .Net Core, das läuft auch unter Linux, deinen Code zu migrieren
dürfte kein Problem sein, der Code ist zu 90% identisch.

Für was nutzt du den das Zeug aus System.Windows ?
Es gibt bei .Net Core sicher auch sowas wie System.OS oder so. Halt OS neutral.

@kalamari
Erstmal danke, ganz nett zu sehen, dass es da Bestrebungen gibt.
Aber nur weil IBM nen futuristischen Werbespott dreht und Amazon irgendwo nen
"Test"-Supermarkt eröffnet hat, heißt das leider noch lange nicht, dass das auch bald
bei uns ankommt.

Ich warte auch immer noch sehnlichst auf diese coolen "Lieferdrohnen", die Amazon jetzt
schon ein paar Dutzend mal getestet hat.


1x zitiertmelden

SmartRefrigerator

06.12.2016 um 08:23
Definiere "bald" ...

Oder denkst du wirklich, nur weil Amazon die Technologie für die Lieferdrohnen besitzt können sie einfach so in Deutschland eingesetzt werden?


melden

SmartRefrigerator

07.12.2016 um 11:46
@ArnoNyhm
Zitat von ArnoNyhmArnoNyhm schrieb:Für was nutzt du den das Zeug aus System.Windows ?
Es gibt bei .Net Core sicher auch sowas wie System.OS oder so. Halt OS neutral.
Was mir auf anhieb einfällt:

Eigenschaften:

DialogResult ( Return wert vom Messagebox )
FontFamily, FontSize, FontStretch, FontStyle, FontWeight
IsMouseDirectlyOver, IsMouseOver,
Icon, Style, Resources

Methoden:

OnClosed(EventArgs)
OnClosing(CancelEventArgs)

ToString()

---------------------------------

System.Windows.Forms;

Alles UI sachen, Buttons usw...
Vor allem das verwende ich -> flowLayoutPanel

-----------------------------------

Und noch sehr viel mehr was ich jetzt nicht weiss ....

Aber hir -> https://msdn.microsoft.com/de-de/library/system.windows.window(v=vs.110).aspx (Archiv-Version vom 01.01.2015)


melden

SmartRefrigerator

07.12.2016 um 19:47
Ja das ist alles Forms Zeugs ...
Ich mag Forms überhaupt nicht, es ist eigentlich
auch längst deprecated ... WPF ist momentan aktuell.

Das wirst alles nicht in neuerem Zeug finden.

Aber zumindest toString() zählt nicht dazu, das ist von Object vererbt,
die Methode hat jede C#-Klasse. Der Rest sind 0815-Standard GUI Properties/Eventhandler.
Nimm einfach was anderes für die GUI, Forms mag am einfachsten sein, aber es ist auch alt
und wird nicht mehr weiter entwickelt.


melden

SmartRefrigerator

07.12.2016 um 19:53
@ArnoNyhm
Mit WPF hab ich noch nie was gemacht...
genau so wie XML.
Die meinsten "Dienste im Internet" ( EAN, Wetter, usw... ) liefern die daten über XML scheisse.


Dann muss ich mich al in WPF einarbeiten,
Ich Arbeite ja mit -> Microsoft Visual C# 2010 Express
Hab aber auch ->Visual Studio 2015 drauf und muss sagen das layout ist scheisse.
Und mit Blend for Visual Studio 2015 hab ich noch nichts gemacht weil ich keine Bock auf WPF hab...


melden

SmartRefrigerator

07.12.2016 um 22:04
Leider gibt es keine wirkliche GUI-Alternative im .Net. WPF ist leider
etwas abstrakter als Forms und daher schwerer zu lernen.

Blend brauchst du nicht das ist für Designer damit die klicki-klicki
machen können und bloß nix programmieren müssen. Alles was du
in Blend machen kannst kannst du auch mit Code machen.

Und XML lernen schadet nichts, das ist eh allgegenwärtig.
Btw. musst das nicht mal lernen, da gibt es schon fertig Parser,
die dir das XML automatisiert übersetzen.


melden

SmartRefrigerator

07.12.2016 um 22:37
@ArnoNyhm
OK,
Ich hab gerade Win10 64Bit pro bekommen. ( kumpl )
Morgen Hau ich das auf meine zweite SSD.
Dann Installier ich mir erst mal Win10 IoT auf meine PI.

Dann schau ich mal wie es mit .Net funzt. :)

Denn das mit den Linux (Raspbian) geht mir auf die Eier:

1. Das Auto-mounting script geht nicht muss alles mit der hand machen, gut sind nur 4 zeilen aber es nerft.
2. Die daten konnten nicht gelesen werden. hab zum Testen eine 100MB Video File drauf.
-> der USB stick ist im ( exfat ) Format & hatte 8Gig.

Und da ich eine Cardreader dran machen will hab ich keine Bock das immer Händisch zu mounten.
Bis ich es in meiner App ( programm ) nutzen kann.
Und der "Secure-Daten" austausch will ich nicht über netzwerk machen.
Alle andern daten OK aber alles was mit "Security" zu tun hat nicht , die sollen über eine SD-Karte rein !

Das mit der "Security" ist eine Grundlage für Später ( wenn einmal ) eine erweiterung für "Smart-Home" mit rein kommt.

Bilder kommen gleich


melden

SmartRefrigerator

07.12.2016 um 23:22
@ArnoNyhm

b2a2b5-1481147832Original anzeigen (0,1 MB)
6aa85c-1481147867Original anzeigen (0,2 MB)
64039f-1481147899Original anzeigen (0,2 MB)
40e578-1481147930Original anzeigen (0,3 MB)

USB-Mudul:
Ist schon sehr alt, muss schau ob es funzt bei C#, wenn es funzt ist es einen "Sicherheitssystem"
Denn wenn es eine fehler gibt würde nur das Board abrauchen und nicht der PI.
Und ich kann mit diesem Board Hardware test´s machen.
Über die Keys die auf dem Board sind.
• 5 digitale Eingänge (0= GND, 1= offen) (Test-Tasten auf der Platine)
• 2 analoge Eingänge mit Option für Dämpfung und Verstärkung (interner Test +5V vorgesehen)
• 8 digitale Ausgangsschalter mit offenem Kollektor (max. 50V/100mA) (LED-Anzeige auf der Platine)
• 2 analoge Ausgänge:
• 0 bis 5V, Ausgangswiderstand 1K5
• PWM 0 bis 100% 'offener Kollektor'-Ausgang max. 100mA / 40V (LED-Anzeige auf der Platine)
• allgemeine Konvertierungszeit: 20ms pro Befehl
• Stromversorgung über USB: ungefähr 70mA
• Abmessungen: 145 x 88 x 20mm
Der AT-Mega ist nur eine überlegung könnte aber über I²C mit dem PI verbunden werden.
Eingänge / Ausgänge
8 Analogeingänge / 6 mit je 8 Pins, 1 mit 5 Pins Digital I/Os
Arbeitsspeicher: 4 kB
Flash-Speicher: 80 kB
Programm-Speicher: 80 kB
Schnittstellen: RS 232
Stromaufnahme: 20 mA
Programmiersprache: C / BASIC
Typ: Mega 128
Breite: 41 mm
Länge: 41 mm
Höhe: 12 mm
Anzahl I/O: 53
Betriebsspannung: 5 V/DC
Prozessor: Atmega128
Schnittstellen: RS‑232
Anzahl analoge Eingänge: 8
Da muss ich jetzt überlegen ob ich über das USB-Board oder über den 128 eine porterweiterung Plan.
Ich muss das jetzt schon Planen wegen der DLL´s die ich Organisieren muss.


melden