Inhaltsverzeichnis:

TicTac Super Wifi Analyser, ESP-12, ESP8266 - Gunook
TicTac Super Wifi Analyser, ESP-12, ESP8266 - Gunook

Video: TicTac Super Wifi Analyser, ESP-12, ESP8266 - Gunook

Video: TicTac Super Wifi Analyser, ESP-12, ESP8266 - Gunook
Video: ESP8266 EvilTwin 2 in 1: Eviltwin & Deauth Programming & Testing 2024, Juli
Anonim
TicTac Super Wifi Analyser, ESP-12, ESP8266
TicTac Super Wifi Analyser, ESP-12, ESP8266
TicTac Super Wifi Analyser, ESP-12, ESP8266
TicTac Super Wifi Analyser, ESP-12, ESP8266

Dieses Projekt baut auf dem ursprünglichen Moononournation-Code und dem Konzept auf, eine TicTac-Box als Gehäuse zu verwenden.

Anstatt eine Taste zum Starten der Messwerte zu verwenden, wird jedoch das Touchpanel verwendet, das mit einem TFT-SPI-Display geliefert wird. Der Code wurde geändert, um die LED-Hintergrundbeleuchtung besser zu steuern und das Display in den Schlafmodus zu versetzen (da das Displaymodul für den Touch-Chip mit Strom versorgt werden muss). Der Gerätestrom im Schlaf ist niedrig genug, damit ein 1000-mAh-Lipo mehrere Jahre hält. Es gibt auch eine Batterieladung und einen Unterspannungsschutz.

Sehen Sie den letzten Schritt für ein Video davon, wie es funktioniert.

Teile:

  • 48g TicTac-Box
  • ESP12 (vorzugsweise ESP-12F)
  • 2,4-Zoll-SPI-TFT-Display
  • Lipo-Lademodul
  • PNP-Transistor
  • 3,3 V niedriger Ruhestrom, Spannungsregler
  • Zugehörige Widerstände und Kondensatoren (Details später)

Schritt 1: Entwicklung

Entwicklung
Entwicklung

Ich dachte, ich würde den Entwicklungspfad für dieses Projekt skizzieren. Sie können diesen Abschnitt überspringen, wenn Sie direkt damit beginnen möchten.

Dies ist eines meiner ersten ESP8266-Projekte. Ich war angetan von dem tollen Konzept, eine TicTac-Box als Gehäuse für den Wifi-Analysator zu verwenden, und beschloss, eine zu bauen. Danke: Portable-WiFi-Analyzer. Ich entschied mich für ein größeres 2,4-Zoll-Display – das mit einem Touchpanel und auf einer Platine mit Pins geliefert wurde, an die sich leichter anschließen ließen.

Als ich mit dem Bau begann, erforschte ich Anordnungen, die die ESP12-Antenne von der Elektronik freihalten würden. Die einzige Möglichkeit war, dass es sich in der Kappe befindet. Ich wollte auch das Lademodul unter dem Spender. Die Frage war dann, wo der "Ein-Knopf" zu finden ist. Ich wollte kein Loch in die Rückseite des Gehäuses machen. Die obere Kappe wäre am besten – aber da ist kein Platz, wenn ich die beiden Module dort habe.

Daraus entstand die Idee, das Touchpanel als Einschalttaste zu verwenden. Mir ist aufgefallen, dass einer der Display-Anschlüsse mit „T_IRQ“beschriftet war – das sah ermutigend aus. Der Touch-Chip ist ein XPT2046. Und ja zu meiner Freude hat es einen Auto-Sleep-Modus und zieht den T_IRQ niedrig, wenn das Panel berührt wird. Dieser ist ideal um den Druckschalter zu ersetzen und kann einfach mit dem ESP12 Reset verbunden werden.

Ich hätte erwähnen sollen, dass der Code mehrere Scans nach WLAN-Netzwerken durchführt und dann das Display vom Strom trennt und den ESP12 in den Tiefschlaf versetzt – das wird durch einen Reset-Eingang geweckt.

Nachdem dieses Konzept klar war, habe ich es mit einem NodeMcu verkabelt – und es hat nicht funktioniert! Es war also noch etwas zu tun. Mir war auch bewusst, dass ich den Ruhestrom mit dem NodeMcu wegen des integrierten USB-Chips und des hohen Ruhestrom-Spannungsreglers nicht überprüfen konnte. Ich wollte auch ein System zum einfachen Programmieren von ESP12. Dies führte dazu, dass ich ein ESP12-Breakout-Board/Entwicklungssystem entwickelte, das so einfach wie die NodeMCU programmiert werden konnte, jedoch mit einem FTDI-Programmierer. Auf diese Weise sind Regler und USB-Chip getrennt. Siehe: ESP-12E und ESP-12F Programmierung und Breakout Board

Dann habe ich es mit meinem neuen Board mit einem ESP-12F verkabelt – und es hat funktioniert. Die einzige Änderung, die ich vorgenommen hatte, war, den Spannungsregler am Anzeigemodul kurzzuschließen, damit alles mit 3,3 V betrieben wurde. Ich begann mit meinen Code-Mods, insbesondere Code, um den Display-Chip (ILI9341) in den Schlafmodus zu versetzen, da der Touchpanel-Chip (im Schlafmodus) mit Strom versorgt werden müsste, wenn sich auch das ESP-Modul im Ruhezustand befindet. Ich habe dann den Schlafstrom überprüft. Das waren 90 uA. Eine 1000mAh Batterie würde also ein Jahr halten. Guter Start.

Dann habe ich den Spannungsregler am Displaymodul entfernt. Es hätte gereicht, nur den Massestift angehoben zu haben. Jetzt betrug der Ruhestrom des Systems 32uA. Ich musste noch einen 3,3-V-Regler hinzufügen, kannte aber einen mit nur 2uA Ruhestrom. Also schauen wir jetzt auf 3 Jahre Batterielebensdauer!

Ich wollte auch die Komponenten so weit wie möglich auf einer Platine montieren, um die Verdrahtung sauberer zu machen. An diesem Punkt ging ich also mit einem PCB-Design für das Gerät voran. Ich hätte gerne direkt an die Pins des Displaymoduls angeschlossen. Dies würde ziemlich schwierig werden, also entschied ich mich für eine feste Verdrahtung von der Platine zum Anzeigemodul.

Ich habe noch etwas am Code herumgebastelt. Ich habe eine Schlafbenachrichtigung hinzugefügt – indem ich den Bildschirm schwarz ausfülle und ZZZ drucke, bevor ich schlafen gehe. Ich habe auch das Einschalten der LED-Hintergrundbeleuchtung verzögert, bis der Bildschirm gefüllt war. Dadurch wird das weiße Aufblitzen am Anfang des Originalcodes vermieden. Ich habe ähnliche Mods am Ende gemacht, indem ich die LEDs ausgeschaltet habe, bevor ich das Display in den Ruhezustand versetzt habe.

Sie fragen sich vielleicht, wie man uA misst. Kinderleicht! Legen Sie einen 1k-Widerstand in Reihe mit dem positiven Stromkabel. Schließen Sie diese mit einem Überbrückungskabel kurz, damit das System laufen kann. Entfernen Sie dann im Ruhemodus das Überbrückungskabel und messen Sie den Spannungsabfall am Widerstand. Bei 1k Widerstand bedeutet 100mv 100uA. Wenn der Spannungsabfall zu groß ist, verwende ich einen Widerstand mit niedrigerem Wert. Ich habe diese Methode verwendet, um einstellige nA mit einem 1m-Widerstand auf anderen Systemen mit wirklich niedrigen Ruheströmen zu messen.

Schritt 2: Konstruktion

Bild
Bild
Bild
Bild

PCB oder harter Draht?

Die hier gebaute Einheit verwendet eine Platine, um die ESP12F- und Lademodule sowie den Spannungsregler und den PNP-Transistor sowie die zugehörigen Kondensatoren und Pull-up-Widerstände zu halten. Dies ist der sauberste Weg, erfordert jedoch PCB-Ätz- und SMD-Lötgeräte. Das System könnte jedoch hergestellt werden, indem die Module direkt verdrahtet und der Spannungsregler und der PNP-Transistor auf ein Stück Stripboard gelegt werden – wie dies beim früheren TicTac-Projekt (vorher verlinkt) der Fall war.

Wenn Sie sich für die PCB-Option entscheiden, möchten Sie möglicherweise auch mein ESP12-Programmierboard erstellen, insbesondere wenn Sie weitere Projekte mit den ESP12-Boards planen.

Liste der Einzelteile:

  • 49g TicTac-Box
  • ESP-12F (oder ESP-12E) Beachten Sie, dass der ESP-12F eine bessere Reichweite hat, ansonsten wie der ESP-12E
  • 2,4” SPI TFT Display mit ILI9341 Treiber und Touch z. B. TJCTW24024-SPI
  • Lademodul – siehe Foto
  • 2 mm Stiftleiste (optional, aber sinnvoll)
  • PNP-Transistor im SOT23-Format. Ich habe BCW30 verwendet, aber alle anderen mit einer Kapazität von mehr als 100 mA und einer DC-Verstärkung > 200 sollten in Ordnung sein.
  • 3v3 250mA(min) Regler im SOT23 Format. Ich habe Microchip MCP1703T-33002E/CB verwendet. Andere funktionieren, überprüfen aber ihren Ruhestrom. (empfohlen weniger als 30uA).
  • Widerstände (alle 0805-Größe)
  • 10k 4off
  • 3k3 1 aus
  • Kondensatoren (alle 0805-Größe)
  • 2n2 2 aus
  • 0.1u 1 aus
  • PCB als WiFiAnalyserArtwork.docx Datei angehängt.
  • Einzelliger LiPo-Akku. Kapazität 400-1000mAh - das passt in den Koffer. 400mAh sind ausreichend groß.

Für die Nicht-PCB-Option verwenden Sie bedrahtete Äquivalente, Widerstände ab ¼ W und Kondensatoren mit einer Betriebsspannung von 5 V oder mehr.

Bei der Herstellung der Platine - Bohren Sie die Löcher mit 0,8 mm. Wenn Sie ein scharfes Auge haben, können die 2 mm-Stiftstreifenlöcher des ESP12 für eine bessere Unterstützung 0,7 mm groß sein.

Bauteilplatzierung:

Bild
Bild

Beim Zusammenbau der Platine zuerst die Widerstände und Kondensatoren, dann den Regler und den PNP-Transistor, gefolgt vom Lademodul und der Stiftleiste für den ESP12. Ich habe den ESP12 nicht gelötet, da er fest genug auf die Stiftleiste gedrückt ist und es einfacher ist, die Platine neu zu programmieren. Sie werden feststellen, dass die Platine Anschlüsse für TX, RX, GPIO 0, Reset und Masse hat, wenn Sie jemals vor Ort neu programmieren möchten. Beachten Sie, dass eine Taste erforderlich ist, um GPIO nach unten zu ziehen. Reset kann durch Berühren des Displays nach unten gezogen werden. Eine Taste kann verwendet werden, jedoch nur, wenn die Leitung zum Display T_IRQ getrennt ist.

Schritt 3: Verkabelung

Vor dem Verdrahten des Displays mit der Platine den Regler i1 entfernen und einen Lötklecks auf J1 auftragen, der diesen dann ersetzt. Danach sollte es so aussehen:

Bild
Bild

Entfernen Sie dann entweder die Stiftleiste oder schneiden Sie die Stifte kurz. Der beste Weg, um die Stiftleiste zu entfernen, ist eine Nadel nach der anderen. Setzen Sie einen Lötkolben auf eine Seite, während Sie auf der anderen Seite den Stift mit einer Zange ziehen.

Nun kann die Verkabelung beginnen, beginnend mit dem Anschließen des Flachbandkabels an das Display. Schneiden Sie ein 7-8 cm langes PC-Flachbandkabel ab und wählen Sie 10 Möglichkeiten. Schneiden Sie 9 der Wege 10 mm zurück und lassen Sie einen längeren an einer Kante für den T-IRQ-Pin. Der Rest kann dann gespreizt werden, wo sie gelötet und bei Bedarf etwas mehr beschnitten werden.

Ich platzierte und lötete eine Leitung nach der anderen, beginnend mit VCC.

Bild
Bild

Platzieren Sie die Platine dort, wo sie in Bezug auf das Display sein soll. Schneiden Sie dann die Drähte nacheinander auf etwa 5 mm länger als erforderlich und entfernen Sie die 2 mm Isolierung, verzinnen Sie das Ende und löten Sie es an. Die Kabelführung geht wie folgt (Zählung der Pin-Nummern von VCC):

Anzeige PCB Kommentar
1 1 VCC
2 8 Masse
3 9 CS
4 5 ZURÜCKSETZEN
5 7 D/C
6 2 SDI(MOSI)
7 4 SCK
8 10 LED
9 3 SDO(MISO)
10 6 T_IRQ
Bild
Bild

Jetzt müssen Sie nur noch die Batterie anschließen und den ESP12 programmieren. Wenn Sie vor Ort programmieren, schließen Sie jetzt die Batterie an. Bei Programmierung von der Platine schließen Sie die Batterie danach an.

Schritt 4: Programmierung

Laden Sie die angehängte Code-ESP8266WiFiAnalMod.ino-Datei herunter, erstellen Sie einen Ordner namens "ESP8266WiFiAnalMod" in Ihrem Arduino-Skizzenordner und verschieben Sie die Datei dorthin.

Starten Sie die Arduino IDE (herunterladen und installieren von Arduino.cc, falls erforderlich) und fügen Sie die ESP-Board-Details hinzu, wenn Sie sie nicht haben (siehe: Sparkfun).

Laden Sie den Code (Datei>Skizzenbuch>… ESP8266WiFiAnalMod).

Stellen Sie dann die Programmierdetails ein (Tools):

Platine auswählen: Generisches ESP8266-Modul

Die restlichen Einstellungen finden Sie weiter unten. Wählen Sie die Reset-Methode: "nodemcu", wenn Sie ein Programmiergerät mit dem automatisierten Antrieb des Resets und GPIO0 verwenden. Andernfalls auf „ck“setzen, wenn in-situ-Programmierung oder bei direktem Anschluss an einen USB-Seriell-Umsetzer.

Die Portnummer ist wahrscheinlich anders.

Bild
Bild

Wenn Sie vor Ort programmieren möchten, müssen Sie Drähte an einen Schalter löten, um GPIO 0 nach unten zu ziehen und eine Verbindung zu Tx und Rx herzustellen – siehe unten:

Eine einfachere Option ist die Verwendung eines Programmierboards: ESP-12E und ESP-12F Programming and Breakout Board

Bei Programmierung vor Ort wie unten beschrieben anschließen. Beachten Sie, dass bei angeschlossenem Display Reset über den Touchscreen aktiviert werden kann, ansonsten ist ein Umschalten von Reset auf GND erforderlich. Die Platine wird mit Strom versorgt, am besten durch Anlegen von 3,7 V an die Pins OUT+ und OUT-. Bei Verwendung eines Akkus muss das Ladegerät durch kurzes Einstecken eines USB-Kabels zurückgesetzt werden.

Bild
Bild

Wenn Sie den Programmiermodus manuell einstellen, ziehen Sie Reset auf Low (Touchscreen), ziehen Sie GPIO 0 auf Low und lassen Sie den Reset los, während Sie Low sind. Klicken Sie nun auf den Download-Button. Die Programmierung sollte fortgesetzt werden.

Wenn Sie die Programmier- und Breakout-Platine verwenden, schließen Sie einfach den FTDI-USB-Seriell-Konverter an, legen Sie 3,3 V an die Programmierplatine an und klicken Sie auf Download.

Schritt 5: Endmontage und Prüfung

Jetzt ist ein guter Zeitpunkt für einen Vorversuch. Wenn das ESP12 vor Ort programmiert wurde, sollte es funktionieren - berühren Sie einfach den Bildschirm und es sollte starten. Wenn es außerhalb des Geräts programmiert ist, setzen Sie das ESP12 ein und verdrahten Sie die Batterie und es sollte funktionieren.

Ich habe die Batterie während der Endmontage teilweise aus Bequemlichkeit und teilweise um unbeabsichtigte Kurzschlüsse zu vermeiden, abgeklemmt.

Das Display wird sauber zwischen der Kappe und dem Boden des Gehäuses eingeklemmt. Der erhöhte Abschnitt in der Basis hält den Bildschirm schön an der Boxseite.

Die Platine muss an der Anzeigetafel befestigt werden, um sowohl in die Kappe zu passen als auch die USB-Ladebuchse zu präsentieren. Wenn die erforderliche Beziehung zwischen den Plattenpositionen sichtbar ist, kleben Sie doppelseitiges Klebeband (die 1 mm dicke Ausführung) auf beide Platten. Dies ergibt einen Abstand von 2 mm, der jeden elektrischen Kontakt vermeiden sollte. Ich habe vorsichtshalber etwas Isolierband über die Displayelektronik gelegt:

Bild
Bild

Als nächstes müssen wir etwa 2 mm von der oberen Kappe entfernen. Ich habe dies eng an den Bildschirm angepasst, wobei zusätzliche Bits für das Touchscreen-Flachbandkabel und die Bildschirm-Kunststoffhalterung ausgeschnitten wurden. Siehe unten:

Bild
Bild
Bild
Bild

Zuletzt müssen wir den Akku platzieren und damit das Display gegen die Boxseite halten. Ich habe ein altes Stück Polystyrolschaum verwendet und es auf die erforderliche Dicke geschnitten und geschliffen. Ich habe dies mit dünnem doppelseitigem Klebeband auf die Displayplatine geklebt und ein paar kleinere Klebebandstücke verwendet, um das Verrutschen der Batterie zu verhindern.

Bild
Bild

Wenn Sie alles angeschlossen haben und feststellen, dass nichts passiert, machen Sie sich (noch) keine Sorgen. Die Batterieschutzschaltung am Lademodul muss zurückgesetzt werden. Dies geschieht, indem es über ein Micro-USB-Kabel an eine 5-V-Versorgung angeschlossen wird. Ein paar Sekunden sind lang genug.

Und jetzt haben Sie ein nützliches Gerät, das die Leistung der ESP8266-Systeme zeigt und in meinem Fall dazu führte, dass ich meinen WLAN-Kanal geändert habe, da es 5 andere auf demselben erkannt hat!

Ich hoffe, Sie genießen dieses schöne Projekt.

Mike

Empfohlen: