Indholdsfortegnelse:

TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trin (med billeder)
TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trin (med billeder)

Video: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trin (med billeder)

Video: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trin (med billeder)
Video: Super WiFi Analyser in TicTac box 2024, Juli
Anonim
TicTac Super Wifi Analyzer, ESP-12, ESP8266
TicTac Super Wifi Analyzer, ESP-12, ESP8266
TicTac Super Wifi Analyzer, ESP-12, ESP8266
TicTac Super Wifi Analyzer, ESP-12, ESP8266

Dette projekt bygger på den originale moononournation -kode og konceptet med at bruge en TicTac -boks som et kabinet.

Men i stedet for at bruge en knap til at starte aflæsningerne bruger dette det berøringspanel, der leveres med et TFT SPI -display. Koden er blevet ændret til bedre kontrol af LED -baggrundsbelysningen og for at sætte skærmen i dvaletilstand (da displaymodulet skal forblive tændt for berøringschippen). Enhedsstrømmen i søvn er lav nok til, at en 1000mah lipo kan vare flere år. Der er også batteriopladning og lavspændingsbeskyttelse på plads.

Se det sidste trin for en video af, hvordan det fungerer.

Dele:

  • 48g TicTac -æske
  • ESP12 (helst ESP-12F)
  • 2,4”SPI TFT -skærm
  • Lipo opladningsmodul
  • PNP transistor
  • 3.3v lav hvilestrøm, spændingsregulator
  • Tilhørende modstande og kondensatorer (detaljer senere)

Trin 1: Udvikling

Udvikling
Udvikling

Jeg tænkte, at jeg ville skitsere udviklingsvejen til dette projekt. Du kan springe dette afsnit over, hvis du ønsker at komme direkte i gang med at lave dette.

Dette er et af mine første ESP8266 -projekter. Jeg blev taget med det pæne koncept at bruge en TicTac -boks som et kabinet til Wifi -analysatoren og besluttede at lave en. Tak: Portable-WiFi-Analyzer. Jeg besluttede at bruge en større 2,4”skærm - der fulgte med et berøringspanel og på et printkort med stifter, der ville være lettere at oprette forbindelse til.

Da jeg startede byggeriet, undersøgte jeg arrangementer, der ville have ESP12 -antennen fri for elektronikken. Den eneste mulighed var, at den skulle være inde i hætten. Jeg ville også have opladermodulet under dispenseren. Spørgsmålet var så, hvor man skulle finde ‘on -knappen’? Jeg ville ikke lave et hul i bagsiden af sagen. Tophætten ville være bedst - men der er ikke plads, hvis jeg har de to moduler der.

Dette førte til ideen om at bruge berøringspanelet som tænd -knappen. Jeg lagde mærke til, at et af skærmens stik var mærket 'T_IRQ' - det så opmuntrende ud. Touchchippen er en XPT2046. Og ja til min glæde er, at den har en automatisk dvaletilstand og trækker T_IRQ lavt, hvis der røres ved panelet. Dette er ideelt til at udskifte trykkontakten og kan simpelthen tilsluttes ESP12 -nulstillingen.

Jeg skulle have nævnt, at koden kører flere scanninger efter wifi -netværk og derefter fjerner strømmen til skærmen og sætter ESP12 i dyb søvn - det vækkes af en nulstillingsindgang.

Så med dette koncept klart, tilsluttede jeg det ved hjælp af en NodeMcu - og det virkede ikke! Så der var lidt mere arbejde at gøre. Jeg var også bevidst om, at jeg ikke kunne kontrollere søvnstrømmen med NodeMcu på grund af indbygget USB-chip og høj hvilende spændingsregulator. Jeg ville også have et system til let at programmere ESP12’er. Dette førte til, at jeg lavede et ESP12 breakout board/udviklingssystem, der kunne programmeres lige så let som NodeMCU, men ved hjælp af en FTDI programmerer. På denne måde er regulatoren og USB -chippen adskilt. Se: ESP-12E og ESP-12F Programmering og Breakout Board

Derefter koblet jeg den op ved hjælp af mit nye bord med en ESP-12F-og det fungerede. Den eneste ændring, jeg havde foretaget, var at kortslutte spændingsregulatoren på displaymodulet, så alt blev drevet til 3,3v. Jeg begyndte at lave mine kode -mods, især kode for at sætte displaychippen (ILI9341) i dvaletilstand, da dette og touchpanelchippen skulle have strøm (i dvaletilstand), når ESP -modulet også er i dvale. Jeg tjekkede derefter søvnstrømmen. Dette var 90uA. Så et 1000mah batteri ville holde et år. God start.

Derefter fjernede jeg spændingsregulatoren på displaymodulet. Det ville have været nok bare at have løftet jordnålen. Nu var systemets søvnstrøm 32uA. Jeg var stadig nødt til at tilføje en 3.3v regulator, men kendte en med kun 2uA hvilestrøm. Så nu ser vi på 3 års batterilevetid!

Jeg ville også montere komponenterne så meget som muligt på et printkort for at gøre ledningerne pænere. Så på dette tidspunkt gik jeg videre med et PCB -design til enheden. Jeg ville gerne have forbundet direkte til displaymodulets ben. Dette ville være temmelig svært, så jeg valgte en hård ledning fra printkortet til displaymodulet.

Jeg puslede lidt mere med koden. Jeg tilføjede en søvnmeddelelse - fyldte skærmen med sort og udskriver ZZZ, før jeg går i dvale. Jeg forsinkede også tændingen af LED -baggrundsbelysningen, indtil skærmen var fyldt. Dette forhindrer det hvide blink i starten af den originale kode. Jeg lavede lignende mods i slutningen, og slukkede lysdioderne, før jeg satte skærmen i dvale.

Du undrer dig måske over, hvordan du måler uA. Død let! Sæt en 1k modstand i serie med den positive strømledning. Kort dette ud med en jumperledning, så systemet kan køre. Når det er i dvaletilstand, fjernes jumperledningen og måles spændingsfaldet over modstanden. Med 1k modstand betyder 100mv 100uA. Hvis spændingsfaldet er for stort, bruger jeg en modstand med lavere værdi. Jeg har brugt denne metode til at måle enkelt figur nA ved hjælp af en 1m modstand på andre systemer med virkelig lave søvnstrømme.

Trin 2: Konstruktion

Billede
Billede
Billede
Billede

PCB eller hård tråd?

Enheden, jeg byggede her, bruger et printkort til at holde ESP12F- og opladermodulerne og spændingsregulatoren og PNP-transistoren og de tilhørende kondensatorer og pull-up-modstande. Dette er den pæneste rute, men kræver PCB ætsning og SMD loddeudstyr. Imidlertid kunne systemet laves ved at koble modulerne direkte og sætte spændingsregulatoren og PNP -transistoren på et stykke stripboard - som det var tilfældet i det tidligere TicTac -projekt (tidligere linket).

Hvis du beslutter dig for at bruge PCB -indstillingen, kan du også lave mit ESP12 -programmeringstavle, især hvis du planlægger at lave flere projekter med ESP12 -kortene.

Liste over dele:

  • 49g TicTac -æske
  • ESP-12F (eller ESP-12E) Bemærk ESP-12F har bedre rækkevidde, ellers den samme som ESP-12E
  • 2,4”SPI TFT -display med ILI9341 driver og tryk f.eks. TJCTW24024-SPI
  • Oplader modul - se foto
  • 2 mm pin-strip (valgfri, men værd at bruge)
  • PNP -transistor i SOT23 -format. Jeg brugte BCW30, men enhver anden med mere end 100ma kapacitet og DC gain> 200 burde være OK.
  • 3v3 250ma (min) regulator i SOT23 -format. Jeg brugte Microchip MCP1703T-33002E/CB. Andre vil arbejde, men tjekke deres hvilestrøm. (foreslå mindre end 30uA).
  • Modstande (alle 0805 størrelse)
  • 10k 4off
  • 3k3 1 off
  • Kondensatorer (alle i størrelse 0805)
  • 2n2 2 slukket
  • 0,1u 1 rabat
  • PCB som WiFiAnalyserArtwork.docx -fil vedhæftet.
  • Enkeltcelle LiPo -batteri. Kapacitet 400-1000mahr - der passer i kassen. 400mahr er rigeligt stort nok.

Til ikke-PCB-optionen anvendes blyholdige ækvivalenter, modstande ¼W og derover er fine, og kondensatorer med arbejdsspænding på 5v eller større.

Ved fremstilling af printkortet - bor hullerne med 0,8 mm. Hvis du har et skarpt øje - kan ESP12 2 mm pin -strip huller være 0,7 mm for bedre støtte.

Komponentplacering:

Billede
Billede

Ved montering af printkortet skal modstandene og kondensatorerne først foretages, derefter regulatoren og PNP-transistoren, efterfulgt af opladermodulet og pin-stripen til ESP12. Jeg lodde ikke ESP12 på plads, da den er fast nok presset på stiften, og det er lettere at omprogrammere brættet. Du vil bemærke, at printkortet har stik til TX, RX, GPIO 0, Reset og jord, hvis du nogensinde vil omprogrammere in-situ. Bemærk, at der skal bruges en knap for at trække GPIO lavt. Nulstilling kan trækkes lavt ved at berøre displayet. En knap kunne bruges, men kun hvis ledningen til displayet T_IRQ er afbrudt.

Trin 3: Ledningsføring

Inden ledningen til displayet til printkortet fjernes regulatoren i1 og en klat lodde på J1, der derefter erstatter dette. Bagefter skal det se sådan ud:

Billede
Billede

Fjern derefter stiften eller skær stifterne korte. Den bedste måde at fjerne pin-stripen på er en pin ad gangen. Påfør et loddejern på den ene side, mens du trækker tappen med en tang på den anden.

Nu kan ledningerne starte, begyndende med at tilslutte båndkabel til skærmen. Klip omkring en 7-8 cm længde af PC-båndkabel og vælg 10 måder. Trim 9 af vejene 10 mm tilbage, og lad en længere i den ene kant for T-IRQ-stiften. Resten kan derefter spredes ud til, hvor de vil blive loddet og trimmet lidt mere, hvor det er nødvendigt.

Jeg placerede og lodde en bly ad gangen, der startede med VCC.

Billede
Billede

Placer printkortet, hvor det skal være i forhold til displayet. Trim derefter trådene en ad gangen til 5 mm eller deromkring længere end nødvendigt og fjern 2 mm isolering, tin enden og loddetøjet på plads. Kabelføringen går som følger (tælling af stiftnumre fra VCC):

Skærm PCB Kommentar
1 1 VCC
2 8 GND
3 9 CS
4 5 NULSTIL
5 7 D/C
6 2 SDI (MOSI)
7 4 SCK
8 10 LED
9 3 SDO (MISO)
10 6 T_IRQ
Billede
Billede

Nu er der kun tilbage at tilslutte batteriet og programmere ESP12. Hvis programmering in-situ tilsluttes batteriet nu. Hvis du programmerer fra kortet, skal du tilslutte batteriet bagefter.

Trin 4: Programmering

Download koden ESP8266WiFiAnalMod.ino -fil vedhæftet, opret en mappe kaldet 'ESP8266WiFiAnalMod' i din Arduino sketches -mappe og flyt filen til denne.

Start Arduino IDE (download og installer om nødvendigt fra Arduino.cc), og tilføj ESP -kortets detaljer, hvis du ikke har dem (se: Sparkfun).

Indlæs koden (Fil> Skitsebog> … ESP8266WiFiAnalMod).

Indstil derefter programmeringsdetaljerne (Værktøjer):

Vælg bord: Generisk ESP8266 -modul

Se nedenfor for resten af indstillingerne. Vælg Nulstil metode: "nodemcu", hvis du bruger en programmerer med det automatiske drev til nulstillingen og GPIO0. Ellers indstilles til "ck", hvis der programmeres in-situ eller ved direkte forbindelse til en USB til seriel konverter.

Portnummeret vil sandsynligvis være anderledes.

Billede
Billede

Hvis du vil programmere in-situ, skal du lodde ledninger til en switch for at trække GPIO 0 lavt og oprette forbindelse til Tx og Rx-se nedenfor:

En lettere mulighed er at bruge et programmeringstavle: ESP-12E og ESP-12F Programmering og Breakout Board

Hvis programmering in-situ tilsluttes som nedenfor. Bemærk, hvis displayet er tilsluttet Reset kan aktiveres af berøringsskærmen, ellers er det nødvendigt at skifte fra Reset til GND. Strøm er nødvendig til tavlen, bedst ved at anvende 3,7v på OUT+ og OUT-stifterne. Hvis du bruger et batteri, skal opladeren nulstilles ved kort at tilslutte en USB -ledning.

Billede
Billede

Hvis du indstiller programmeringstilstand manuelt træk nulstilling lav (berøringsskærm), skal du trække GPIO 0 lav og ved lav frigive nulstillingen. Klik nu på download -knappen. Programmeringen skal fortsætte.

Hvis du bruger programmerings- og breakout -kortet, skal du bare tilslutte FTDI USB -seriel konverter, tilslut 3,3v strøm til programmeringskortet og klik på download.

Trin 5: Slutmontering og test

Nu er et godt tidspunkt til en indledende test. Hvis ESP12 var programmeret in -situ, skulle det virke - bare let berøre skærmen, og det skulle starte. Hvis den er programmeret fra enheden - indsæt ESP12 og tilslut batteriet, og det skal fungere.

Jeg afmonterede batteriet, mens jeg gik gennem den sidste samling dels for nemheds skyld og dels for at undgå utilsigtet kortslutning.

Displayet klæder pænt mellem hætten og bunden af sagen. Den hævede sektion i basen holder pænt skærmen til boksesiden.

Kretskortet skal fastgøres til skærmkortet for både at kunne passe ind i hætten og vise USB -opladningsstikket. Når det påkrævede forhold mellem tavlepositionerne ses, skal du lægge dobbeltsidet tape (den 1 mm tykke type) på begge brædder. Dette vil give en 2 mm afstand, der bør undgå enhver elektrisk kontakt. Jeg lagde noget isolerende tape, der dækkede displayelektronikken som en sikkerhedsforanstaltning:

Billede
Billede

Dernæst skal vi tage omkring 2 mm af tophætten. Jeg fik dette til at passe perfekt til skærmen med ekstra bits skåret ud til berøringsskærmens båndkabel og skærmens plastmontering. Se nedenunder:

Billede
Billede
Billede
Billede

Endelig skal vi placere batteriet og bruge dette til at holde displayet mod boksens side. Jeg brugte et gammelt stykke polystyrenskum og skar og slibede det til den nødvendige tykkelse. Jeg satte dette fast på skærmens printkort ved hjælp af tyndt dobbeltsidet tape og brugte et par mindre stykker tape til at stoppe batteriet med at glide rundt.

Billede
Billede

Når du har forbundet det hele og finder ud af, at der ikke sker noget, skal du ikke bekymre dig (endnu). Batteribeskyttelseskredsløbet på opladermodulet skal nulstilles. Dette gøres ved at tilslutte det via et mikro USB -kabel til en 5v forsyning. Et par sekunder er længe nok.

Og nu har du en nyttig enhed, der viser kraften i ESP8266 -systemerne, og i mit tilfælde førte jeg til at ændre min WiFi -kanal, da den registrerede 5 andre på den samme!

Jeg håber du nyder dette dejlige projekt.

Mike

Anbefalede: