Inhaltsverzeichnis:

Mit NodeMcu Daten von jeder Website über WLAN (Nordlichtanzeige) abrufen und in der Umgebung anzeigen - Gunook
Mit NodeMcu Daten von jeder Website über WLAN (Nordlichtanzeige) abrufen und in der Umgebung anzeigen - Gunook

Video: Mit NodeMcu Daten von jeder Website über WLAN (Nordlichtanzeige) abrufen und in der Umgebung anzeigen - Gunook

Video: Mit NodeMcu Daten von jeder Website über WLAN (Nordlichtanzeige) abrufen und in der Umgebung anzeigen - Gunook
Video: ESP8266 als Webserver, Temperaturanzeige mit einem DHT11 2024, Dezember
Anonim
Ziehen Sie Daten von jeder Website über Wifi (Nordlichtanzeige) und zeigen Sie sie in einer Umgebung mit NodeMcu. an
Ziehen Sie Daten von jeder Website über Wifi (Nordlichtanzeige) und zeigen Sie sie in einer Umgebung mit NodeMcu. an

Meine Motivation: Ich habe viele Anleitungen zum Einrichten / Verwenden einer NodeMCU (aufgebaut auf dem ESP8266-Modul) für die Erstellung von IoT-Projekten (Internet der Dinge) gesehen. Allerdings hatten nur sehr wenige dieser Tutorials alle Details / Codes / Diagramme, die ein Anfänger von Anfang bis Ende verfolgen konnte, und keines von ihnen tat genau das, was ich wollte.

Was wird das abdecken?: Dies deckt alles ab, was Sie wissen müssen (und was ich nicht getan habe), einschließlich:

  1. Materialien (was ich speziell verwendet habe)
  2. Arduino, NodeMcu, ESP8266, was ist der Unterschied?
  3. Erste Schritte mit dem NodeMcu

    1. Einrichten der Software (Arduino IDE)
    2. Eine LED blinken lassen
    3. Optionen zur Stromversorgung des NodeMcu
    4. Verbindung zum Internet herstellen
  4. So ziehen Sie Daten von einer Website

    1. "Zeigen" auf die gewünschten Informationen auf der Website
    2. Thingspeak/ ThingHTTP/ APIs (keine Angst, keine Codierung notwendig)
    3. Zugriff auf diese Daten von der NodeMCU
  5. Anzeige der Daten

    1. Was ich verwendet habe (wie man eine 7-Segment-Anzeige verdrahtet)
    2. Einige Ideen/Dinge, die ich mit mehr Zeit gemacht hätte
  6. Wie man eine Kiste baut, denke ich

HAFTUNGSAUSSCHLUSS: Ich habe mir viele Videos angeschaut, um zu lernen, wie man das macht, und fast der gesamte Code ist aus anderen Quellen zusammengesetzt und ich kann mich nicht an alle erinnern. Die Hauptquelle für die Inspiration von thinghttp war dieser Typ, der im Wesentlichen das Gleiche tut, was ich beschreibe, aber ich fand es heraus, was Touchscreen-Zeug war und was nicht verwirrend war. Ich halte dieses anweisbare eher für eine Einführung in die NodeMcu- und irgendwie eine Art IoT-Projekte als für ein bestimmtes Objekt, aber die Inspiration für diesen spezifischen (Northern Lights) Indikator war dieses anweisbare aus dem Jahr 2008. Ich liebte die Art und Weise, wie es als "arm" beschrieben wurde man's ambient orb", die Umgebungsinformationen wie Aktien, YouTube-Ansichten oder das Wetter anzeigt, ohne Telefone oder andere aufdringliche Mittel zu verwenden.

Schritt 1: Materialien

Materialien
Materialien
Materialien
Materialien

Du wirst diese BRAUCHEN:

1. Ein NodeMcu-Board

2. Ein Micro-USB-Kabel zum Hochladen des Codes auf das Board und zur Stromversorgung des Endprodukts, wenn Sie dies wünschen.

3. LEDs, Überbrückungsdrähte (männlich-männlich, männlich-weiblich) und ein Steckbrett zum Anschließen von Dingen … das ist sozusagen selbstverständlich, aber was immer Sie "ausgeben" möchten (Anzeigen oder abhängig von den Daten), erfordert Hardware. Wenn Sie die Umgebungskugel neu erstellen oder genau das machen möchten, was ich getan habe, sind eine 7-Segment-Anzeige oder einige LEDs gerade subtil genug. Das Steckbrett ist für das "Prototyping" erforderlich, bevor Sie die Dinge 4 wirklich verbinden, und ich werde im entsprechenden Abschnitt erklären, wie sie funktionieren / wie die Dinge verbunden sind. Wenn Sie nur ein Anfänger sind, besorgen Sie sich einfach ein Arduino-Starterkit, da es viele kleine Dinge enthält (einschließlich allem, was ich verwendet habe), plus ein Arduino-Uno für ein anderes Projekt.

Dinge, die Sie möglicherweise brauchen:

4. Ein Breadboard-Netzteilmodul (Wenn Sie den NodeMcu mit einem Standard-Netzteil betreiben möchten … würde ich dies nicht tun, da Sie es einfach mit einem Micro-USB-Anschluss betreiben können, was viel bequemer ist. Wenn Sie Ihr Projekt realisieren möchten komplett drahtlos, dann brauchst du natürlich einen Akku, aber das werde ich im Abschnitt "Power" behandeln.

5. 1/4 Kiefer für eine kleine Kiste (wenn Sie möchten)

6. Etwas Furnier, um Ihre Box zu bedecken und / oder als Diffusor für Ihre LED oder Ihr Display zu fungieren

7. Super (CA) und/oder Holzleim zum Anbringen von 5. und 6.

Schritt 2: Was ist eine Knoten-MCU?

Was ist eine Knoten-MCU?
Was ist eine Knoten-MCU?
Was ist eine Knoten-MCU?
Was ist eine Knoten-MCU?

Wenn Sie wie ich ein echter Anfänger in der Elektronik sind, fragen Sie sich vielleicht, was der Unterschied zwischen einem Arduino-Board und einem NodeMcu-Board ist, und vielleicht haben Sie auch schon vom ESP8266 gehört … was ist der Unterschied zwischen diesen?!?

Dies ist keineswegs technisch, aber das müssen Sie wissen.

Der Arduino hat die Fähigkeit, Eingaben von einer Reihe von Pins zu lesen, mit diesen Eingaben "Dinge zu erledigen" und dann an eine Reihe von Pins auszugeben. Es ist im Wesentlichen ein kleiner Computer. Arduino stellt viele verschiedene Boards her und viele "Shields", die an die Boards angeschlossen werden, um zusätzliche Dinge zu tun. Die Produkte, die sie derzeit verkaufen, die mit dem Internet verbunden sind, sind sehr teuer und haben keine große Community, die ihnen folgt. Der Code wird von der Software "Arduino IDE" geschrieben und auf die Boards hochgeladen, die C und C++ unterstützt, mit einigen anderen speziellen Formatierungen. Sie müssen nicht wissen, wie man C oder C++ programmiert, um zu programmieren, da es solche gibt eine verrückte Fülle von Code, der online verfügbar ist, aber eine gewisse Vertrautheit mit der Programmierung (insbesondere mit Dingen wie while- und for-Schleifen, Variablendeklaration und Gültigkeitsbereich usw.) hilft, das Verständnis zu beschleunigen. Die Arduino-IDE bietet auch einen einzigen Ort zum Herunterladen der erforderlichen Bibliotheken für verschiedene Boards (dazu später mehr beim Einrichten der NodeMcu).

Das ESP8266 ist ein extrem billiges WLAN-Modul, das die internetfähigen Arduino-Schilde im Grunde überflüssig gemacht hat (obwohl Sie immer noch Arduino-Boards mit integriertem WLAN sehen). Die DIY-Community rund um den ESP8266 ist so groß, dass er fast die einzig logische Wahl ist, um internetfähige Geräte zu bauen. Oft wird es in Verbindung mit einem Arduino-Board über die seriellen Pins (Rx und Tx) verwendet, obwohl ich denke, dass einige Leute sie "standalone" verwenden, aber da der Mikrochip so winzig und schwierig zu verbinden ist (er hat im Grunde 6 Pins).: 2 für seriell (mit Dingen sprechen), 2 für Strom (Masse und VCC) und 2 GPIO (Allzweck-Eingangsausgang), plus es arbeitet mit 3,3 V und 5 V wird es zerstören), dass es schnell ersetzt wurde von…

Das NodeMcu, das wie das Arduino ein Open-Source-Entwicklungsboard ist, außer mit dem ESP8266. Sie können den ESP8266, der in die NodeMcu-Platine eingebaut ist, tatsächlich in den Bildern sehen, die ich angehängt habe. Dieses Board ist perfekt programmier- und schnittstellenfreundlich und im Grunde vergleichbar mit einem Arduino-Nano. Es hat viele weitere Pins und kann über einen USB direkt von Ihrem Computer aus programmiert werden, ohne dass Sie durch eine andere Platine gehen müssen. Obwohl die Platine technisch immer noch mit 3,3-V-Logik anstelle von 5-V-Logik arbeitet, verfügt sie über integrierte Chips, um diese Spannung zu verwalten, sodass sie wie Ihr Arduino mit Strom versorgt werden kann, sei es über USB oder über die VCC-Pins (Spannungseingang).. Grundsätzlich ist das NodeMcu für alles IoT ein gutes, einfaches Einzelboard und WiFi-fähig… obwohl es auch für Nicht-WLAN-Projekte eine gute Wahl ist. Technisch gesehen ist die "out of the box" -Sprache von NodeMcu LUA, aber nach einer einmaligen Einrichtung innerhalb der Arduino-IDE können Sie es wie jedes andere Arduino programmieren.

Schritt 3: Erste Schritte mit dem NodeMcu

Ich habe das folgende Video verwendet, um meine erste Inbetriebnahme mit dem NodeMcu durchzuführen, und wenn Sie alle seine Anweisungen genau befolgen, sollte alles gut funktionieren.

1. Einrichten der Software (Arduino IDE)

  • Laden Sie die Arduino IDE über den obigen Link herunter und wählen Sie "nur herunterladen", wenn Sie keine Spende machen können
  • Öffnen Sie die Arduino IDE-Software
  • Fügen Sie unter File -> Preferences, Additional Boards Manager URLs den folgenden Link "https://arduino.esp8266.com/versions/2.5.0-beta2/package_esp8266com_index.json" ein.
  • Scrollen Sie unter Tools -> Board -> Boards Manager (oben) nach unten oder suchen Sie nach ESP8266 und klicken Sie auf Installieren
  • Möglicherweise müssen Sie die Arduino-IDE neu starten, damit dies angezeigt wird, aber jetzt klicken Sie auf Tools-> Board und wählen Sie das Board aus, das Sie erhalten haben, d. h. das NodeMcu 1.0 ESP12-E-Modul
  • Möglicherweise müssen Sie diesen Schritt nicht ausführen, aber schließen Sie den USB von Ihrem NodeMcu an Ihren Computer an (Leuchten blinken), und gehen Sie zu Systemsteuerung -> Geräte-Manager -> Anschlüsse -> und notieren Sie sich dann den COM-Anschluss, der beschriftet ist „Silicone Labs…“das ist der COM-Port, den der NodeMcu verwendet
  • Gehen Sie zurück zu Arduino IDE und zu Tools-> Port: und stellen Sie sicher, dass dieser Port ausgewählt ist
  • Alles sollte gut sein, aber stellen Sie sicher, dass unter Tools die Flash-Größe 4 ist (keine Sorge um die SPIFFS, was auch immer ausgewählt ist, ist gut) und dass die Upload-Geschwindigkeit 115200 beträgt, schätze ich… Der NodeMcu verwendet tatsächlich eine Baudrate von 9600, um Informationen an den seriellen Monitor zurückzugeben (wenn Sie nicht wissen, was das bedeutet, machen Sie sich keine Sorgen, es wird im Beispiel angezeigt), aber wenn im Code und dann im Monitor, haben Sie 9600, das ist gut.

2. Eine LED blinken lassen

Dies ist wie die "Hello World" (d. Dies demonstriert NICHT die WiFi-Fähigkeiten des Boards (wir tun dies im nächsten Beispiel), stellt nur sicher, dass es verbunden ist und funktionieren kann usw.

  • Öffnen Sie die Arduino-IDE, lassen Sie Ihr NodeMcu einstecken
  • Bevor Sie etwas tun, beachten Sie, dass es ein Framework für den grundlegendsten Code gibt, den Sie in Ihr Arduino schreiben können, mit einer setup()-Schleife, die einmal ausgeführt wird, und einer anderen loop(), die für immer kontinuierlich ausgeführt wird. Unser endgültiger Code wird genau so strukturiert sein, mit einigen oben hinzugefügten Dingen und einer unten definierten Funktion
  • Datei->Beispiele-> (im Abschnitt NodeMcu 1.0) ESP8266 ->Blink
  • Dadurch wird ein Code im Fenster geöffnet. Fühlen Sie sich frei, es irgendwo zu speichern.
  • In diesem Code enthält die setup()-Schleife die Definition der eingebauten LED auf der Platine als Ausgang, und die Schleife gibt High und Low an diese LED aus. Beachten Sie, dass für die in die Platine eingebaute LED (nur! dies ist nicht der typische Fall) der Ausgang "LOW" (0 Volt) zum Einschalten führt, da er standardmäßig eingeschaltet ist, und "HIGH" (3,3 V in.). in diesem Fall denke ich), ist aus
  • Wenn alles wie oben beschrieben richtig eingerichtet ist, sollten Sie in der Lage sein, auf "Überprüfen" zu klicken (das Häkchen im Kreis in der oberen linken Ecke), um sicherzustellen, dass keine Fehler vorliegen (dieser hat keine, da Sie schreibe es nicht, aber deins!), und wenn alles gut ist, das "Upload" gleich daneben
  • Sobald Sie auf Hochladen klicken, sehen Sie unten im schwarzen Bereich etwas vorgelesenes und Punkte/% sind vollständig ausgefüllt
  • Machen Sie sich keine Sorgen, dass es 33% des Speichers beanspruchen wird … das ist im Grunde eine "feste" Menge, die selbst der einfachste Code einnimmt, was ich geschrieben habe, hat nur 1% zusätzlichen Speicherplatz beansprucht
  • Sie werden sehen, dass die LED auf der Platine zu blinken beginnt (was möglicherweise bereits ein wenig getan hat). Sie können also die Anzahl der Tausendstelsekunden (Millisekunden) im Verzögerungsteil des Skripts ändern. Wenn Sie zum ersten Mal programmieren, wird es wahrscheinlich ein echter Nervenkitzel, die LED mit einer etwas anderen Frequenz blinken zu sehen

3. Optionen zur Stromversorgung des NodeMcu

Ich bin mir nicht sicher, warum ich das zuerst nicht verstanden habe, aber der Code, den Sie auf das Board hochladen, bleibt dort und wird für immer und ewig ausgeführt, sobald / solange Strom zugeführt wird. Wenn Sie es beispielsweise nach Abschluss von Schritt 2 von Ihrem Computer trennen und es an anderer Stelle einschalten, beginnt es erneut zu blinken. Der einfachste Weg, den NodeMcu mit Strom zu versorgen, besteht darin, einfach einen Micro-USB daran anzuschließen und dann an einen Ladeblock, wie Sie ihn für Ihr Handy in der Wand verwenden (ein 5V 1A-Block oder was auch immer es sein mag). Fühlen Sie sich frei, sich meine anderen anweisbaren Informationen zur Stromversorgung von Dingen, Polarität von DC-Buchsen usw. anzusehen, aber das Wesentliche ist, dass Sie jede gewünschte Stromstärke verwenden können, solange es ausreicht, um alles zu versorgen (1A ist mehr) als viel für dieses Board und alle LEDs, die Sie verwenden, zum Beispiel), aber die Spannung muss in einem sehr engen Bereich liegen, damit alles richtig funktioniert. Auf dem NodeMcu können Sie sicher ein Netzteil mit einer beliebigen Spannung von 3,3 V bis 20 V verwenden, da sich auf der Platine ein Regler befindet, der diese Spannung drosselt (das ist ein nettes Feature). Bei Stromstärke ist das Überschreiten in Ordnung, da die Platine nur das zieht, was sie benötigt, aber bei Spannung ist es im Allgemeinen sicherer, Spannungen so nah wie möglich an der erforderlichen # zu verwenden, ohne dass sie unterschritten werden, sodass weniger Arbeit geleistet werden muss / Strom verschwendet wird die Spannung runter drosseln. Wenn Sie einen Akku verwenden möchten oder eine Gleichstrombuchse verwenden möchten (vielleicht damit Sie ein schönes langes Kabel haben), sind die zu verwendenden Pins die VIN-benachbarten Massepins.

4. Verbindung zum Internet herstellen

Ich habe als Datei (für die Nachwelt, falls das Video verschwindet) den Code aus dem obigen Youtube-Video angehängt, aber bitte gehen Sie durch den Youtube-Link und geben Sie ihm eine Ansicht für den Code. Es ist Ihre Zeit wirklich wert, er erklärt die Geschichte des Boards, die irgendwie Spaß macht.

Öffnen Sie die Arduino-Codedatei namens "Wifi_connect" und ändern Sie die SSID und das Passwort in Ihre eigenen, dann gehen Sie

  • Beachten Sie, dass sich über den Schleifen eine #include-Zeile befindet, die Arduino anweist, eine Bibliothek mit WiFi-Zeug für den ESP8266 einzubinden. Dies sind im Grunde eine Reihe von Dienstprogrammen und Dingen, die gebündelt sind und es Ihnen ermöglichen, bestimmte Dinge relativ einfach zu erledigen, indem Sie die in der Bibliothek enthaltenen vorgefertigten Elemente verwenden. Wenn Sie beispielsweise ein Schild oder eine Ergänzung zu einem Board gekauft haben, sind damit wahrscheinlich Bibliotheken verbunden, damit Sie leichter darauf zugreifen können.
  • Extras->Serieller Monitor
  • Stellen Sie sicher, dass der serielle Monitor auf 9600 eingestellt ist. Wenn er nicht die richtige Geschwindigkeit hat, spuckt der serielle Monitor ein verstümmeltes Durcheinander aus im Code
  • Klicken Sie auf Verifizieren und Ausführen, und beobachten Sie den seriellen Monitor, wie er fertig ist. Es tut nichts, aber wenn Sie dieses Board irgendwo an die Wand stecken, können Sie 30 Sekunden warten und ziemlich sicher sein, dass es eine Verbindung mit dem Internet hergestellt hat, was auch aufregend sein sollte.
  • Um sich selbst zu testen, versuchen Sie, den "blink"-Code und den "wifi_connect"-Code zusammenzufügen, damit die Onboard-LED aufleuchtet oder blinkt, sobald sie mit dem Internet verbunden ist. Dies ist eine großartige Möglichkeit zu lernen!

Wenn Sie alle oben genannten Dinge getan haben, herzlichen Glückwunsch! Sie haben gezeigt, dass Sie Code auf die NodeMCU hochladen können und dass sich die NodeMcu mit Ihrem WLAN verbinden kann. Wir werden tatsächlich eine etwas andere Methode zur Verbindung mit dem WLAN verwenden, indem wir die MultiWifi-Bibliothek anstelle der regulären alten Wifi-Bibliothek verwenden, da Sie einfach eine Liste von WLANs hinzufügen und einfach versuchen können, eine Verbindung herzustellen, wo immer es möglich ist.

Schritt 4: So ziehen Sie Daten von einer Website

So ziehen Sie Daten von einer Website
So ziehen Sie Daten von einer Website

Daten in Websites werden auf sehr gespenstische Weise gespeichert. Dies in die gewünschten Inhalte zu filtern oder zu "parsen" ist ebenso gruselig, und der Versuch, dies ohne wesentliche HTML-Kenntnisse zu tun, kann entmutigend sein … also ist das Ziel, die gewünschten Daten aus dem gruseligen Ort in eine sehr reiner und glücklicher Ort. Funktionell bedeutet dies, dass Sie von einer URL, die die gesamte Website anzeigt, zu einer URL wechseln, die NUR das einzelne gewünschte Datenelement anzeigt.

1. "Zeigen" auf die gewünschten Informationen auf der Website

Gehen Sie auf die Website, die Sie interessiert, zum Beispiel hier

www.timeanddate.com/worldclock/canada/edmonton

Gehen Sie dann zu den gewünschten Daten, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Inspizieren". Es öffnet den HTML-Viewer in Ihrem Browser und zeigt Ihnen den letzten Zweig des Baums, aus dem Ihre Daten stammen. Ich finde, dass der am einfachsten zu verwendende Browser dafür Chrome ist, aber anscheinend hat Firefox einige Erweiterungen, die es besser machen …

Dort leben die Daten. Manchmal hat es eine ID, von der es referenziert wird, manchmal ist es einfach direkt eingeschrieben. Wie können wir das also extrahieren?

2. Thingspeak/ ThingHTTP/ APIs (keine Angst, keine Codierung notwendig)

Ich werde nicht einmal darüber sprechen, was APIs sind und wie Sie sie erstellen, aber Sie können sie sich als die tatsächliche Verbindung oder Übertragung zwischen Ihnen (Ihren Anfragen) vorstellen und wo die Dinge sind, nach denen Sie fragen. Die klassische Analogie ist ein Kellner in einem Restaurant. Um dies ohne jegliche Codierung durchzuführen, verwenden Sie einen kostenlosen Dienst namens "ThingSpeak" und speziell deren Anwendung "ThingHTTP". Erstellen Sie einfach ein Konto und gehen Sie dann zu Apps und ganz unten, thinghttp, und erstellen Sie eines.

Sie müssen lediglich die URL der Website kopieren und einfügen, beispielsweise das Datum und die Uhrzeit der Website oben, und dann bis zum letzten Feld "Parse String" scrollen. Dies ist der Pfad zu den gewünschten Daten.

Ich denke, dieser Pfad kann auf verschiedene Weise angegeben werden, aber der einfachste und einzige Weg, den ich kenne, besteht darin, mit der rechten Maustaste auf dieses Datenelement wie oben beschrieben zu klicken, es zu überprüfen und dann mit der rechten Maustaste auf die Zeile zu klicken, die diesen Daten entspricht in den HTML-Viewer und gehen Sie zu Kopieren-> x-Pfad. Dies ist im angehängten Bild zu sehen.

Wenn Sie fertig sind, rufen Sie die für Sie generierte URL auf und prüfen Sie, ob sie die gewünschten Daten auf irgendeine Weise enthält, mit der zumindest gearbeitet werden kann. Meiner sagt zum Beispiel die Temperatur als "XX F" anstelle der Anzahl der Grad Celsius, aber Einheiten und das F am Ende können leicht innerhalb des Codes geändert werden. ES IST EXTREM HÄUFIG, DEN FEHLER ZU ERHALTEN, DASS ES NICHT GEPARST WERDEN KANN. Wenn dies der Fall ist, versuchen Sie, einige der Header innerhalb des xpath zu löschen, suchen Sie nach den Daten an anderer Stelle oder konsultieren Sie ein Forum, in dem sie möglicherweise die "beschädigten" Aspekte Ihres Parse-Strings identifizieren können. Diese Methode wird definitiv NICHT auf einer Website funktionieren, die nicht die gewünschten Daten mit der Website lädt, sondern (selbst) aus einer externen Quelle zieht, was eine Weile zum Laden benötigt. Es sollte jedoch für die Dinge gut funktionieren wie Youtube-Sachen, Wetter usw.

3. Zugriff auf diese Daten von der NodeMCU

Ich habe bereits viel getippt, sehen Sie sich also den beigefügten Code an, der viele Kommentare enthält und derzeit so eingerichtet ist, dass er Aurora Borealis-Wahrscheinlichkeit für Edmonton AB, Kanada (nur!) einliest. Die erste Änderung, die Sie vornehmen müssen, besteht darin, die URL (tatsächlich nur den 16-stelligen API-Schlüsselteil der URL) in Ihr eigenes Dinghttp zu ändern.

Die zweite Sache, die Sie optimieren müssen, ist die Schleife (), wo der tatsächliche "Wert" eingegeben und als Variable "Ihr Wert" gespeichert wird, bei der es sich um eine Zeichenfolge (Text) handelt. Von da an kann es in jeder gewünschten Weise verwendet werden. Ich habe das Prozentsymbol entfernt, die 2 Stellen des % in 2 Variablen aufgeteilt (zum Beispiel 14% in 1, 4) und diese jeweils als ganze Zahlen gespeichert, aber mit ein paar schnellen Google-Suchen oder Kommentaren hier sollten Sie in der Lage sein um genau die gewünschten Zahlen aus der von thinghttp generierten Zeichenfolge zu extrahieren. Sie benötigen Zahlen, um beispielsweise entscheiden zu können, ob sie groß oder klein oder durch etwas teilbar genug sind, um Dinge ein- oder auszuschalten oder anzuzeigen. Der Rest des Codes von diesem Punkt an, einschließlich der Funktion am unteren Rand namens sevenseg(), wird zum Anzeigen der 2 Zahlen verwendet.

Fühlen Sie sich frei, Fragen zum Code zu stellen oder wie Sie die gewünschten Dinge extrahieren oder anzeigen können oder wie Sie diese Zahlen verwenden können, zum Beispiel das Spektrum einer RGB-LED aufteilen und verschiedene Werte auf verschiedene Farben abbilden.

Schritt 5: Anzeigen der Daten

Anzeigen der Daten
Anzeigen der Daten

1. Was ich verwendet habe (wie man eine 7-Segment-Anzeige verdrahtet)

Ich habe das beigefügte Diagramm / folgte der Verdrahtung, die von diesem anderen instructable beschrieben wurde.

Die Verkabelung ist ziemlich einfach, aber wenn Sie noch nie ein Steckbrett verwendet haben, kann es verwirrend sein, was los ist. Im Wesentlichen soll ein Steckbrett Verbindungen klar und temporär machen.

Alle folgenden Beschreibungen beziehen sich auf das beigefügte Diagramm: Ein Steckbrett kann horizontal in 2 sich wiederholende Hälften mit jeweils 2 unterschiedlichen Segmenten geteilt werden: horizontale - und + Reihen, die die Länge des Steckbretts verlängern (wird für die Stromversorgung verwendet) und vertikale Spalten, die nummeriert sind und aus 5 Punkten pro Spalte bestehen, die zum Markieren von Verbindungen verwendet werden. Dann gibt es eine kleine Lücke, und dann verdoppelten sich dieselben Merkmale auf der anderen Seite dieser imaginären Trennlinie. Alle Spots in der horizontalen + Reihe sind miteinander verbunden und alle der horizontalen - Reihe Spots sind miteinander verbunden. Auf diese Weise können Sie die Stromversorgung an einem Ende des Steckbretts anschließen und dann Dinge an einer beliebigen Stelle entlang des + anschließen, um die Stromversorgung zu entfernen, genau wie bei einer langen Stromleiste für Steckdosen. Das gleiche gilt für die - Reihe, die verwendet wird, um Dinge zu erden. Bei den nummerierten Spalten ist jeder Spot in einer nummerierten Spalte mit den anderen 4 Spots verbunden. Beachten Sie, dass die fünf Punkte in einer Spalte NICHT mit den fünf gegenüber der imaginären Mittellinie verbunden sind. Das Steckbrett könnte der Länge nach geschnitten werden und es würden keine elektrischen Verbindungen durchtrennt.

Der NodeMcu überspannt die beiden Hälften des Steckbretts perfekt, wobei jeder Pin, der der Stromversorgung oder den Eingängen / Ausgängen entspricht, eine nummerierte Spalte hat, sodass Sie Drähte an die verbleibende zugängliche Stelle anschließen und an anderer Stelle auf dem Steckbrett anschließen können. Gleiches gilt für die im Diagramm dargestellte 7-Segment-Anzeige. Folgen Sie beispielsweise dem Verlauf des Bodens von der Platine bis zur 7-Segment-Anzeige im Diagramm.

  1. Massepin von NodeMcu wird in Spalte 2 gesteckt
  2. Leitung von Spalte 2 zur -ve horizontalen Stromreihe (bezeichnet durch Konventionsmasse)
  3. von der Massezeile (die Spaltennummer ist irrelevant, da die ganze Zeile verbunden ist) zu Spalte 22 über einen Widerstand
  4. in den "Masse"-Pin der 7-Segment-Anzeige, die auch in Spalte 22 eingesteckt ist

Der Zweck des Widerstands im Diagramm besteht im Wesentlichen darin, einen Teil der überschüssigen Leistungsabgabe an die LEDs "aufzusaugen", wodurch das Display funktionell gedimmt wird. Sie werden sehen, dass, wenn eine "1" im Vergleich zu einer "8" leuchtet, die 1 viel heller ist, da weniger LEDs leuchten. Je weniger hell Sie die LED betreiben, desto länger hält sie, daher ist der Widerstand erforderlich. Die meisten Diagramme für 7-Segment-Anzeigen zeigen tatsächlich, dass mit jedem der einzelnen Segmente ein Widerstand in Reihe geschaltet ist, aber dies scheint gut zu funktionieren. Ich habe einen 1K Ohm Widerstand verwendet.

Achten Sie sehr genau darauf, welche Pins welchem Pin auf dem Display entsprechen, da diese im Code abgebildet sind.

2. Einige Ideen/Dinge, die ich mit mehr Zeit gemacht hätte

Dies ist im Wesentlichen der Punkt, an dem ich aufgehört habe, aber Sie hätten viele andere Dinge auswählen können, die basierend auf dem Wert Ihrer Daten ausgegeben werden sollen, wie zum Beispiel:

  • eine RGB-LED, die abhängig vom Wert die Farbe wechselt oder einen Farbverlauf abdeckt, z. B. von Grün nach Rot
  • ein volles LED-Display
  • eine logische Ein/Aus-LED über/unter Wahr/Falsch, die sich nur ein- oder ausschaltet, um etwas anzuzeigen
  • ein Motor, der sich zu einer bestimmten Tageszeit dreht, wie für ein Ventil an einem Bewässerungssystem oder um ein Leckerli für Ihren Hund freizugeben … Ich bin sicher, es gibt effizientere Möglichkeiten, dies zu tun, als die Zeit über WLAN zu interpretieren, aber es ist eine Option!

Der nächste Schritt (für den es überraschend viele weitere Tutorials gibt) ist das Posten von Daten auf Ihrem EIGENEN Server (was auch über Thingspeak erfolgen kann) und diese Daten dann zu verwenden (wie für einen automatisierten Garten oder Smart-House-Sachen).

Schritt 6: Aufbau einer Box

Eine Box bauen
Eine Box bauen
Eine Box bauen
Eine Box bauen
Eine Box bauen
Eine Box bauen
Eine Box bauen
Eine Box bauen

Alle über das Steckbrett hergestellten Verbindungen können dauerhaft hergestellt werden, indem Sie entweder die Drähte direkt zwischen der Platine und dem Ausgang (wie der LED) löten oder indem Sie ein viel kleineres Steckbrett oder eine Platine verwenden, um Verbindungen in einer Größe herzustellen, die in die Größe passt dein Projekt. Ich entschied mich für ein winziges Steckbrett, das in dem von mir verlinkten Kit enthalten war, und musste nur einen Widerstand an das Ende eines Drahtes löten … nicht sehr robust, aber funktional!

Ich schneide 4 Stücke von 1/4 "x 3,5" Kiefer bei 3,5" (die Seiten) und eines bei 4" (oben) und stecke sie einfach zusammen und klebte sie zusammen, um sicherzustellen, dass alle Gesichter quadratisch sind so wie möglich, damit jedes Gesicht so bündig wie möglich war. Vor dem Verkleben der Vorder- oder Rückseiten habe ich Bereiche für das Display und die Platine ausgeklinkt, um genug herauszuragen, um gesehen / eingesteckt zu werden. Das kleine Steckbrett, das ich bekam, hatte Klebeband auf der Rückseite, damit es an einer der Seitenwände befestigt werden konnte, und die 7-Segment-Anzeige konnte festgehalten werden, indem man das Stück zuerst auf Klebeband legte und das Display auf dieses Klebeband legte. und dann Backpulver über/in alle Lücken streuen. Dann goss ich CA (Super)-Kleber in die Zwischenräume, der beim Kontakt mit dem Backpulver sofort aushärtete, um das Display bündig an der Vorderseite des Frontteils zu halten. Das Klebeband sollte verhindern, dass Klebstoff zwischen dem Display und der Oberfläche, auf der es liegt, durchsickert und es nach dem Trocknen verdeckt.

Ich habe Kiefernfurnier auf alle Seiten geklebt (mit CA-Kleber, der meiner Meinung nach besser funktioniert als Holzleim) und die Kanten mit jedem aufgetragenen Stück abgeschliffen, damit es gleichmäßig aussieht / die Stoßfugen verbirgt / als Diffusor für die Anzeige wie in diesem Video.

Empfohlen: