Home > Technologie > Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

0
Advertisement

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Heute zeigen wir Ihnen, wie Sie einen Kühlschrank zur Überwachung mit einem Arduino MKR1000 und das Internet der Dinge Plattform thethings.iO um Ihr Bier zu halten (oder andere Getränke) bei einer kühlen Temperatur.

Sommer kommt!

Wir verwenden einen eindrahtigen wasserdichten Temperatursensor DS18B20, um die Temperatur zu messen. Der MKR1000 ist mit einem lokalen Netzwerk verbunden und sendet die Daten an die Plattform thethings.iO, auf die wir von überall aus zugreifen können und die eine schöne visuelle Rückmeldung unserer Daten ermöglicht.

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Schritt 1: Materialanforderungen

Das sind die Dinge, die wir brauchen:

  • Arduino MKR1000
  • Temperaturfühler DS18B20
  • 4,7 kOhm Widerstand
  • 3x 0.1 "weiblich zu (männlich oder männlich))
  • Eine Kunststoffbox (optional)

Schritt 2: Holen Sie sich ein Konto bei thethings.iO

Wenn Sie bereits über ein Konto verfügen, können Sie diesen Schritt überspringen.

  1. Zum thethings.iO
  2. Klicken Sie in der oberen rechten Ecke auf 'Jetzt starten'.
  3. Neu registrieren.

Schritt 3: Erstellen Sie Ihr erstes Produkt

In Ihrem Konto, in der Seitenleiste auf der linken Seite klicken Sie auf 'Things'.The Klicken Sie auf' Create New Product 'und Sie sehen den folgenden Bildschirm: Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Füllen Sie den Namen Ihres neuen Produkts aus.
  • Als 'Board' wählen Sie Arduino.
  • Wenn Sie möchten, können Sie eine Beschreibung hinzufügen.
  • Wir verlassen das Format bei JSON.
  • Klicken Sie auf 'Erstellen'.

Schritt 4: Aktivieren Sie Ihre Sache!

  • Klicken Sie auf Ihr neues Produkt.
  • Klicken Sie im Abschnitt 'Sachen' auf 'Aktivierungscodes erhalten'.
  • Klicken Sie dann auf 'Aktivierungscodes generieren'.
  • Sie werden gefragt, wie viele Aktivierungscodes Sie benötigen, lassen Sie es auf 1 und klicken Sie auf 'Generieren'.
  • Anschließend müssen Sie die Seite neu laden.
  • Klicken Sie dann auf das '+' Zeichen auf der rechten Seite.
  • Ein Fenster öffnet sich, klicken Sie auf 'Akzeptieren'.
  • Herzliche Glückwünsche! Sie haben gerade Ihre erste Sache auf thethings.iO aktiviert!

Schritt 5: Installieren Sie die Bibliothek für thethings.iO und den Arduino MKR1000

Thethings.iO veröffentlichen einige Bibliotheken, die es sehr einfach machen, unsere Dinge mit der Plattform kommunizieren zu machen. Wir verwenden die arduino Bibliothek für unser Projekt.

  • Zum https: //github.com/theThings/thethings.iO-arduino ... und klicken Sie auf 'Download ZIP'.
  • Entpacken Sie das Archiv.
  • Und kopieren Sie den resultierenden Ordner in den Bibliotheksordner.
  • Oder verwenden Sie die Option .zip Bibliothek in der Arduino IDE.
  • Wenn Sie die erste Option verwenden und die IDE bereits ausgeführt wurde, starten Sie sie neu.

Schritt 6: Schließen Sie den Sensor an den Arduino MKR1000 an

  • Löten Sie zuerst die drei Drähte an das Sensorkabel, um den Anschluss des Sensors an den Arduino zu vereinfachen.
  • Dann Löten Sie den Widerstand zwischen dem roten und schwarzen Draht (VCC & GND).

Am Ende sollte es so aussehen (Wir hatten keine 4,7 kOhm, also löten wir ein paar zusammen): Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Als nächstes verbinden wir das VCC-Kabel mit dem 5V-Pin des Arduino.
  • Dann verbinden wir das GND-Kabel mit dem GND-Pin des Arduino.
  • Schließlich verbinden wir die Signalleitung mit dem Pin 2 des Arduino.
  • Schließen Sie das USB-Kabel an den Computer an.

Am Ende sollte es so aussehen

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Schritt 7: Laden Sie die Skizze des Arduino MKR1000 hoch

Laden Sie die Skizze aus diesem Tutorial herunter.

  #include <WiFi101.h> #include <WiFiClient.h> #include <OneWire.h> #include <thethingsiO_mkr1000.h> OneWire ds (2);  #define WIFI_AP "IHRE ESSID HIER #define WIFI_PWD" Ihr Passwort hier "int status = -1; int millis_start; #define token" IHRE TOKEN HIER "thethingsiOWiFi Sache (TOKEN); Leere Setup (void) {millis_start = millis (); Serial.begin (115200); startWifi ();} void loop (void) {Byte i; Byte vorhanden = 0; Byte type_s; Byte-Daten [12]; Byte Adr [8]; float Celsius, Fahrenheit; if (! ds .search (adr)) {Serial.println ( "Keine weiteren Adressen."); Serial.println (); ds.reset_search (); Verzögerung (250); return;} Serial.print ( "ROM ="), für (i = 0; i <8; i ++) {Serial.write ( ''); Serial.print (Adr [i], HEX);} if (! OneWire :: CRC8 (Adr, 7) = adr [7] ) {Serial.println ( "CRC ist ungültig!"); return;} Serial.println (); // das erste ROM-Byte, das Chip-Schalter (Adr [0]) {case 0x10 zeigt: Serial.println ( "Chip = DS18S20 "); // oder alt DS1820 type_s = 1; brechen; Fall 0x28: Serial.println (" Chip = DS18B20 "); type_s = 0; brechen; Fall 0x22: Serial.println (" Chip = DS1822 "); Type_s = 0; break; default: Serial.println ( "Device ist kein DS18x20-Familiengerät.");  Rückkehr;  } Ds.reset ();  Ds.select (addr);  Ds.write (0x44, 1);  // Startkonvertierung mit Parasiteneinschaltung bei der Endverzögerung (1000);  // vielleicht 750ms ist genug, vielleicht auch nicht // wir könnten hier ein ds.depower () machen, aber das reset kümmert sich darum.  Present = ds.reset ();  Ds.select (addr);  Ds.write (0xBE);  // Lesen Sie Scratchpad Serial.print ( "Data =");  Serial.print (vorhanden, HEX);  Serial.print ( "");  (I = 0; i <9; i ++) {// Wir brauchen 9 Bytes Daten [i] = ds.read ();  Serial.print (Daten [i], HEX);  Serial.print ( "");  } Serial.print ( "CRC =");  Serial.print (OneWire :: crc8 (Daten, 8), HEX);  Serial.println ();  // Die Daten in die aktuelle Temperatur umwandeln // Da das Ergebnis eine 16-Bit-Ganzzahl ist, sollte es // in einem "int16_t" -Typ gespeichert werden, der immer 16 Bits // ist, auch wenn er auf einem 32-Bit-Prozessor kompiliert wird.  Int16_t raw = (Daten [1] << 8) |  Daten [0];  If (type_s) {raw = raw << 3;  // 9 Bit Auflösung default if (data [7] == 0x10) {// "count remain" liefert volle 12 bit Auflösung raw = (raw & 0xFFF0) + 12 - data [6];  }} Else {Byte cfg = (Daten [4] & 0x60);  // bei niedrigeren Res, die niedrigen Bits sind undefiniert, also lassen wir sie Null, wenn (cfg == 0x00) raw = raw & ~ 7;  // 9 bit Auflösung, 93,75 ms sonst if (cfg == 0x20) raw = raw & ~ 3;  // 10 bit res, 187,5 ms else if (cfg == 0x40) raw = raw & ~ 1;  // 11 bit res, 375 ms //// default ist 12 bit Auflösung, 750 ms Umwandlungszeit} celsius = (float) raw / 16.0;  Fahren = Celsius * 1,8 + 32,0;  Serial.print ( "Temperatur =");  Serial.print (celsius);  Serial.print ( "Celsius");  Serial.print (Fahrenheit);  Serial.println (Fahrenheit);  If (millis ()> = millis_start + 10000) {thing.addValue ( "Temperatur", celsius);  Thing.send ();  Millis_start = millis ();  }} Void startWifi () {Serial.println ( "MKR1000 mit Netzwerk verbinden ...");  // WiFi.begin ();  // Versuch, eine Verbindung zum Wifi-Netzwerk herzustellen: while (status! = WL_CONNECTED) {Serial.print ( "Verbindung zu WPA SSID herstellen");  Serial.println (WIFI_AP);  WiFi.begin (WIFI_AP, WIFI_PWD);  // 10 Sekunden auf Verbindung warten: delay (10000);  Status = WiFi.status ();  aufrechtzuerhalten.

Sie müssen drei Dinge im Code ändern, ausfüllen:

  1. Die Essid Ihres Netzwerks
  2. Das Kennwort Ihres Netzwerks
  3. Ihr Token (Holen Sie es, indem Sie auf Ihr Produkt bei thethings.iO klicken)

Speichern und hochladen zum Arduino.

Wenn Sie auf den seriellen Monitor klicken, sollten Sie die gemessene Temperatur.

Schritt 8: Siehe die ankommenden Daten

Wir senden die gemessene Temperatur alle zehn Sekunden an thethings.iO, also mal sehen, wie die Daten kommen!

  • Geben Sie an Ihrem thethings.io Konto ein.
  • Klicke auf 'Sachen' in der Seitenleiste links.
  • Klicken Sie auf Ihr Produkt.
  • Auf der rechten Seite des Tokens klicken Sie auf 'Details'.
  • Sie sehen diese Seite:

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Auf der rechten Seite können wir mit verschiedenen Visualisierungen spielen oder auf "Real-Time" klicken und unsere Daten ankommen sehen!

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Schritt 9: Legen Sie Arduino in eine Box

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

Wir setzten den Arduino in eine Plastikbox. Dies ist optional, aber es könnte es einfacher, es auf den Kühlschrank stellen.

Schritt 10: Setzen Sie die Box in den Kühlschrank

Wir setzen die Box auf den Kühlschrank und den Sensor hinein. Verbinden Sie das Arduino mit einer Stromquelle.

Schritt 11: Machen Sie einige coole Widgets auf Ihrem Dashboard!

Thethings.iO hat ein schönes Armaturenbrett, das können wir leicht anpassen, um einen Echtzeit-Überblick über unsere verschiedenen Dinge haben. Wir machen ein cooles Widget, um die gemessene Temperatur aus unserem Kühlschrank zu sehen!

  • Gehen Sie zu Ihrem Konto auf thethings.iO
  • In der Seitenleiste links klicken Sie auf Dashboard.
  • Sie sehen einen Bildschirm wie folgt:

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Klicken Sie oben rechts auf 'Dashboard bearbeiten'.
  • Dann auf 'Widget hinzufügen'.
  • Ein Fenster öffnet sich:

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Geben Sie einen Namen für Ihr Widget ein.
  • In 'Datenquelle' wählen Sie 'Thing Resource'.
  • Wählen Sie im Produkt Ihr Produkt aus.
  • Wählen Sie Ihre Sache.
  • In 'Ressource' wählen Sie 'Temperatur'.
  • Im 'Wertebereich' wählen Sie 'Last Value'.
  • In 'Widget Type' wählen Sie 'Gauge'.
  • Aktivieren Sie die Option "Realtime".
  • Es sollte so etwas suchen:

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Klicken Sie auf "Hinzufügen".
  • Nun, auf dem Armaturenbrett Scroll unten auf Sie sehen unser neues Widget:

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Wir müssen noch die Grenzen für unsere Widgets zu wählen, jetzt wollen wir setzen -10 und 40.
  • Klicken Sie auf 'Speichern' und Sie sollten die Meldung: 'Werte aktualisiert!'
  • Seite neu laden aaaaand:

Kühlschranküberwachung mit Arduino MKR1000 und thethings.iO

  • Sie sehen unser schönes Widget!

Schritt 12: Haben Sie ein kaltes Bier

Prost!

Related Reading