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

17.11.2016 um 21:30
Sers ich wollte von euch wissen was ihr davon haltet und was man noch einbaun* konnte.
( Software )

Ich schreib in c# eine anwendung die auf eine Rasperry PI 3B unter Win10 arbeitet.


Hauptaufgabe(n) bis Jetzt:

1.) Übersicht über Lebensmittel Kühlschrank.
-> Anzahl ( Info bei X. Minimum )
-> annäherung an MHD ( Info )
-> annäherung an !! Zu verbaruchen bis !! ( Info , Warung bei überschreitung )
-> Hinzufügen von Lebensmittel über EAN /( EAN - Scanner -> 22,00€ USB )
-> "verbrauchte Lebensmittel" auf Liste setzten, diese kann gefrückt werden*

2.) Abfrage von -> Lebensmittelwarnung <-
-> 3 mal täglich ( 6Uhr, 14uhr, 22Uhr) oder X. ?
!! Das ist in Arbeit !! anfrage an LMW über API zugriff !!

3.) Abfrage von Wetter Info 3Tage ( Planung )
-> Abfrage von Wetter über PLZ / geo Info

4.) Webradio**

*
Netzwerdrucker

**
Da ich den PI3 erst in 30Tagen bekomme , Arbeite ich mehr oder weniger Blind
Alles über die Technik specs, hab ich keine Plan öb die Externe Lib auf der abgespeckten Win10 läuft.

In Software "Grundlagen" für die Kommunikation über UART / I²C Bus einbinden,
Eftl für erweiterung *Smart Home*

-> Sensoren -> Thermometer usw....
-> Aktoren -> ???

Bilder von V0.0.2
-> kein Grafik schnick schnack , es soll nur funzen.

3b7af6-1479414765
2b9ab2-1479414830

MFG O.G.


1x zitiertmelden

SmartRefrigerator

18.11.2016 um 06:52
Der Kühlschrank ist eine sehr gute Idee, welcher die Daten der Lebensmittel abrufen kann. Da frage ich mich nur warum nicht schon längst die Lebensmittel Verpackung ein NFC Chip hat.

Nicht nur für solchen Einsatzzweck sehr gut, auch für die Lager Koordination sehr praktisch also bem Hersteller und Händler im Geschäft. So ein NFC kostet ja nichts in der Masse. Die 2 Cent die ich für meine Pizza mehr zahle währe mir egal.

Zu wissen was für ein Bestand der Kühlschrank und welche MHD die Lebensmittel haben ist gut, was schwieriger wird ist die Übersicht wie weit abgebrochene Sachen schon aufgebraucht sind um sie beim nächsten Einkauf mit einzuplanen.


melden

SmartRefrigerator

18.11.2016 um 09:29
Es geht nicht nur um den Chip, es geht um das ganze System

Bis vor dem Endverbraucher geht es eh nur um Chargen.

Meiner Meinung nach auch eine Etwas übertriebene Tracing und Tracking bzgl des Heimischen Kühlschrankes.

Als Idee sicherlich nett, btw sollte der Vernetzte Kühlschrank nicht eh kommen.

Das mit dem Status eines eigenen Produktes bzgl verbrauch ist schon Schwieriger, da brauchst du schon wieder mehr Sensoren.


melden

SmartRefrigerator

18.11.2016 um 10:35
Sehr ambitioniertes Projekt, finde ich cool.

Wird dann deine .Net-Anwedung auf dem RPi laufen ?
Ich wollte dich eigentlich fragen wie du .Net unter Linux nutzen willst
(Mono oder DotNet Core), aber eine kurze Google-Suche hat ergeben,
dass es ne Windows Version für den RPi3 geben wird.

Nichts desto trotz würde ich mir alternativen offen halten, ich glaube
nicht dass dort alles auf Anhieb laufen wird, wie unter Desktop-Windows.
DotNet Core nutze ich grade selbst bei einem Hobby Projekt und ich bin
erstaunt, soweit läuft alles fehlerfrei unter Linux läuft.
Falls du das noch nicht kennst, dass ist die neuste Version des .Net und
die ist Systemunabhängig und läuft daher auch unter Linux.

Was sich mir aus deinem Text aber leider absolut nicht erschließt ist, wie du
das technisch realisieren willst ?
Also wie kommt der RPi an die Daten der Lebensmittel im Kühlschrank ?
Willst du jedes Produkt von Hand einscannen ? Wie kommst du an ne Datenbank
mit den Bar-Codes ? Oder willst du jedes Produkt von Hand eintragen ?

Ok eigentlich würde mir auf Anhieb noch einiges mehr einfallen, aber ich denke
das sollte für den Anfang erst mal mehr als genug sein.
Aber wie gesagt, sehr cooles Projekt, wenn auch sehr aufwendig :)


melden

SmartRefrigerator

18.11.2016 um 16:11
@O.G.

Hab eigentlich diesselbe Frage?

Wie soll denn die Eingabe laufen wenn ich was da reintuhe?
Manuell eintippen?
Wäre cool wenn man den Barcode einscannen könnte da bräuchtest aber ne Riesen Datenbank.
Ander Möglichkeit wäre ne fertige Datenbank mit einer Übersicht. Also Getränke, Fleisch, Gempfehlen etc...
Wenn ich dann z.B ein M eingebe kommt automatisch ne Auswahl zur Autovervollständigung..
da würde dann z.B bei M Milch oder Mayonnaise aufploppen dann noch Anzahl und eventuell Fach eingeben...
Also wenn es net schneller geht als einach reinzuschauen dann lohnt sich net.

Eine Warnfunktion wegen Haltbarkeit und Menge wäre toll.

An anderen Gimmicks reicht eigentlich ein Termometer und eventuell ganz interessant der aktuelle Stromverbrauch. Temperaturanpssung und Vorschläge in Abhängigkeit von der Menge der Lebensmittel im Kühlschrank wäre auch ne nette Idee.

Zum Bestellen gibts ja genug anbieter. Da müsteht man eventuell bei den jeweiligen Supermärkten anfragen. DAnn könntest du aktuelle Angebote mit einbringen.


1x zitiertmelden

SmartRefrigerator

18.11.2016 um 22:44
Hm hab aus Interesse am Scannen und Identifizieren von BarCodes mal ein
wenig Internetrecherche betrieben.
Es gibt durch aus einige Web API´s die einem Informationen zu einem BarCode
bereit stellen, so etwas wie eine globale, "allumfassende" BarCode-Datenbank
scheint leider nicht zu existieren.

Hier mal ein Link wo einige API´s genannt werden: BarCode-API´s

Denke mal Standard-Produkte aus dem Supermarkt sollten eigentlich in jeder Datenbank
zu finden sein. Das Einscannen der Codes sollte sehr viel angenehmer sein, als alles
von Hand einzutragen.


melden

SmartRefrigerator

20.11.2016 um 03:18
@Schdaiff
Zitat von SchdaiffSchdaiff schrieb:Wie soll denn die Eingabe laufen wenn ich was da reintuhe?
Manuell eintippen?
Wäre cool wenn man den Barcode einscannen könnte da bräuchtest aber ne Riesen Datenbank.
.
Bis jetzt ist es Manuell, ich will es aber auf eine USB-EAN Sacnner erweiter, aber man muss trotzdem gewisse daten per Hand eingeben.
Und ja ich hab mich nah einer datenbank umgesehn NUR die ist nicht für Private.
Ich kann aber per testzugang drauf nur der ist öffentlich und wenn die zahl der abfrufe erreicht ist geht es nicht mehr.
ich hab es so abgefragt:

Str_EAN -> Kommt die EAN nummer rein
Str_ID -> User ID, PS für geschaftsläute kostet der zugang 150€ pro Monat !!!

------------------------------
Ablauf EAN eingabe:
Produktname
Produktimfo z.b. ( 150g oder 3,5% 500ml ) ist jeden selber überlassen.
MHD / Verbrauch biss ( bei Verbrauch bis muss nach dem datum noch eine Extra Taste gedrückt werden
Anzahl
Kategorien über ein Pulldown menüe
------------------------------

So jetzt kommt es ist es schon drin in der Localen datenbank muss nur noch MDH / Verbrauch bis & Anzahl rein.

Wenn man ein Bild haben will zum prdukt muss man es über eine SD karte nachladen.
Eftl Planung über das netzwerk so könnte man es am PC machen.
Fals ich das umsetzte braucht man ein Extra Programm für verschlüsselte kommunikation. Und nur die Erlaubten PC können sich verbinden. -> Pairing <-


Könnte ich auf den Online datenbank zugreifen würde es so laufen:
EAN eingabe Check ist in Localer daten = fales -> Online Anfrage = true
Dann muss man nur nach das eingeben was nicht abgefragt werden konnte oder was nicht da ist.

Prozedur von oben nur das daten von Online datenbank eingeschoben werden.
private void Get_EANInfo(string Str_EAN, string Str_ID)
{
string Str_LMWURL = ("http://opengtindb.org/?ean=" + Str_EAN + "&cmd=query&queryid=" + Str_ID);
this.label1.Text = Str_LMWURL; // URL als ganzes
WebRequest WebRequest_Request = WebRequest.Create(Str_LMWURL);
WebRequest_Request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse HttpWebResponse_Response = (HttpWebResponse)WebRequest_Request.GetResponse();
// Ausgabe
this.richTextBox1.AppendText(HttpWebResponse_Response.StatusDescription + "\r"); //RichtextBox
// Stream
Stream Stream_DataStream = HttpWebResponse_Response.GetResponseStream();
StreamReader StreamReade_Reader = new StreamReader(Stream_DataStream);
// Read data
string Str_ResponseFromServer = StreamReade_Reader.ReadToEnd();
this.richTextBox1.AppendText(Str_ResponseFromServer + "\r"); //RichtextBox

// Close
StreamReade_Reader.Close();
Stream_DataStream.Close();
HttpWebResponse_Response.Close();
}
Und das bekomm ich vom server zurück:
OK
error=0
---
asin=
name=Schokoriegel
detailname=Bounty Riegel
vendor=Mars
maincat=S�sswaren, Snacks
subcat=Schokolade
maincatnum=20
subcatnum=7
contents=0
origin=-
descr=
name_en=
detailname_en=
descr_en=
validated=0 %
---
Zitat von SchdaiffSchdaiff schrieb:Ander Möglichkeit wäre ne fertige Datenbank mit einer Übersicht. Also Getränke, Fleisch, Gempfehlen etc..
Ja ich hab kategorien: ->
"Fischprodukte", "Fleischprodukte", "Gemuese", "Getraenke", "Milchprodukte", "Obst", "Sonstiges", "TK - Produkte"
Zitat von SchdaiffSchdaiff schrieb:Termometer
wollte ich machen Ein kleines würfelchen ~10x10x10cm.
Funkmodul + Microcontroler + thermometer + Akku.
Geht nicht:
1. Die Temperatur macht die Akkus alle.
2. Der Kühlschrank schrimt zu gut, ich könnte duch eine "Hack" die leistung vom Funkmodul erhöhen.
Nur dann ist es in DE / EU verboten und der Stromverbrauch erhöht sich um faktor ~7
Und wie sich die Temperatur auf den Microcontroler und Elkos auswirkt. Kann ich nicht sagen. Auf jeden fall nicht gut.

@ArnoNyhm
Die check ich mal aus zZ bin ich im Eimer linke schulte kaputt haltungsschaden 12+ am PC ist nicht gut.
Coden und alle ~4 Stunden ~1 Stunden Zocken dammit das Hirn nich müll schreibt ;)


melden

SmartRefrigerator

20.11.2016 um 11:59
@O.G.
Wenn du code posten willst nutz doch bitte sowas wie Pastebin.
Dadurch wird es für alle einfacher den Code zu lesen => Hier mal dein Code vom letzten Post mit Pastebin.
Btw. zum Code wenn du StreamReader/-Writer oder andere IDisposable Objekte (in .Net sind eigentlich jeglich Reader/Writer Objekte von IDisposable abgeleitet) nutzt, dann nutz doch auch die zugehörige using Direktive, damit ersparst du dir das close() und wichtiger, du vergisst das close() auch nicht versehentlich.

Leider bekommt man ziemlich wenig Informationen über die EAN, ok man hat zumindest mal den Produktnamen und ne
Kategorie. Hätte gedacht man bekommt wenigstens noch das Mindesthaltbarkeitsdatum oder so ... so müsstest du ja immer noch
verdammt viel von Hand eingeben, was das Ganze, zumindest meiner Meinung nach, schrecklich umständlich macht.

Zum Thermometer ... den MicroController und den Akku musst du außerhalb des Kühlschranks lassen, da beide warm werden wenn
sie arbeiten, was im Kühlschrank dann höchstwahrscheinlich zur Bildung von Kondenswasser führt, was wiederum den Controller zerstört.
Ist es nicht einfacher nur den Messfühler des Messinstruments in den Kühlschrank zu bringen ?
Sprich ein kleines Loch an der Außenwand, durch das grade so das Kabel des Messfühlers passt. Dieses natürlich wieder abdichten
sobald das Kabel durch ist.


melden

SmartRefrigerator

20.11.2016 um 12:45
Mal vom Praktischen her gesehen. Das macht doch nur Sinn, wenn man eh immer dieselben 10 bis 30 Lebensmittel im Kühlschrank hat.
Woher soll der Kühlschrank denn wissen, ob ich nicht nach dem Bierschinken vom letzten Einkauf nun lieber italienische Salami haben möchte?
Und dass ich im Winter lieber Möhrengemüse als Eissalat esse, manchmal aber auch Rosenkohl oder Wirsing?
Oder ahnt er, dass mir die Äpfel beim Einkauf nicht gefallen werden und ich stattdessen die Williamsbirnen mitnehme?


2x zitiertmelden

SmartRefrigerator

20.11.2016 um 13:34
@ArnoNyhm
Wenn der µC warm wird verhindert dies Kondenswasser auf demselben, zumal ein kleiner AVR z.b. nicht sonderlich warm wird.
Dennoch ist die Frage wieso Temperatur überwachen und warum den µC in den Kühlschrank. Ok, verstehe weils möglich ist ;)

Eine Durchführung ohne Umbau könnte Kupferlackdraht 0,1mm durch einen manchmal vorhandenen Silikonstöpsel oder unter der Dichtung mit Folienleiter und geringem CU Querschnitt stattfinden z.b. aus alten Tintenstrahlern.

Auch könnte man mal checken wie die Durchführung der Versorgung der Belechtung und Schalter im Kühlschrank geregelt ist.
Evtl. ist sie nicht verschäumt sondern auch nur mit Stopseln abgedichtet.



@O.G.
"Kälte" von +6°C macht nichts (im Rahmen einer ausgedehnten Bastelaktion). Nur sehr niedrige Temperaturen unter dem Gefrierpunkt oder große Schwankungen wirken sich schnell negativ aus.
Praxis:
Wochenlanger Betrieb bei -15°C hat bei einem 8051 ohne weitere Maßnahmen also mit nackter Schaltung im heimischen eisfach keine Probleme gezeigt.

Wikipedia: Highly accelerated stress test
Hier wird mit HOHEN Temperaturen und Luftfeuchtigkeit gearbeitet.

Trotzdem nervt alles was unnötig im Kühlschrank steht und Elektronik egal ob unbehandelt oder vergossen kein Gesundbrunnen. Daher ist draußen positionieren besser.


2x zitiertmelden

SmartRefrigerator

20.11.2016 um 16:37
@O.G.

Wegen Foto. Was ist mit integrierter Kamera?

Termometer muss ja nicht unbedingt digital sein ^^


melden

SmartRefrigerator

20.11.2016 um 17:10
@ArnoNyhm

Das war nur ein 0815 - Test Code um zu sehn ob ich überhaupt fdaden zurück bekomme. ;)
Die war auch in From1 drin und nich in einer eigen class, was man ja auch nicht macht.
Trennung Progrmmcode von der UI ;)
Das Mindesthaltbarkeitsdatum ist nicht im EAN Code drin , sonst müsten die Läden immer ihre EAN - datenbank aktualisieren.

@geisterfrei
Zitat von geisterfreigeisterfrei schrieb:Woher soll der Kühlschrank denn wissen, ob ich nicht nach dem Bierschinken vom letzten Einkauf nun lieber italienische Salami haben möchte?
Das weiss er nicht wenn du -> italienische Salami <- gekauft hast musst du es eingeben mit den daten MHD , anzahl usw...
und wenn das MHD bald abläuft wird es angezeigt genau so wenn es weniger wird.

Das ist kein "Hellseher / KI" die die gewohnheiten anhand von algorithmen ermittelt. Könnte ich sowas schreiben würde ich ganz anders sachen Coden ....

Das ist nur eine Management und Informationssoftware.

@d.fense
Zitat von d.fensed.fense schrieb:Eine Durchführung ohne Umbau könnte Kupferlackdraht 0,1mm durch einen manchmal vorhandenen Silikonstöpsel oder unter der Dichtung mit Folienleiter und geringem CU Querschnitt stattfinden z.b. aus alten Tintenstrahlern.
Ok das ist noch die beste Idee "Nicht invasive" methode. müsste man checken ob man ein I²C sig drüber senden / empfangen kann.

@Schdaiff
OH man daruf bin ich nicht gekommen , gut ich wollte es mit so wenig teilen bau wie möglich und die watt leistung so klein wie möglich helten.

Denn ich weiss nicht wie man per code den Strom vom USB Port abschaltet.
Und auf einen selbstgebauten USB zwischenstecker wo man die +5V ( VCC ) und GND per transistor ein und aus schaltet will ich verzichten.
gut so könnte ich den USB EAN scanner abschalten.
Die Steuerung würde über UART geregelt.

Du hast mich da auf was gebaracht. Jetzt muss ich nur noch warten bis ich meine PI3 bekommen dann kann ich testen ob es Technisch geht.


melden

SmartRefrigerator

20.11.2016 um 18:47
@O.G.
Das war nicht als Vorwurf gemeint oder so ... es ist nur besser es zu erwähnen obwohl du
es weißt, als das Gegenteil. Zwar ist Codequalität bei Hobbyprojekten jedem selbst überlassen,
aber gerade bei so einem Projekt, dass wohl länger dauernd wird und bei dem wohl auch einiges
an Code geschrieben werden wird, ist es eine gute Idee wert auf guten Code zu legen. Aber du
scheinst ja zu wissen was du da tust :P

Gibt es keine weiteren erfassbaren Daten auf Lebensmittelverpackungen ?
Vielleicht kann man ja mit Daten aus der EAN noch weitere Dinge sonst wo erfragen.
Irgendwie scheint es da ein Defizit an Informationen auf der Packung zu geben :)

Die USB-Ports kannst du beim PI an und abschalten, ob das .Net hergibt ist aber
eine andere Geschichte.


melden

SmartRefrigerator

24.11.2016 um 20:41
@Schdaiff
@ArnoNyhm

Ich hab jetzt eine Webcam mit eingebaut. :)

Ich hab das hir Modifiziert:
https://code-bude.net/2011/06/02/webcam-benutzen-in-csharp/

Und als eigene Class umgeschrieben.
Hat zwar noch ein paar kleine fehler aber es geht.
Jetzt muss es nur noch auf dem PI3 unter IoT 10Win funzen.

:)

Genutzt:
using AForge.Video;
using AForge.Video.DirectShow;

Edit:
Und es Gibt noch mehr:

using AForge.Imaging;
using AForge.Math;
using AForge;
using AForge.Controls; // mal schau ob ich die Cam im Standby schalten kann. :)

Die sind ja mal sau geil und es gibt noch mehr


melden

SmartRefrigerator

25.11.2016 um 01:01
Ja das ist einer der Vorteile des .Net, man findet zu fast allem
irgend eine Lib, wenn nicht von MS, dann von ThirdParty Leuten.

Allerdings bleibt da noch die Frage, wozu eine WebCam im Kühlschrank
brauchst ? :)

Ich bin mal gespannt ob das wirklich alles auf dem PI3 mit Win IoT läuft.
Wäre echt nice, dann würde ich mir auch mal überlegen nen PI3 zu kaufen,
so als Home Repo Server :)


melden

SmartRefrigerator

25.11.2016 um 11:57
@ArnoNyhm
Das mit der Webcam ist dür die Bilder, dass man die Datenbank erweitern kann.
Ich wolle ja am anfang die Bilder per USB / Netzwerwerk einspielen.
Jetzt kann ich die Bilder so einfügen.
Ich schau jetzt pb ich mit der Webcam EAN / QR Codes Scannen kann....

ich hab bis jetzt nur ein Problem AutoFocus hab ich nicht , so weit ich weiss eftl kann ich das mit Software Fixen
--> Fake AutoFocus ;)

Ich hab ja oben geschrieben das man eine Einkaufszettel drucken, jetzt kann man den auch per E-mail versenden.


OT:
Und das krasse an den Code ist ich könnte jede Absender E-Mail adr eintragen.
Z.b. Empfänger = Sender hehe...

Hab ich mal gemacht und eien Kumpl verarscht hat so ausgesehn als hätter er im suff eine E-mail geschrieben und sich als CC eingetragen.
Ich schreib lieber nicht was in der E-mail drin war.

Hehe.... :)


melden

SmartRefrigerator

25.11.2016 um 16:02
Zitat von O.G.O.G. schrieb am 17.11.2016: und was man noch einbaun* konnte
Eine Verbindung zu chefkoch.de für Menüvorschläge auf Basis der vorhandenen Lebensmittel. Idealerweise mit denen, die bald verfallen.

Aber ganz ehrlich:
Die Idee ist grundsätzlich klasse. Aber ich denke, sie scheitert am täglichen Aufwand, die Lebensmittel zu erfassen. Auch wenn Du das zu einem gewissen Grad automatisieren kannst, bleibt so viel manuelle Arbeit übrig, dass es kaum praktikabel ist.
Jedenfalls wenn ich mich mal als Maßstab nehme: Nach dem Einkaufen ist es schon lästig genug, das Zeug zu verstauen - dann auch noch zu erfassen, was es im Zweifel ist und wie lange es hält, würde meine Geduld weit übersteigen.


melden

SmartRefrigerator

25.11.2016 um 16:48
@kleinundgrün

Denk ich auch. Der Aufwand wird einfach größer.


melden

SmartRefrigerator

26.11.2016 um 13:29
@kleinundgrün
@Schdaiff

Ich würde sagen die aller meisten privaten Softwareprojekte scheitern früher oder später,
weil man einsehen muss, dass der Entwicklungsaufwand zu groß ist oder man einen grundsätzlichen
Fehler (wie hier der zusätzliche Aufwand) im Konzept hat.

Trotzdem hat man dann viel gelernt und hatte wahrscheinlich auch Spaß dabei, darum geht's doch letzt-
endlich :)

@O.G.
Wenn du mit der Webcam Bilder von den QR-Codes machst, brauchst du dann nicht noch sowas wie
OpenCV (Open Computer Vision) was den Code im Bild identifiziert und liest ?

Du hast damit praktisch schon ein privates Sicherheitssystem :) Mach einfach jede Minute ein Bild mit der
Webcam und und lass es dir per Mail schicken. Du musst nur schon mal dafür sorgen, dass dein E-Mail
Postfach groß genug ist.


melden

SmartRefrigerator

26.11.2016 um 14:17
@all der WebCam EAN Scannen für produkte ist gestorben, es dauer zu lange da ist ein 20€ laser EAN sacnner schneller und ich kann bis zu 45° schieflage scannen.

Und:

1. Ich muss mich nicht um das "scharfstellen kümmern" ( Fokussieren )
2. Die lichtverhältnisse ist eagl

Dann bleibt nur noch die Webcam für die Produktbilderr ( datenbank erweiterung ) / produkt Infp über QR - Codes
( die sind ja auch ab und zu auf Produkte.... )

Für den Ein / Ausgang vom Kühlschrank wird das nicht genurtzt.

Eingang über Zahleneingabe / Laser EAN
Ausgang über Touchscreen ( produkt anklicken und auf [ - ] oder einfach scanne Laser EAN

@ArnoNyhm
Ich komm nicht mit mach mal eine genau beschreibung wie des funzen soll ?


melden