Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

21 Schritt:Schritt 1: Wie es passt alles zusammen und was Sie brauchen Schritt 2: Anschließen des Bits Teil 1 Schritt 3: Anschließen des Bits Teil 2 Schritt 4: Anschließen des Bits Teil 3 Schritt 5: Inbetriebnahme Ihrer imp Schritt 6: Erstellen der Firmware Schritt 7: Öffnen Sie das Codefenster Schritt 8: Code Beschreibung Linie Schritt 9: Erstellen Sie die Sensorklasse Schritt 10: Hauptcode hinzufügen für die Firmware Schritt 11: Starten Sie Ihren impee und sehen es in Ihrem Planer Schritt 12: Lassen Sie Ihre impee welche Firmware zu laufen Schritt 13: Somethings falsch Schritt 14: In HTTP-Knoten anfordern Schritt 15: Erstellen Sie eine Nudel zwischen Ihrem impee und der HTTP-Anforderung Knoten Schritt 16: Konfigurieren der HTTP-Request-Knoten Schritt 17: Holen Sie Daten an den Web-Server Schritt 18: recieving auf den Webservern Schritt 19: Anzeige der Daten im Web-Browser Schritt 1 Schritt 20: Anzeige der Daten im Web-Browser Schritt 2 Schritt 21: Laden Sie auf dem Web-Server und Test

Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

[Edit 2014] Der Planer, der durch Elektro Imp verwendet wurde, wird nicht mehr verwendet und nicht mehr erhältlich. [/ Edit]
Dies ist ein kleines Projekt, das Sie mit dem Elektro imp und einem Thermistor begann damit Sie sehen können, wie können Sie Temperaturwerte aktualisieren live auf einer Website erhalten zu werden. Diese instructable sowohl die Hardware als auch die Website zusammen mit allen Teilen dazwischen anzugehen. Ich habe versucht, es zu halten so einfach wie möglich, was bedeutet, es gibt viele Möglichkeiten, wie Sie auf sie zu erweitern.
Im ersten Teil wird die elektrische imp adressieren und wie wir schließen Sie einen Widerstand und Thermistor zu schaffen eine sehr einfache Schaltung bezeichnet einen Spannungsteiler und verwenden Sie den Zauber 'in analogen integrierten Digital-Wandler, um eine Messung vorzunehmen und berechnen, was die Temperatur ist. Ich werde auch in einigen Details zu gehen, wie der Schaltkreis und seine Komponenten arbeiten.

Schritt 1: Wie es passt alles zusammen und was Sie brauchen

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Wir werden ein Spannungsteilernetzwerk mit einem 10k-Widerstand und die 4.7k Thermistor erstellen. Der Imp wird die Spannung zwischen dem Widerstand und Thermistor gelesen. Der Imp tut dann einige Berechnungen auf dieser und speichert den Wert. Es tut dies 50-mal alle 5 Sekunden (oder es zu), um einen durchschnittlichen Wert zu erhalten. Dieser Durchschnittswert ist mit HTTP-Request-Knoten (die in der Amazon Cloud lebt), die wiederum sendet sie an den Webserver gesendet.

    Ihre Web-Server empfängt diese als Parameter an die URL angebracht, protokolliert er, und zeigt das Ergebnis.

    Sie werden die folgenden Voraussetzungen:
    Elektro imp
    Sparkfun Elektro imp Breakout (April board)
    Thermistor - NTC 4.7Kohms 2% Radial als Temperatursensor.
    10k Ohm Widerstand 1% 1 / 4W
    • Einige Verbinder (Ich habe):
    o Stapelkopfzeile - 1 x 10 - Standard , wie es mir erlaubt, in ein Steckbrett stecken, sondern auch den Zugang von oben.
    o Durch Abbrechen headers - gerade - Bremse aus drei Stifte für die Jumper-Verbindung zum USB / Battery wählen
    • Einige Schaltdraht (Ich benutze einen 40P 80mm DuPont Draht, Stecker-Stecker mit Stiften beendet und abreißen, was ich brauche).
    • Und ein Steckbrett , um es zusammen zu setzen
    • Ein USB-Kabel für Strom.

    Ich habe alle meine Teile vom Electron Hobbies .

Schritt 2: Anschließen des Bits Teil 1

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Zunächst lassen Sie uns das Sparkfun Elektro imp Breakout (April board) bereit. Ich neige dazu, zu verwenden stapelbar Header für Breakout-Boards so wie es mir erlaubt, in einen Stecker Steckbrett und haben Anschlüsse auf der Oberseite des Breakout-Board als auch (meiner Meinung nach der Beste aus beiden Welten). Das ist wirklich eine persönliche Wahl und möchten Sie vielleicht eine andere Methode zu verwenden.

    Wie Sie in den ersten beiden Bildern sehen kann, habe ich die Stapelkopfzeile - 1 x 10 - Standard von Electron Hobbies . Beachten Sie, dass Sie tatsächlich benötigen, 9 Pins. Leicht verfügbaren Größen für das sind 6-polig , 8-Pin und 10pin . Also in diesem Fall gibt es einen Stift außerhalb der Platine, die in Ordnung ist, da sie nicht mit irgendetwas stören.

Schritt 3: Anschließen des Bits Teil 2

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Die Kraft. Es gibt drei Möglichkeiten, um die Stromversorgung des bereitzustellen Sparkfun Elektro imp Breakout (April board) . Die erste und einfachste ist in der Regel über ein USB-Kabel. Um dies zu tun, ein 3-Pin-Header, um den Akku / USB-Auswahl-Pads auf der Platine installierte ich. Um die 3 Stiftleiste zu machen, bekommen ein Paar Schneider oder einem Messer und 3 Stifte schneiden von einem 40-Pin-Header abtrünnigen . Sehen Sie das erste Bild von diesem Schritt für den Standort und das zweite Bild der 3 Stiftleiste.

    Das dritte Bild zeigt eine Standard-Steckbrückenblock von einer alten Festplatte, oder Sie können einige von Kauf Electron Hobbies und anderen Alternative nur wickeln einige feine Draht rund um die beiden Stifte an der USB-Seite.

Schritt 4: Anschließen des Bits Teil 3

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Sie werden bemerken, ein Bein des Thermistor ist an einem Bein des angeschlossenen Widerstand mit diesen verbunden Beine Anschluss an Pin2 des April Bord . Sie können einen der Pin, der in der Lage, analoge in Stifte verwendet werden zu verwenden. Siehe http://devwiki.electricimp.com/doku.php?id=imppinmux .

    Die andere Seite des Widerstandes angeschlossen ist, um mit der anderen Seite des Thermistors zum 3V3 Stift GND verbunden.

    Ein schnelles Wort auf elektrischen imp Terminologie. Die Vorrichtung in diesem Fall vom April Bord der Thermistor und dem Widerstand mit zugehöriger Beschaltung wird als impee. (Ja, kleines 'i'). Die SD-Karte wird als Komponente imp. Der Kobold hat den Prozessor und "Gehirn", das die impee (Hardware-Gerät) steuert. Siehe http://devwiki.electricimp.com/doku.php?id=glossary für mehr auf dem elektrischen imp Terminologie.

Schritt 5: Inbetriebnahme Ihrer imp

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Bevor Sie Ihre imp verwenden, müssen Sie es in Betrieb nehmen. Siehe http://devwiki.electricimp.com/doku.php?id=commissioning für Anweisungen. Note, die Sie Schritt 1 in der Inbetriebnahme Dokument bereits von der Arbeit durch die Schritte hier in diesem instructable zu diesem Punkt gemacht haben.

    Wenn Sie nicht über ein iPhone, iPad oder Android-Gerät, wie die Inbetriebnahmeanleitung erfordert, verzweifeln Sie nicht auch nicht I. Electron Hobbies haben Fen Consultants Elektro Imp Blink-Up app für Windows veröffentlicht. ( http://electronhobbies.com/wireless/110-electric-imp.html in der Registerkarte Download). Ich habe das mit meinem HP Elitebook Notebook mit LED-Display hat und arbeitete erstmals. Denken Sie daran, Ihren Daumen und Zeigefinger über dem freiliegenden oberen und unteren Ende der Imp zu halten, wenn es zu tun.

Schritt 6: Erstellen der Firmware

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Die Firmware ist das Programm, das auf der Hardware läuft und steuert sie.

    In diesem Stadium, ich gehe davon aus Sie in den Elektroplaner imp angemeldet haben (basierend auf Sie haben gerade Ihren Auftrag imp). Der Planer ist https://plan.electricimp.com/

    Sie sollten sehen, eine leere Planer Bildschirm. Das ist Ihre IDE oder Integrated Development Environment. Es besteht aus zwei Teilen, die grafische Teil, das ist, wo Sie die verschiedenen Komponenten zu verbinden, um ein Ende zu machen, um Anwendung und den Code Teil, in dem Sie Ihren Code eingeben beenden. Das erste Bild ist die grafische Bildschirm.

    Sie sollten nun auf den Link "Code" in der schwarzen Menüleiste. Dadurch ändert sich das Fenster, um alle Ihre Code, den Sie zusammen mit ein paar öffentlichen Firmware-Artikel nach dem zweiten Bild geschrieben haben, zu zeigen.

Schritt 7: Öffnen Sie das Codefenster

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Sie werden sehen, ein Plus (+) links oben direkt unter der imp-Logo (erstes Bild). Klicken Sie darauf. Ein Dialog öffnet sich fragt nach einem Namen. Geben Sie einen Namen für Ihr Programm. Schlagen Sie nennen es 'Wireless Thermistor "und klicken Sie auf OK. Sie sollten sehen, was in dem zweiten Bild.

    Dies ist, wo wir den Code, den wir die imp ausgeführt werden soll eingeben.

    Die Schaltflächen am oberen Ballon haben Text, wenn Sie mit der Maus über sie zeigt. Werfen Sie einen Moment Zeit, um einen Blick zu haben.

Schritt 8: Code Beschreibung Linie

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Die erste Codezeile sollte eine Kommentarzeile die Anwendung beschreiben. Diese wird gelesen und auf Ihrer Codeliste Seite als Beschreibung angezeigt wird neben dem Namen. Tun Sie dies nun mit dem folgenden:

    // Measure Temperatur in C unter Verwendung eines einfachen Thermistor

Schritt 9: Erstellen Sie die Sensorklasse

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Wir werden eine Klasse, um den Sensor zu behandeln erstellen. Ich rief mir 'TermistorCelcius'. Wir geben Sie diesen Code direkt unter denen wir unsere Beschreibung im letzten Schritt.

    Diese Klasse kann für eine der Vishay Reihe von Thermistoren, die die vier Konstanten für die Verwendung mit dem erweiterten Steinhart-Hart-Gleichung angewendet werden.

    Hinweis zu Code in diesem instructable. Ich habe einen Tag <code beginnen> und <code Ende>. Sie sollten zu kopieren / nur die Teile zwischen diesen Tags und nicht die Tags selbst einfügen.

    <Code beginnen>
    Klasse ThermistorCelcius
    {
    analogPort = null; // Wird die Hardware-Pin zugeordnet
    ROhms = null; // Widerstände Widerstand In Ohm
    Rref = null; // Thermistoren Widerstand bei 25 ° C
    // Variablen, die spezifisch für den Thermistor Konstanten halten
    // Für die Steinhart-Hart-Gleichung
    A = null;
    B = null;
    C = null;
    D = null;

    // Wert zu sagen, ob der Thermistor Seite des
    // Thermistor / Widerstandsspannungsteilers ist mit GND verbunden
    ThermToGND = null;

    Konstruktor (
    Hafen, // Pin-Nummer Thermistor angeschlossen
    ResistorOhms, // Widerstandswert in Ohm
    ThermistorOhms, // Thermistorwiderstand bei 25C in Ohm
    Consta, // Konstante aus Datenblatt bereitgestellt
    constB, // Konstante aus Datenblatt bereitgestellt
    constC, // Konstante aus Datenblatt bereitgestellt
    constD, // Konstante aus Datenblatt bereitgestellt
    thermistorToGND) // 1, wenn Thermistor Seite = GND
    {
    // Der Konstruktor einer Klasse wird aufgerufen, wenn die Klasse
    // Eingeleitet. Seine Variablen werden auf die Klasse an diese übergeben
    // Zeit.
    ROhms = ResistorOhms;
    Rref = ThermistorOhms;
    A = CONSTA;
    B = constB;
    C = constC;
    D = constD;
    ThermToGND = thermistorToGND;

    // Geben Sie eine Methode, um in der Lage, die gleiche Klasse verwenden zu können
    // Unabhängig von Port.
    Schalter (Hafen)
    {
    Fall 1:
    hardware.pin1.configure (ANALOG_IN);
    analogPort = hardware.pin1;
    brechen;
    Fall 2:
    hardware.pin2.configure (ANALOG_IN);
    analogPort = hardware.pin2;
    brechen;
    Fall 5:
    hardware.pin5.configure (ANALOG_IN);
    analogPort = hardware.pin5;
    brechen;
    Fall 7:
    hardware.pin7.configure (ANALOG_IN);
    analogPort = hardware.pin7;
    brechen;
    Fall 8:
    hardware.pin8.configure (ANALOG_IN);
    analogPort = hardware.pin8;
    brechen;
    Fall 9:
    hardware.pin9.configure (ANALOG_IN);
    analogPort = hardware.pin9;
    brechen;
    Standard:
    server.log ("Invalid Port angegeben.");
    brechen;
    }
    }

    funktionieren readTemp ()
    {
    // Erhalten die aktuelle Spannung der imp verwendet als Vref für die
    // Analog-Digital-Umwandlung
    lokale hwvolts = hardware.voltage ();

    // Führen Sie eine Analog-Digital-Umwandlung und Speicherung der 16
    // Bit-Wert
    lokale Daten = analogPort.read ();

    if (Daten == null) // wenn wir nicht alles bekommen,
    {
    server.log ("Read failure"); // Einen Ausfall zu melden
    return false; // Und return false
    }

    // Die Anzahl der ADC in eine Spannung umzuwandeln
    lokale Spannung = Daten * (hwvolts / 65535);

    // Je nachdem, wie Sie die 3,3 V und GND auf die verdrahtet
    // Resistor / Thermistor-Spannungsteiler, wählen Sie die
    // Entsprechenden Formel, um den Widerstand zu berechnen
    // Der Thermistor.
    lokale Ohm = null;
    if (ThermToGND == 1)
    // Mit Widerstand auf 3,3 V und Thermistor auf GND verwendet
    Ohm = ROhms / ((hwvolts / Spannung) -1);
    sonst
    // Mit Widerstand auf GND und Thermistor auf 3,3 V verwendet
    Ohm = ((ROhms * hwvolts) / Spannung) - ROhms;

    // Wir werden eine erweiterte Steinhart-Hart-Gleichung zu verwenden,
    // Berechne die Temperatur basierend auf der berechneten
    // Widerstand des Thermistors. Wir werden die Include-
    // Umrechnungsfaktor von Kelvin in Celsius
    lokale TEMPc = 1,0 / (A + B * math.log (Ohm / Rref) +
    C * Math.pow (math.log (Ohm / Rref), 2) +
    D * Math.pow (math.log (Ohm / Rref), 3)) - 272,15;
    zurück TEMPc; // Und gibt die Temperatur
    }
    }
    <Code Ende>

Schritt 10: Hauptcode hinzufügen für die Firmware

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Als nächstes werden wir den Hauptteil des Codes, der die Klasse verwendet hinzufügen. Sie fügen Sie diese unter dem Text, den Sie eingefügt haben (oder eingegeben) im letzten Schritt.

    <Code beginnen>
    // Die konstanten Werte für die Steinhart-Hart-Gleichung als Set
    // Durch die Anwendung von zur Verfügung gestellt
    // Http://www.vishay.com/resistors-non-linear/ntc-curve-list/
    lokale CONSTA = 0,003354016; // A1
    lokale constB = 0,00025698501802; // B1
    lokale constC = ,0000026201306709; // C1
    lokale constD = 0,000000063830907998; // D1

    // Den Sensor mit den erforderlichen Werten Instanziieren
    lokale Tempsensor = ThermistorCelcius (2, 10000, 4700, CONSTA, constB, constC, constD, 0);

    // Erstellen Sie die Ausgangs-Port, um Temperaturwerte senden
    lokale output = Output ("Temp, Volt, Location", "Tabelle");

    lokale Iteration = 0; // Verwendet, um die Anzahl der Probenahmen zu zählen
    lokale tempval = 0; // Speichert den akkumulierten Wert für die Mittelwertbildung

    // Erfassung und melden Sie sich ein Temperaturmesswert wird alle 30s
    Funktion capture ()
    {
    // Setze Timer für die nächste Erfassung
    // In 0,1 Sekunden Zeit, führen Sie die Funktion "Capture"
    imp.wakeup (0.1, capture);

    // Ausgabe der Wert nach dem Sammeln von 50 Proben und Mittelung
    // Eine Temperaturmessung mit der Klasse über
    lokale Temperatur = tempSensor.readTemp ();

    // Wenn wir 50 Proben, dann setzen Zähler und Ausgabe
    // Durchschnittswert
    if (Iteration == 50)
    {
    Iteration = 0;
    // Erstellen Sie eine Tabelle mit den wichtigsten: Wert-Paare zu senden
    lokale dTabelle = {
    "Temp": tempval / 50,
    "V": hardware.voltage ()
    "Ort": "Above Büroschalter"
    }
    output.set (dTabelle);
    server.show (Format ("Gesendet:" Temp ":% 3.1f" Volt ":% 3.2f", tempval / 50, hardware.voltage ()));
    tempval = 0;
    }
    else // ansonsten halten Sammeln von Proben
    {
    Iteration ++;
    tempval = tempval + Temperatur;
    }
    }

    // Mit dem Server registrieren
    imp.configure ("Wireless Thermistor", [], [Ausgabe]);

    // Start der Erfassung Temperatur
    erfassen ();

    // End of Code.
    <Code Ende>

Schritt 11: Starten Sie Ihren impee und sehen es in Ihrem Planer

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    An dieser Stelle haben wir unseren Code, den Sensor handhaben und erzeugen eine Ausgabe erstellt. Wir müssen jetzt etwas mit diesem Ausgang zu tun. Wir tun dies in den Planer der IDE.

    Stellen Sie sicher, impee eingesteckt und eingeschaltet ist. Klicken Sie dann auf den Link "Planer" an der Spitze.

    Die Blue-Box werden Sie sehen (mit "BLANK" in es) ist ein Impee. Ein Impee ist Ihr Stück Hardware und es ist einzigartig. Es gibt keine andere die gleichen in der Welt.

    Beachten Sie, dass, wenn durch Zufall Sie dieses Impee vom Planer löschen (klicken Sie auf den Impee und klicken Sie auf die Schaltfläche "Löschen Knoten", die Art und Weise, um es wieder durch Aus- und Einschalten der Hardware zu bekommen. Es wird dann wieder.

Schritt 12: Lassen Sie Ihre impee welche Firmware zu laufen

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Sie haben vielleicht bemerkt Ich wechselte Browsern (Firefox, um Crome). Die Operation ist die gleiche in beiden Browsern. Beachten Sie, dass zum Zeitpunkt der Niederschrift dieses Artikels, Internet Explorer nicht mit dem Planer zu arbeiten.

    Sie werden feststellen, Ihre Impee verfügt über eine Taste oben rechts und einen Link unten rechts. Klicken Sie in der oberen rechten Taste und ein Dialogfeld mit einem Dropdown-Feld zu öffnen. Klicken Sie auf den Abwärtspfeil, um die Liste zu öffnen.

    Sie können eine Liste der verschiedenen Firmware sowohl öffentliche als auch Ihre eigene Firmware erstellt sehen. Unter "Firmware" Sie werden sehen, 'Wireless Thermistor ", die die soeben erstellte Firmware. Wählen Sie es. Sie werden den Namen Ihres Impee Änderung "WIRELESS THERMISTOR" zu sehen und bald darauf, werden Sie sehen, beginnen die Meldung 'Verschickt: xx.x "(xx, x ist eine Zahl in Grad).

Schritt 13: Somethings falsch

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Mit all den besten Pläne, etwas, ist manchmal nicht richtig. So nehmen Sie einen kurzen Zwischenstopp hier. Nehmen wir an, Sie sehen, Zahlen, die nur schlicht und einfach falsch sind. Beispiel, wenn es offensichtlich in der 20 - 25 ° C Bereich, aber die Impee zeigt -3.5, müssen Sie die Polarität der Spannung über dem Thermistor / Widerstand nicht mit dem, was in dem Code vereinbaren.

    So ein bisschen wie eine Entschuldigung zu diesem Zeitpunkt. Wenn Sie die oben gefolgt sind, sollten Sie sehen, dieses Problem. Ich tat dies mit Absicht so die Übung würde uns zwingen, wie wir Änderungen an der Firmware aussehen.

    Zwei Optionen, ändern Sie es in Hardware (dh tauschen Sie das 3V3 und GND) oder Änderung der Codes durch Ändern der letzte Parameter des Befehls Klasse zu instanziieren von einer 0 auf eine 1 oder 1 zu einer 0 Lasst es uns in Code zum Wohle der Übung (auch wenn es nicht falsch) aus dem Planerbildschirm klicken Sie auf den Link Bearbeiten (unten rechts auf dem Impee) und Code-Fenster wird geöffnet.

    Sie sind für die Linie, die um Zeile 127 ist auf der Suche:
    lokale Tempsensor = ThermistorCelcius (2, 10000, 4700, CONSTA, constB, constC, constD, 0);

    Ändern Sie einfach den 0 am Ende mit einem 1.

    Klicken Sie nun auf die Schaltfläche Speichern (linke), dann müssen Sie auf den "Run Code" Taste (nächste nach rechts von Speichern) klicken. Am unteren Rand des Bildschirms Code, sollten Sie sehen, Servermeldungen ähnlich dem, was ist in diesem Bild sein.

Schritt 14: In HTTP-Knoten anfordern

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Ok Jetzt haben wir unsere impee Messtemperatur und Anzeige im Planer. Es ist nicht weiter noch gehen. Also lassen Sie uns erhalten, um eine Web-Seite zu aktualisieren. Wir übernehmen keine Code zu handhaben zu schreiben. Es ist alles durch den Elektro imp Wolken getan. Was wir tun, ist in den Planer (klicken Sie auf Planer), damit Sie Ihre impee sehen.

    Wir werden einen Knoten hinzuzufügen. Tun Sie dies, indem Sie auf die Schaltfläche "Hinzufügen Knoten" (oben links). Es erscheint ein Menü mit verschiedenen Knoten.

    Suchen Sie nach der HTTP-Anforderung Knoten, und klicken Sie auf die Schaltfläche Hinzufügen. Das Menü wird geschlossen und ein grüner Kasten wird ähnlich sein wie Ihre Impee Feld angezeigt.

    Dies ist einer der magischen Dinge über die elektrische imp. All diese Dinge, die verwendet werden, um eine Herausforderung für uns, um zu schreiben sind bereits getan. Wir fügen sie einfach.

Schritt 15: Erstellen Sie eine Nudel zwischen Ihrem impee und der HTTP-Anforderung Knoten

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Die oben links wird der Name HTTP-Anforderung und wird oben rechts auf die Schaltfläche haben die Konfiguration der Knoten zu ermöglichen. Ergreifen Sie sie mit der Maus und verschieben Sie sie auf der rechten Seite Ihres Impee Feld.

    Dass der Knoten, wie all die anderen Knoten auf dem Amazon Cloud laufen, nicht auf dem Imp sich. Der Imp kommuniziert über einen sicheren Kanal in die Cloud und die Wolke führt die Knotenfunktionen. Nur der Code, den Sie erstellen, läuft auf dem lokalen imp.

    Um die Verbindung zwischen Ihrem impee und dem Knoten HTTP-Request zu erstellen, auf das kleine + top Klicken Sie mit der rechten gerade außerhalb Ihrer impee Feld. Nun bewegen Sie die Maus über den HTTP-Request-Knoten bewegen und klicken Sie erneut. Zwischen dem ersten Klick (der +) und die zweite auf den Knoten sollte ein blauer Pfeil von Ihrem impee dem Knoten angezeigt. Sobald Sie auf den HTTP-Request-Knoten Feld geklickt haben, schaltet sich der Pfeil schwarz. Diese Verbindung wird als eine Nudel und ist die sichere Verbindung von Ihrem imp in die Cloud-Server.

Schritt 16: Konfigurieren der HTTP-Request-Knoten

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Um die HTTP-Request-Knoten zu konfigurieren, klicken Sie auf das configure Button oben rechts auf dem grünen Feld Knoten. Sie müssen eine URL, die auf eine Datei, die die Daten verarbeitet werden eingeben. Wählen Sie außerdem "application / json 'als Inhaltstyp. Nicht über die Verfahren zu kümmern, wie der JSON-Datenformat verwendet sie nicht.

    Beachten Sie, dass der Server von dem Amazon Cloud sichtbar sein, so dass es nicht eine private IP-Adresse (zB 192.168.1.2). Wenn Sie nicht über einen öffentlichen Web-Server, in einer Frei dynamischen DNS-Dienst wie no-ip.org, einen DNS-Namen für die öffentlichen Netzwerkadresse des Routers zu erstellen und Port-Weiterleitung festgelegt an Ihrem Router, um zu einem privaten Netzwerk erhalten Maschine.

Schritt 17: Holen Sie Daten an den Web-Server

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Jetzt haben wir die Imp alle Arbeiten und das Senden von Daten, würden wir besser schaffen die erforderlichen Web-Seiten, um die Daten zu empfangen und anzeigen. In diesem Beispiel werden wir eine Kombination von PHP und einige Javascript verwenden, um dies zu tun. Das Bild ist ein Fluss der, wie die verschiedenen Wechselwirkungen zu arbeiten.

    Ab diesem Zeitpunkt werden wir werden Textdateien lokal zu schaffen für das Hochladen auf einen Webserver. Erstellen Sie einen Ordner auf Ihrer Festplatte und nennen es etwas Einzigartiges. Vielleicht nennen es "imp". Dies ist, wo Sie die Dateien, die Sie in diesen nächsten Schritten erstellen zu speichern.

    Erstellen Sie die Dateien, können Sie Notepad oder der MAC equivelant Texteditor verwenden. Oder wenn Sie wirklich daran interessiert sind, können Sie Eclipse von Download http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr , die eine integrierte Entwicklungsumgebung für PHP ist.

Schritt 18: recieving auf den Webservern

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Erstellen Sie eine Datei mit dem Namen JSON.php

    JSON.php ist eine Server-basierte Datei, die imp Cloud-Service-Anrufe, vorbei an den Daten von Ihrem imp-Anwendung, um sie als JSON-formatierte Daten. Es ist die Aufgabe, die Daten zu decodieren, melden Sie es in eine Protokolldatei (oder einer Datenbank), und speichern Sie sie in einem Format für eine einfache Anzeige.

    (Vergessen Sie nicht, nur zwischen dem Code kopieren beginnen und Code-End-Tags, nicht die Tags selbst)

    <Code beginnen>
    <? Php
    // Sript, um die URL-codierte JSON-Daten aus dem IMP erhalten
    // JSON-String wird wie folgt aussehen:
    // {"value":{"volt":3.2780001163482666,"temp":24.332368850708008},"target":"300e600a779951c4","channel":1 }

    Funktion jsonToArray ($ json) {
    // Konvertiert JSON-Objekt zu einem Standard-Array
    $ Json = substr ($ json, strpos ($ json, '{') + 1, strlen ($ json));
    $ Json = substr ($ json, 0, strrpos ($ json, '}'));
    $ Json = preg_replace ('/ (^ |,) ([\\ s \\ t] *) ([^:] *) (([\\ s \\ t] *)): (([\\ s \\ t] *)) / s "," 1 € "€ 3" € 4: 'trim ($ json));
    zurück json_decode ('{' $ json.. '}', true);
    }

    // Holen Sie sich die Daten in ein Array können wir mit der Arbeit
    $ Darray = jsonToArray (file_get_contents ('php: // input'));

    // Extrahieren jede Komponente in seine eigene variable zur Erleichterung der
    // Lesen. Beachten Sie, dies ist nicht zwingend erforderlich, da es wirklich
    // Verdoppelung aber machen Code ein wenig leichter zu lesen.
    $ Target = $ Darray ['Ziel'];
    $ Channel = $ Darray ["Kanal"];
    // Beachten Sie, dass die Daten die Sie definieren und senden Sie in Ihrem Imp-Code ist
    // Ein Array im "Wert" Schlüssel / Wert-Paar.
    $ Temp = $ Darray ['Wert'] ['Temp'];
    $ V = $ Darray ['Wert'] ['Volt'];
    $ Location = $ Darray ['Wert'] ['Standort'];

    // Erstellen einer Datums- / Zeitstempel
    // Siehe http://php.net/manual/en/timezones.php für stützter Zeitzonen
    date_default_timezone_set ("Australia / Adelaide");
    $ Datetime = date ('Ymd H: i: s'); // 'Ymd H: i: s'

    // Wir werden eine CSV-Format Protokolldatei zu erstellen. Beachten Sie, je nach Aktualisierungsfrequenz kann diese Datei werden
    // Sehr groß !!!! Man könnte auch dies ändern, um die Daten in eine MySQL-Server statt einloggen.
    $ fa = fopen ("data.csv", "a");
    if (flock ($ fa, LOCK_EX))
    {
    fwrite ($ FA $ target. ",". $ channel. ",". $ datetime. ",". number_format ($ temp, 2). ",". number_format ($ Volt, 2). "\ n" );
    fflush ($ fa);
    Herde ($ fa, LOCK_UN);
    }

    // Erstellen Sie die Datei, die für Updates in einem Web-Browser gelesen werden kann.
    $ Fw = fopen ("latestImpData.txt", 'w');
    if (flock ($ fw, LOCK_EX))
    {
    fwrite ($ fw, $ target. "|" $ Kanal.. "|" $ datetime.. "|". number_format ($ temp, 1). "|". number_format ($ Volt, 2). "|". $ location);
    // Fwrite ($ fw, file_get_contents ('php: // input'));
    fflush ($ fw);
    Herde ($ fw, LOCK_UN);
    }
    ?>
    <Code Ende>

Schritt 19: Anzeige der Daten im Web-Browser Schritt 1

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor

    So dass deckt immer die Daten an den Web-Server. Die nächste Stufe ist immer es in Ihrem Web-Browser angezeigt.

    Erstellen Sie eine neue Datei namens index.php und kopieren Sie den folgenden Code ein.

    Alles, was zwischen einem "<! -" Und "->" ist ein HTML-Kommentar, der der Server und Web-Browser wird ignoriert.

    <Code beginnen>

    ! << DOCTYPE html PUBLIC "- // W3C // DTD HTML 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
    <Html>
    <Head>
    <Title> Ihr Mini-Wetterstation </ title>

    <! - Die obigen Abschnitt würde entfallen, wenn Sie das Hinzufügen dieser zu einer vorhandenen Web-Seite. Das nächste Stück Code benötigt, um zwischen den <head> und </ head> Tags in Ihre bestehende Seite sein. ->

    <! - Sind die jQuery-Bibliothek von Google, um die JSON-Funktionalität bieten ->
    <Script type = "text / javascript" src = "https: //ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 'charset =" UTF-8 "> </ script>

    <Script type = "text / javascript">

    funktionieren displayLiveData ()
    {
    // Anfrage die Daten im JSON-Format vom Server
    var current = new Date ();
    € .getJSON ('./ getJSONdata.php? Datentyp = full &' + currentTime.getTime () Funktion (Daten) {
    var items = [];
    // Funktioniert durch den Satz von Schlüssel / val Paare und sagen dem Browser, wo zu aktualisieren
    € .each (Daten, Funktion (key, val) {
    Schalter (key)
    {
    Fall "impID":
    document.getElementById ("impID") innerhtml = val.
    brechen;
    Fall "chan":
    document.getElementById ("chan") innerhtml = val.
    brechen;
    Bei "Datum":
    document.getElementById ("date") innerhtml = val.
    brechen;
    Bei "Zeit":
    document.getElementById ("Zeit") innerhtml = val.
    brechen;
    Fall "temp":
    document.getElementById ("temp") innerhtml = val.
    brechen;
    Fall "Volt":
    document.getElementById ("V") innerhtml = val.
    brechen;
    Fall "location":
    document.getElementById ("location") innerhtml = val.
    brechen;
    }
    });

    });
    }

    onload = function ()
    {
    // Setzen eines Zeitintervalls, das Update von Text auf der Seite zu tun
    t = window.setInterval ("displayLiveData ()", 5000);
    };

    </ Script>

    <! -, Wenn das Hinzufügen zu einer bestehenden Seite, würden Sie die oben vor dem </ head> -Tag in die Seite eingefügt haben ->

    </ Head>

    <! - Diesen nächsten Code zwischen dem </ head> und <body> Tags in Ihre bestehende Seite. Dies ist ein PHP-Skript, das die neuesten Werte liest, um die anfängliche Anzeige der Daten. Javascript wird nicht angezeigt, wenn Seite geladen wird. ->

    <? Php
    // Inhalt latestImpData.txt und Split-Werte zu lesen
    // Variablen für die Anfangsanzeige
    $ data = file_get_contents ("latestImpData.txt");
    $ Umwandeln = explode ("|", $ data);
    $ ImpID = $ umwandeln [0];
    $ Chan = $ umwandeln [1];
    $ Datetime = $ umwandeln [2];
    $ Temp = $ umwandeln [3];
    $ V = $ umwandeln [4];
    $ Location = $ umwandeln [5];
    $ Dt = explode ("", $ datetime);
    $ Date = $ dt [0];
    $ Time = $ dt [1];
    ?>

    <! - Ende der php Lesen von Werten Teil ->

    <Body>
    <H1> My Mini-Wetterstation </ h1>
    <P> Dies ist ein einfaches Stück Code, der die Spannung von einem Thermistor liest, wandelt in C und Anzeigen. </ P>
    <Ul>
    <! - Zeigt eine Liste der Daten zunächst mit PHP mit Javascript Übernahme ->
    <! - Nach 5 Sekunden, um kontinuierlich zu aktualisieren ->
    <Li> Imp ID: <span class = class = "ajax" id = "impID" style = "font-size: 15px"> <? Php echo $ impID; ?> </ Span> </ li>
    <Li> Sender: <span class = class = "ajax" id = "chan" style = "font-size: 15px"> <? Php echo $ chan;? ?> </ Span> </ li>
    <Li> Imp Ort: <span class = class = "ajax" id = "location" style = "font-size: 15px"> <? Php echo $ location; ?> </ Span> </ li>
    <Li> Datum: <span class = class = "ajax" id = "date" style = "font-size: 15px"> <? Php echo $ date; ?> </ Span> (Adelaide / Australien) </ li>
    <Li> Zeit: <span class = class = "ajax" id = "Zeit" style = "font-size: 15px"> <? Php echo $ Zeit; ?> </ Span> (Adelaide / Australien) </ li>
    <Li> Temperatur: <span class = class = "ajax" id = "temp" style = "font-size: 15px"> <? Php echo $ temp; ?> </ Span> C </ li>
    <Li> Imp Spannung: <span class = class = "ajax" id = "Volt" style = "font-size: 15px"> <? Php echo $ Volt; ?> </ Span> V </ li>
    </ Ul>
    <P> Sie können eine vollständige Protokoll anzuzeigen seit Beginn der Prüfung durch <a href="data.csv"> Sie hier klicken </a> </ p>
    </ Body>
    </ Html>

    <Code Ende>

    Diese Datei ist eine Mischung aus HTML, PHP und Javascript, und zeigt eine ziemlich grundlegende Seite, die die Werte alle 5 Sekunden aktualisiert.

Schritt 20: Anzeige der Daten im Web-Browser Schritt 2

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Diese letzte Datei ist die von der Sie Javascript in index.php aufgerufen. Es liest latestImpData.txt (erstellt von der JSON.php Datei) und sendet die Daten als JSON-Daten an den Web-Browser für den Javascript, um lesen und anzeigen.

    Creat eine Datei namens "getJSONdata.php" und kopieren Sie den folgenden Code hinein.

    <Code beginnen>

    <? Php
    // Die Daten von latestImpData.txt Datei lesen
    $ data = file_get_contents ("latestImpData.txt");

    // Was soll in der latestImpData.txt Datei sein:
    // ImpID Kanal Datum Zeit Temp-Volt-Position
    // 300e600a779951c4 | 1 | 2012.12.27 10: 39: 06 | 24,9 | 3,28 | Above Amtsvermittlung

    Character | // in chuncks basierend auf dem Aufbrechen der Daten
    $ Umwandeln = explode ("|", $ data);

    // Jetzt brechen die Datum / Uhrzeit in separate Datum und Uhrzeit
    $ Datetime = $ umwandeln [2];
    $ Dt = explode ("", $ datetime);

    // Ein Array, das auf die JSON Encoder gesendet wird
    $ Json_array = array (
    'ImpID' => trim ($ umwandeln [0]),
    "Chan '=> trim ($ umwandeln [1]),
    'Date' => trim ($ dt [0]),
    'Zeit' => trim ($ dt [1]),
    'Lage' => trim ($ umwandeln [5]),
    'Temp' => trim ($ umwandeln [3]),
    'V' => trim ($ umwandeln [4])
    );

    // Kodieren das Array und zeigt es für die
    // Sie Javascript in index.php zu lesen
    echo json_encode ($ json_array);
    ?>

    <Code Ende>

    Hinweis: Wenn Sie diese von Ihrem Web-Browser ausgeführt werden Sie sehen, wie die Daten formatiert und gesendet.

Schritt 21: Laden Sie auf dem Web-Server und Test

  1. Einfache drahtlose Temperatursensor Aktualisierung Website mit Elektro imp und Thermistor
    Jetzt ist es Zeit, um die drei Dateien, die Sie gerade erstellt haben, auf einem Web-Server gestellt. Wie bereits erwähnt, hat der Web-Server aus dem Amazon Cloud zugänglich sein. Wenn Sie nicht über einen Web-Server kann die Amazon Cloud eine Option, um mit, wie sie bieten kostenlose Probeabonnements zu spielen. Es gibt ein paar andere wie Microsoft. Ein Web-Hosting-Account mit GoDaddy ist auch sehr billig.

    Die andere Alternative ist etwas, auf dem lokalen Computer, die PHP-Dateien zu verarbeiten richtet. Wenn Sie dies tun, müssen Sie auf Ihrem Router einrichten etwas Network Address Translation (NAT) auf Anfragen auf Port 80 an Ihr Gerät weiterzuleiten.

    Schalten Sie impee, und gehen Sie zu Ihrem Web-Adresse, die Sie eingerichtet haben, und presto, einem Mini-Wetterstation auf die billige Tour :)