Home > Technologie > Intelly Küche

Intelly Küche

0
Advertisement

Intelly Küche

Hast du jemals etwas in deinem Leben gebrannt? Wenn du nein sagst, lügst du. Ich tat all die schrecklichsten Dinge, die Sie sich vorstellen können, wie das Brennen von leeren Pfannen oder Pommes frites, die ich in den Müll werfen musste. Die erste europäische Intel IoT Roadshow gab Daniel und seinem Team die Möglichkeit, dieses Problem kreativ zu lösen.

Hier kommt die Intellikitchen, ein Projekt, das zum Leben erweckt, um unsere Küchen schlauer zu machen. Die grundlegende Idee dahinter ist, ein niedriges Preisprodukt herzustellen, das Sie leicht integrieren konnten, ohne Ihre Herde oder Öfen ändern zu müssen.

Hier die wichtigsten Punkte, die die Idee charakterisieren:

  • Einfach zu gebrauchen. Eine Zange, die Sie an jede Pfanne befestigen können, so dass es smart durch eine Kommunikation mit Ihrem Smartphone.
  • Einfach zu steuern. Ein Infrarot-Sensor verwendet, um die Temperatur von dem, was in der Pfanne (z. B. Öl, Wasser) zu messen.
  • Sichere Erweiterung. Gebraucht oder nicht, hat die Zange einen Gassensor, der Gasverluste erfasst.
  • Rezepte basiert. Alle Einstellungen (Alarme und Grenzen) werden durch Auswahl der Rezepte eingestellt, die Sie kochen wollen. Interoperabilität. Die intelligente Wanne muss in der Lage sein, mit anderen intelligenten Geräten wie einem intelligenten Herd zu kommunizieren.
  • Safe. Der Sensor kann in einem sicheren Abstand zum Inhalt der Pfanne positioniert werden.

Lassen Sie uns ein Beispiel. Angenommen, Sie wollen eine Pasta zu kochen. Sie öffnen die App und wählen die Amatriciana Rezept. Sie stellen das Wasser auf die Pfanne, befestigen Sie die Zange und schalten Sie das Gas. Dann nehmen Sie die hausgemachte Quelle vorbereitet letzten Sommer und beginnen, die Zwiebeln und den Speck schneiden. Während der Vorbereitung der Quelle beginnt das Wasser zu kochen und eine Benachrichtigung an Ihr Smartphone gesendet wird: "Gianni, ist es Zeit, die Pasta in die Pfanne zu setzen". Und so legte man die Nudeln in die Pfanne.
An einem Punkt Ihr Baby beginnt zu weinen (natürlich :)) und Sie haben aus der Küche bewegen, versuchen, um sie zu stoppen in all den Möglichkeiten, ein Elternteil tun können. In der Zwischenzeit kocht die Pasta und Sie haben es vergessen, aber zum Glück ist eine Benachrichtigung, dass die Pasta bereit ist (und Vermeidung einer überkochten Mahlzeit) an Ihr Telefon gesendet wird. Auch das Gas unten unten, so dass Sie die Zeit, um wieder in die Küche, ohne sich zu beeilen. Alle sind glücklich. Sie, Ihr Baby und Ihre Küche.

Noch mehr, wenige Tage nach der Arbeit, und an einer Stelle wird eine Benachrichtigung von Intellikitchen gesendet. Ein Gasleck wurde in Ihrer Küche erkannt. Sie achtlos!

Schritt 1: Hardware

Intelly Küche

Die verwendete Hardware ist das Intel IoT Developer Kit - ein kompletter Satz von Hard- und Software-Ressourcen für die Erstellung innovativer IoT-Lösungen. IoT dev ist Teil eines größeren Intel IoT-Entwicklerprogramms für Hobbyisten, Studenten und Unternehmerentwickler. Zusätzlich zum IoT dev Kit enthält das Programm die IoT Developer Zone für Downloads, neueste Inhalte und Support, lokale Hackathons und Meetups zur Präsentation und zum Austausch von Ideen sowie das IoT Academic Courseware Programm, das die führenden Universitäten bei der Erstellung von Curricula für das Internet unterstützt von Sachen.

Hier eine ausführliche Liste der verwendeten Hardware:

Haben Sie nicht alle Komponenten? Mach dir keine Sorgen, einfach nur Spaß haben! Sie können den Grove-Temperatursensor anstelle der IR-Sensoren verwenden und den Gassensor auch später hinzufügen.

Beginnen wir, einige Sensoren anzuschließen:

  • Temperatur - A0
  • Gas- oder Luftqualität - A1
  • Led - D3

Schritt 2: Software

  • Lelylan (IOT Platform). Eine Cloud-Plattform für das Internet der Dinge, die es Entscheidungsträgern und Entwicklern ermöglicht, in kürzester Zeit neue Lösungen zu erstellen (Sie können in 15 Minuten starten). Es bietet eine Open - REST - API, Verpackungen in verschiedenen Sprachen, Web - Komponenten, einem Open - Source - Armaturenbrett und es ist offen für jede Hardware (mehr auf dem lernen dev Zentrum ).
  • Intel XDK IoT Ausgabe (Hardware Dev). Wir haben uns entschlossen, eine komplette IoT-Lösung mit Node.js unter Verwendung der (oft abstürzenden) Intel XDK IoT Edition zu erstellen. Obwohl ich normalerweise nicht verwenden IDEs, es ist ein ziemlich gutes Tool, das mehrere Tutorials bietet, um loszulegen.
  • Ionic (Mobil Dev). Freie und Open Source, bietet Ionic eine Bibliothek von mobile Endgeräte optimierte HTML, CSS und JS - Komponenten , Gesten und Tools für interaktive Anwendungen zu bauen. Perfekte mobile Anwendungen in Kombination zu bauen mit AngularJS .

Schritt 3: Lelylan Setup

Intelly Küche

Intelly Küche

Intelly Küche

Öffnen Sie Lelylan Armaturenbrett und eine neue intelligente Pfanne erstellen , indem Sie folgende 3 einfachen Schritten (wenn Sie Lelylan neu sind, können Sie melden Sie sich kostenlos).

  1. Setzen Sie einen aussagekräftigen Namen (zB "smart pan").
  2. Wählen Sie den Smart-Pan-Typ aus. Um dies zu tun, wählen Sie das Menü "von ID" auf der Oberseite und verwenden Sie die ID 55055efb5a06678498000001 (eine Art definiert , was ein Gerät durch die Definition ihrer Eigenschaften, Funktionen und Zustände ist. Erfahren Sie mehr über Dev Center ).
  3. Wählen Sie "Connect with MQTT" als Verbindungsoption. In diesem Tutorial verwenden wir MQTT, ein leichtes Publish-Abonnement-Protokoll für das Internet der Dinge. An dieser Stelle können Sie die Geräte-ID und das Geräte-Geheimnis erhalten. Sobald das Gerät erstellt wurde, klicken Sie auf den Link Einstellungen (unter dem Gerätenamen) und erhalten die Geräte-ID und das Gerät geheim. Sie benötigen sie im nächsten Abschnitt, um den Intel Edison zu programmieren.

Schritt 4: Javascript-Code für Edison

Intelly Küche

Programmierung der Edison war ein Stück Kuchen, wenn Sie die Groove Kit Sensoren. Die Integration mit Lelylan war dank der Dev-Center-Dokumentation und der Tatsache, dass wir bereits Erfahrungen mit dem Einrichten eines funktionierenden MQTT-Node-Setups hatten, einfach einzurichten.

Folgt GIST den verwendeten Code, wo wir die Temperatur- und Gassensorwerte lesen, um dann die Daten an Lelylan und die Mobile App hochzuladen. Wir fügten dann einen Code hinzu, um die LED einzuschalten, wenn die Temperaturgrenze bis zur definierten Grenze gehen würde.

https://gist.github.com/lollotek/88e46aee0228a5381cab

Um den Code korrekt ausführen zu können, müssen Sie die Datei package.json mit der mqtt-Abhängigkeit hinzufügen:

https://gist.github.com/lollotek/4302d8d8d38c079d7990

Denken Sie auch daran, vor dem Hochladen zu speichern und beim ersten Versuch den Build-Befehl zu verwenden, stattdessen hochzuladen, um alle Dipendenzen zu installieren.

Sie haben es geschafft !!
Wenn Sie den Code erfolgreich ausführen, haben Sie bereits ein voll funktionsfähiges IoT-System!

Schließen Sie einfach auf das lelylan Armaturenbrett (auch von mobilen) und die Werte sehen von Ihrem Edison kommen.

Schritt 5: Code deklariert

Die Geräte-ID und das Gerätegeheimnis werden verwendet, um das physische Objekt (wie Edison, Arduino, Raspberri PI, ..) mit Lelylan zu authentifizieren. Um die Anmeldedaten des Geräts zu erhalten, öffnen Sie das Dashboard, wählen das neu erstellte Gerät aus, klicken auf Einstellungen und kopieren die Geräte-ID und das Gerätegeheimnis.

/* Geräteeinstellungen */

Var device = {id: '', secret: ''}

Lelylan verwendet MQTT, ein publish-Abonnement-Protokoll für das Internet der Dinge. Um Lelylan mit dem Edison zu kommunizieren, müssen Sie zwei Themen festlegen: eine Nachricht von Lelylan (inTopic) und eine Nachricht an Lelylan (out / opic). Diese Themen sind eindeutig und werden durch die Geräte-ID identifiziert.

Var inTopic = 'devices /' + device.id + '/ get' / Empfang von Nachrichten,

OutTopic = 'Geräte /' + device.id + '/ set'; // veröffentlichen von Nachrichten

Jedes Gerät in Lelylan wird durch eine Art aus, die wiederum von einer Liste von Eigenschaften, Funktionen und Zustände identifiziert werden (mehr auf dem lernen dev Zentrum ). Für dieses Projekt haben wir die Smart - pan - Typ mit der Eigenschaften - Status (LED an oder aus), Temperatur (pan Inhalt Grad), die Qualität der Luft (GAR - Erkennung) und Temperaturgrenze (nach dem der Alarm erhöhen).

Was wir tun ist, die empfangene (oder senden) Nachricht zu überprüfen und zu analysieren (oder erstellen) die JSON mit einer bestimmten Eigenschafts-ID. Auf diese Weise können wir die empfangene Eigenschaft verstehen oder die physikalischen Werte in Lelylan aktualisieren.

// Für dieses Beispiel verwenden wir die Smart-Pan-Typ-ID ist 55055efb5a06678498000001)

Var type = {

'Status': {id: '55055eff5a06673360000001'},

'Temperatur': {id: '5505607f5a06673360000004'},

'Air': {id: '550560935a06673360000005'},

'TempLimit': {id: '550560a65a0667cff2000001'},

};

Stellen Sie den Lelylan MQTT-Server (MQTT-Server-IP und -Port) und das Gerät (ID und Geheimnis) ein, mit dem die Verbindung hergestellt werden soll. Durch die Edison-Rechenleistung (nicht möglich mit einem Arduino zum Beispiel) haben wir auch eine sichere Verbindung ermöglicht.

Var settings = {

Host: '178.62.108.47', // MQTT-Server-IP

Port: '8883', // MQTT-Server-Port

Benutzername: device.id, // device.id als Client-Benutzernamen

Kennwort: device.secret, // device.secret als Client-Passwort

Protokoll: 'ssl', // sichere Verbindung

RejectUnauthorized: false

aufrechtzuerhalten.

In diesem Abschnitt definieren wir die verwendeten Pins, um die LED zu steuern, um die Temperatur zu erhalten und die Qualität der Luft (Gasdetektion) zu erhalten.

/ * LED-Definition * /

Var digitalPin3 = neu mraa.Gpio (3); DigitalPin3.dir (mraa.DIR_OUT);

Var ledState = true;

/ * Temperaturdefinition * /

Var analogPin0 = neu mraa.Aio (0); / * Gasdetektionsdefinition * /

Var analogPin1 = neu mraa.Aio (1);

An diesem Punkt öffnen wir die MQTT-Verbindung und wir können damit beginnen, die Temperatur- und Luftqualitätswerte an Lelylan zu senden. Hier folgt der Code zu lesen und senden Sie die Temperatur an Lelylan, wo wir den aktuellen Wert zu lesen und erstellen Sie eine JSON zu senden durch MQTT zu Lelylan (gebildet aus der Temperatur id und der Temperaturwert). Ähnliche Logik lebt für den Gassensor.

Var client = mqtt.connect (Einstellungen); Client.on ( 'connect', function () {

Funktion readTemp () {

Var analogValue = Math.round (analogPin0.read (), 2);

SetTimeout (readTemp, 10000);

Console.log ( 'Veröffentlichen der Temperatur an Lelylan');

Message = { "Eigenschaften": [{ "id": type.temperature.id, "value": analogValue}]};

Client.publish (out_topic, JSON.stringify (Nachricht)); [...]

An diesem Punkt, wenn die Temperaturüberschreitung die definierte Grenze, wird die LED eingeschaltet und Änderungen an Lelylan gesendet werden.

If (analogValue> tempLimit) {

Console.log ( "Einschalten (TEMPERATURE) -", analogValue);

BoardLight.write (255);

Message = { "Eigenschaften": [{ "id": type.status.id, "value": "on"}]};

Client.publish (out_topic, JSON.stringify (Nachricht));

} Else {

Console.log ( "Licht ausschalten (TEMPERATURE) -", analogValue);

BoardLight.write (0);

Message = { "Eigenschaften": [{ "id": type.status.id, "value": "off"}]};

Client.publish (out_topic, JSON.stringify (Nachricht));

aufrechtzuerhalten.

Der letzte Codeauszug wird verwendet, um alle Nachrichten von Lelylan zu abonnieren, um die Temperaturgrenze dynamisch aus dem Internet zu aktualisieren. Auf diese Weise können wir ihren Wert direkt von Lelylan Dashboard oder einer mobilen App variieren.

Client.subscribe (in_topic);

Client.on ( 'Nachricht', Funktion (Thema, Nachricht) {

Var prop = JSON.parse (message) .properties [0];

Console.log ( 'Empfangene Nachricht', Status); / * Einstellung der Temperaturgrenze * /

If (prop.id == typelight.tempLimit.id) {

TempLimit = prop.value;

BoardLight.write (255);

Console.log ( 'Die Temperaturgrenze wurde auf', tempLimit 'gesetzt);

aufrechtzuerhalten.

Client.publish (out_topic, JSON.stringify (Nachricht));

Console.log ( 'Nachricht empfangen (Thema)', Thema, '(Nachricht)', Nachricht);

});

Schritt 6: Mobilcode

Für den mobilen Code verwendeten wir eine Lösung. Die erste basiert auf Lelylan Dashboard ( Demo hier ), die Ihnen eine fertige gibt in Echtzeit Ihre physischen Geräten verwendet werden Lösung zu steuern und zu überwachen , die auf allen Geräten (Handy, Tablet und Desktop) funktioniert.

Die zweite wurde auf Ionisch und Angular verwendet. Wir haben eine Knopflösung definiert, die die tatsächliche Temperatur des Topfinhalts anzeigt und die Möglichkeit der Einstellung der gewünschten Benachrichtigungsgrenze hinzufügt.

Sie können den Quellcode der Ionic App herunterladen.

Schritt 7: Schlussfolgerungen

Intelly Küche

Die Intel IoT Roadshow war ein großartiges Event, um neue Lösungen für das Internet der Dinge zu finden und neue Menschen kennenzulernen. Sicher, die Plattform ist ein wenig unreif, und einige Sensoren / Aktoren einfach nicht funktionieren. Aber es ist eine Frage der Zeit. Wenn Sie die Chance haben, sich in einen dieser Hackathons!

Related Reading