Inhaltsverzeichnis:

Winziger ESP8266 Dash-Button (rekonfigurierbar) - Gunook
Winziger ESP8266 Dash-Button (rekonfigurierbar) - Gunook

Video: Winziger ESP8266 Dash-Button (rekonfigurierbar) - Gunook

Video: Winziger ESP8266 Dash-Button (rekonfigurierbar) - Gunook
Video: ESP32-CAM - Guide to making YOUR first DIY Security Camera 2024, Juli
Anonim
Winziger ESP8266 Dash-Button (rekonfigurierbar)
Winziger ESP8266 Dash-Button (rekonfigurierbar)
Winziger ESP8266 Dash-Button (rekonfigurierbar)
Winziger ESP8266 Dash-Button (rekonfigurierbar)
Winziger ESP8266 Dash-Button (rekonfigurierbar)
Winziger ESP8266 Dash-Button (rekonfigurierbar)

Dies ist ein winziger ESP8266-basierter Dash-Button. Es bleibt im Tiefschlaf, führt beim Drücken der Taste eine GET-Anfrage an die angegebene URL aus und übergibt, falls konfiguriert, auch die Versorgungsspannung als Variable. Das Beste daran ist, dass Sie durch einfaches Überbrücken von zwei Pins in den Konfigurationsmodus wechseln können. Ermöglicht Ihnen, alle Einstellungen ohne Neuprogrammierung zu ändern.

Um diesem instructable zu folgen, gehe ich davon aus, dass Sie einige Dinge kennen, wie; wie man lötet, wie man einem Schaltplan folgt und wie man ein Programm und SPIFFS-Daten auf ein ESP hochlädt.

Schritt 1: Benötigte Materialien und Werkzeuge

Benötigte Materialien und Werkzeuge
Benötigte Materialien und Werkzeuge
Benötigte Materialien und Werkzeuge
Benötigte Materialien und Werkzeuge
Benötigte Materialien und Werkzeuge
Benötigte Materialien und Werkzeuge

Für dieses Projekt benötigen Sie:

  • Ein ESP-01 (offensichtlich)
  • Ein 50mAh oder ähnlicher Li-Po Akku
  • 2x1 Buchsenleiste
  • Ein 3,3 V LDO (sehr zu empfehlen das HT-7333A, es hat einen ausgezeichneten Standby-Strom von 4uA und 170mV Dropout)
  • Ein kleiner Druckknopf
  • Etwas dünner Draht (Drahtwickeldraht funktioniert großartig)

Sie benötigen außerdem:

  • Ein ESP-Programmierboard
  • Ein Lötkolben / Lot / Flussmittel
  • Eine Entlötpumpe
  • Pinzette und/oder Abisolierzange
  • Sandpapier
  • Sekundenkleber

Schritt 2: Programmierung

Programmierung
Programmierung

Dieses Projekt ist vollständig Open Source, wenn Sie den Code ändern möchten, der sich auf meinem GitHub befindet. Aber das ist nicht nötig. Diese Taste kann ohne Neuprogrammierung neu konfiguriert werden.

Den vorkompilierten Code können Sie hier herunterladen.

Schließen Sie einfach Ihren ESP-Programmierer und Ihren ESP8266 an (denken Sie daran, GPIO_02 mit GND zu verbinden, um in den Programmiermodus zu gelangen) und laden Sie die.bin-Datei und die SPIFFS-Daten hoch.

Es ist sehr wichtig, den SPIFFS-Datenordner hochzuladen, ohne ihn wird der Code nicht booten. Und nach dem Entfernen der Stiftleisten wird es sehr mühsam, wieder neu zu programmieren.

Schritt 3: So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)

So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)
So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)
So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)
So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)
So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)
So funktioniert der Code (bei Interesse, ansonsten einfach überspringen)

Wenn der ESP hochfährt, liest und parst er die Datei ‚config.jsn‘aus dem SPIFFS-Dateisystem mithilfe der ArduinoJSON-Bibliothek. Dadurch werden alle konfigurierbaren Einstellungen in Variablen geladen.

Dann überprüft es, ob GPIO_03[RX] mit Masse verbunden ist, wenn dies der Fall ist, wird der Konfigurationsmodus aufgerufen.

Wenn dies nicht der Fall ist, wird versucht, eine Verbindung zum WLAN und dann zum Server herzustellen. Es schließt eine GET-Anforderung ab und wechselt in den Tiefschlaf, um Strom zu sparen.

Im Konfigurationsmodus können Sie alle Einstellungen vornehmen. (mehr dazu in Schritt 13)

Da hier Energiesparen wichtig ist, blinkt es einfach fünfmal schnell und dann lange, wenn etwas zu lange dauert oder die Verbindung zum WLAN/Server fehlschlägt, um einen Fehler anzuzeigen und in den Tiefschlaf zurückzukehren.

Wenn alles gut geht, blinkt es kurz und dann lange. Um zu zeigen, dass es gelingt. Dann geh in den Tiefschlaf.

Immer noch neugierig? schau mal auf meinem GitHub.

Schritt 4: Schaltplan

Schaltplan
Schaltplan

Dies sollte Ihnen während der nächsten Schritte beim Erstellen helfen.

Schritt 5: Entlöten Sie die Stiftleiste

Entlöten Sie die Stiftleiste
Entlöten Sie die Stiftleiste

Stellen Sie zunächst zu 100 % sicher, dass Sie den ESP8266 richtig programmiert haben und 100 % sicher, dass Sie die SPIFFS-Daten hochgeladen haben.

Dann ist der erste Schritt, die 2x4-Stiftleiste zu entlöten, damit wir unseren Knopf kleiner machen können. Aber es bedeutet auch, dass Sie nicht neu programmieren können, ohne es neu zu löten. Stellen Sie sicher, dass das Programm und SPIFFS geflasht sind.

Sie können die Einstellungen weiterhin neu konfigurieren.

Mit einer spitzen Lötkolbenspitze und einer Entlötpumpe geht das viel einfacher. Meine Strategie besteht darin, zuerst alle acht Pins mit Lötzinn zu überbrücken, dann alle auf einmal zu erhitzen und den Header mit einer Pinzette herauszuziehen. Dann, nachdem ich das überschüssige Lot entfernt habe, stoße ich die Löcher von oben mit dem Bügeleisen und sauge das Lot mit meiner Pumpe durch den Boden ab.

Schritt 6: Löten Sie den Schalter

Löten Sie den Schalter
Löten Sie den Schalter

Als nächstes möchten Sie Ihren Druckschalter zwischen GND und RST verlöten. In meinem Fall waren die Knopfnadeln einfach etwas zu dick, deshalb musste ich sie mit einer Schere etwas dünner schneiden. Stellen Sie sicher, dass der Knopf bündig mit der Platine sitzt, da er sonst mit der Zeit durch den Druck beim Drücken brechen könnte.

Schritt 7: Verbinden Sie CH_PD mit VCC

CH_PD mit VCC verbinden
CH_PD mit VCC verbinden

Damit der ESP den Code ausführen kann, vergessen Sie nicht, CH_PD mit VCC zu verbinden.

Schritt 8: Entfernen Sie die Power-LED

Entfernen Sie die Power-LED
Entfernen Sie die Power-LED
Entfernen Sie die Power-LED
Entfernen Sie die Power-LED

Die Taste muss möglichst wenig Strom verbrauchen. Und da es immer eingeschaltet ist, würde die Strom-LED immer ~ 4 mA verbrauchen. Dies würde die Akkulaufzeit auf zwölf Stunden reduzieren. Also entlöten Sie es oder brechen Sie es ab.

Schritt 9: Lötkonfigurationsschalter

Lötkonfigurationsschalter
Lötkonfigurationsschalter

Um in den Konfigurationsmodus zu gelangen, muss GPIO_03[RX] mit GND verbunden sein. Um es einfach zu machen, habe ich einen kleinen Hebel angelötet, der zur Seite geschoben werden kann, um die Verbindung herzustellen.

Schritt 10: Netzteil, Regler und Stecker hinzufügen

Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu
Fügen Sie das Netzteil, den Regler und den Anschluss hinzu

Dies ist der längste Teil des Builds. Sie müssen den Akku, den Spannungsregler und den Ladestecker gemäß dem Schaltplan verlöten.

Damit alles in den winzigen Raum unter dem ESP-01 passt, musste ich das TO92-Paket des Spannungsreglers abschleifen. Stellen Sie sicher, dass Sie Ihr Layout vor dem Löten planen, es wird sehr eng sein, sollte aber noch machbar sein.

Wenn Ihre Batterie zu groß ist, können Sie den Spannungsregler weglassen. Dies funktioniert, riskiert jedoch eine Beschädigung des ESP8266. Es ist nur für maximal 3,6 V ausgelegt, aber ein voll aufgeladener LiPo gibt 4,2 V aus. Fahren Sie auf eigene Gefahr fort.

Schritt 11: Sekundenkleber es zusammen

Sekundenkleber es zusammen
Sekundenkleber es zusammen
Sekundenkleber es zusammen
Sekundenkleber es zusammen
Sekundenkleber es zusammen
Sekundenkleber es zusammen

Der letzte Schritt, um alles an Ort und Stelle zu halten, besteht darin, alles mit Sekundenkleber an Ort und Stelle zu kleben.

Schritt 12: Aufladen

Aufladen
Aufladen

Um Ihren Knopf aufzuladen, benötigen Sie eine Art LiPo-Ladegerät. Ich verwende einfach ein generisches USB-Li-Po-Ladeboard, das über den Ladeanschluss mit dem Knopf verbunden ist. Achten Sie darauf, die Polarität nicht zu vertauschen.

Schritt 13: Konfigurieren

Konfigurieren
Konfigurieren

Sie sind fast bereit, Ihre Schaltfläche zum ersten Mal zu verwenden.

Um in den Konfigurationsmodus zu gelangen, müssen Sie GPIO_03[RX] mit GND verbinden. Dies wird einfacher, wenn Sie einen Hebel wie in Schritt 9 verlötet haben. Wenn Sie dann die Taste zum Zurücksetzen des ESP drücken, sollte es in den Konfigurationsmodus wechseln. Sie können den Hebel jetzt trennen.

Dann können Sie einfach:

  1. Verbinden Sie sich mit dem WLAN-Zugangspunkt 'ESP_Button' mit dem Passwort 'wifibutton'
  2. Besuchen Sie https://192.168.4.1, um die Konfigurationsseite zu öffnen.
  3. Nachdem Sie Ihre Werte eingestellt haben, klicken Sie auf die Schaltfläche 'Speichern' und dann auf 'Neustart'
  4. Ihre Schaltfläche wird neu gestartet, führt die Anfrage aus und wechselt in den Tiefschlaf.

Stellen Sie sicher, dass Sie nur den Hostnamen in das Host-Feld eingeben, kein https:// oder https:// und trennen Sie den Rest der URL in den URI-Feldern.

Schritt 14: Probieren Sie es aus

Image
Image

Sie sollten alle startklar sein, das Drücken der Taste wird Ihre GET-Anfrage stellen.

Das obige Video ist meine Schaltfläche, die eine Verbindung zu meiner Website und IFTTT herstellt und einen benutzerdefinierten generierten Tweet postet.

Das Einrichten der GET-Anfrage liegt außerhalb des Umfangs dieser Anleitung, aber Sie sollten dies problemlos mit IFTTT oder einem anderen Dienst verbinden können. Wenn Sie bereit sind, benutzerdefinierten PHP-Code zu schreiben und ihn auf Ihrer eigenen Website zu hosten, wie ich es getan habe, können Sie möglicherweise sogar den Akku überwachen.

Wenn Sie Probleme haben oder Hilfe bei der Fehlerbehebung benötigen, hinterlassen Sie bitte unten einen Kommentar.

Jeder ist willkommen, Ideen zu geben, wie man dies verbessern kann, wie vielleicht einen Fall? xD

Hinterlasse einen Kommentar, wenn du ein Doctor Who-Fan bist.

Danke schön!

Schritt 15: Update: 3D-gedrucktes Gehäuse

Update: 3D gedruckte Hülle
Update: 3D gedruckte Hülle
Update: 3D gedruckte Hülle
Update: 3D gedruckte Hülle
Update: 3D gedruckte Hülle
Update: 3D gedruckte Hülle

Nach einiger Zeit mit dem Dash-Button habe ich beschlossen, einen Fall dafür zu machen. STL- und Fusion 360-Dateien angehängt.

Empfohlen: