Innholdsfortegnelse:

TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trinn (med bilder)
TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trinn (med bilder)

Video: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trinn (med bilder)

Video: TicTac Super Wifi Analyzer, ESP-12, ESP8266: 5 trinn (med bilder)
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 prosjektet bygger på den opprinnelige månenoppføringskoden og konseptet med å bruke en TicTac -boks som et kabinett.

Men i stedet for å bruke en knapp for å starte opplesningene bruker denne berøringspanelet som kommer med en TFT SPI -skjerm. Koden er endret for bedre kontroll av LED -bakgrunnsbelysningen og for å sette skjermen i hvilemodus (ettersom skjermmodulen må forbli drevet for berøringsbrikken). Strømmenheten i søvn er lav nok til at en 1000mah lipo kan vare flere år. Det er også batterilading og lavspenningsbeskyttelse på plass.

Se det siste trinnet for en video av hvordan det fungerer.

Deler:

  • 48g TicTac -eske
  • ESP12 (helst ESP-12F)
  • 2,4”SPI TFT -skjerm
  • Lipo lademodul
  • PNP transistor
  • 3.3v lav hvilestrøm, spenningsregulator
  • Tilknyttede motstander og kondensatorer (detalj senere)

Trinn 1: Utvikling

Utvikling
Utvikling

Jeg tenkte jeg skulle skissere utviklingsveien for dette prosjektet. Du kan hoppe over denne delen hvis du ønsker å begynne å lage dette.

Dette er et av mine første ESP8266 -prosjekter. Jeg ble tatt med det fine konseptet å bruke en TicTac -boks som et kabinett for Wifi -analysatoren, og bestemte meg for å lage en. Takk: Portable-WiFi-Analyzer. Jeg bestemte meg for å bruke en større 2,4”skjerm - som fulgte med et berøringspanel og på en PCB med pinner som det ville være lettere å koble til.

Da jeg startet byggingen, utforsket jeg ordninger som ville gjøre ESP12 -antennen fri for elektronikken. Det eneste alternativet var at den skulle være inne i hetten. Jeg ville også ha ladermodulen under dispenseren. Spørsmålet var da hvor du skulle finne "på -knappen"? Jeg ønsket ikke å lage et hull på baksiden av saken. Topplokket ville være best - men det er ikke plass hvis jeg har de to modulene der.

Dette førte til ideen om å bruke berøringspanelet som på -knappen. Jeg la merke til at en av skjermkontaktene var merket ‘T_IRQ’ - det så oppmuntrende ut. Berøringsbrikken er en XPT2046. Og ja til min glede er at den har en automatisk hvilemodus og trekker T_IRQ lavt hvis panelet berøres. Dette er ideelt for å bytte trykkbryteren og kan enkelt kobles til ESP12 -tilbakestillingen.

Jeg burde nevnt at koden kjører flere skanninger etter wifi -nettverk og deretter fjerner strømmen til skjermen og setter ESP12 i dyp søvn - som vekkes av en tilbakestillingsinngang.

Så med dette konseptet klart, koblet jeg det opp med en NodeMcu - og det fungerte ikke! Så det var litt mer arbeid å gjøre. Jeg var også bevisst på at jeg ikke kunne sjekke søvnstrømmen med NodeMcu på grunn av innebygd USB-brikke og høy hvilestrømspenningsregulator. Jeg ønsket også et system for enkel programmering av ESP12. Dette førte til at jeg lagde et ESP12 breakout board/utviklingssystem som kunne programmeres like enkelt som NodeMCU, men ved hjelp av en FTDI programmerer. På denne måten er regulatoren og USB -brikken atskilt. Se: ESP-12E og ESP-12F programmerings- og breakout-bord

Deretter koblet jeg den opp med det nye brettet mitt med en ESP-12F-og det fungerte. Den eneste endringen jeg hadde gjort var å korte ut spenningsregulatoren på displaymodulen, så alt ble drevet på 3,3v. Jeg begynte å gjøre kodemodusene mine, spesielt kode for å sette skjermbrikken (ILI9341) i hvilemodus, ettersom denne og berøringspanelbrikken må drives (i hvilemodus) når ESP -modulen også er i hvilemodus. Jeg sjekket deretter søvnstrømmen. Dette var 90uA. Så et 1000mah batteri vil vare i et år. God start.

Deretter fjernet jeg spenningsregulatoren på skjermmodulen. Det hadde vært nok å ha løftet bakkenålen. Nå var systemets søvnstrøm 32uA. Jeg måtte fortsatt legge til en 3.3v regulator, men kjente en med bare 2uA hvilestrøm. Så nå ser vi på 3 års batterilevetid!

Jeg ønsket også å montere komponentene så mye som mulig på et kretskort for å gjøre ledningene ryddigere. Så på dette tidspunktet gikk jeg videre med en PCB -design for enheten. Jeg skulle gjerne ha koblet direkte til skjermmodulens pinner. Dette kom til å bli ganske vanskelig, så jeg valgte hardwire fra PCB til skjermmodulen.

Jeg puslet litt mer med koden. Jeg la til et søvnvarsel - jeg fylte skjermen med svart og skrev ut ZZZ før jeg sovnet. Jeg forsinket også å slå på LED -bakgrunnsbelysningen til skjermen var fylt. Dette unngår den hvite blitsen i begynnelsen av den originale koden. Jeg gjorde lignende mods på slutten og slo av lysdiodene før jeg satte skjermen i dvale.

Du lurer kanskje på hvordan du måler uA. Død lett! Sett en 1k motstand i serie med den positive strømledningen. Kort dette med en jumperledning slik at systemet kan kjøre. Når den er i hvilemodus, fjerner du jumperledningen og måler spenningsfallet over motstanden. Med 1k motstand betyr 100mv 100uA. Hvis spenningsfallet er for stort, bruker jeg en motstand med lavere verdi. Jeg har brukt denne metoden for å måle enkeltfigur nA ved å bruke en 1m motstand på andre systemer med veldig lave søvnstrømmer.

Trinn 2: Konstruksjon

Bilde
Bilde
Bilde
Bilde

PCB eller hard wire?

Enheten jeg bygde her bruker en PCB for å holde ESP12F og ladermoduler og spenningsregulatoren og PNP-transistoren og de tilhørende kondensatorene og trekkmotstandene. Dette er den peneste ruten, men krever PCB etsing og SMD loddeutstyr. Imidlertid kan systemet lages ved å koble modulene direkte og sette spenningsregulatoren og PNP -transistoren på et stykke tavle - som tilfellet var i det tidligere TicTac -prosjektet (tidligere koblet).

Hvis du bestemmer deg for å bruke PCB -alternativet, kan du også lage mitt ESP12 -programmeringstavle, spesielt hvis du planlegger å gjøre flere prosjekter med ESP12 -kortene.

Deleliste:

  • 49g TicTac -eske
  • ESP-12F (eller ESP-12E) Merk at ESP-12F har bedre rekkevidde, ellers det samme som ESP-12E
  • 2,4”SPI TFT -skjerm med ILI9341 driver og berør f.eks. TJCTW24024-SPI
  • Ladermodul - se bilde
  • 2 mm pin-strip (valgfritt, men verdt å bruke)
  • PNP -transistor i SOT23 -format. Jeg brukte BCW30, men alle andre med mer enn 100ma evne og likestrømforsterkning> 200 burde være OK.
  • 3v3 250ma (min) regulator i SOT23 -format. Jeg brukte Microchip MCP1703T-33002E/CB. Andre vil jobbe, men sjekke hvilestrømmen. (foreslå mindre enn 30uA).
  • Motstander (alle 0805 størrelse)
  • 10k 4off
  • 3k3 1 av
  • Kondensatorer (alle 0805 størrelse)
  • 2n2 2 av
  • 0.1u 1 av
  • PCB som WiFiAnalyserArtwork.docx -fil vedlagt.
  • Encellet LiPo -batteri. Kapasitet 400-1000mahr - som passer i saken. 400mahr er nok stort nok.

For ikke-PCB-alternativet, bruk blyholdige ekvivalenter, motstander ¼W og over er fine, og kondensatorer med arbeidsspenning på 5v eller høyere.

Når du lager PCB - bor hullene på 0,8 mm. Hvis du har et godt øye - ESP12 2 mm pin -strip hull kan være 0,7 mm for bedre støtte.

Komponentplassering:

Bilde
Bilde

Når du monterer kretskortet, gjør du først motstandene og kondensatorene, deretter regulatoren og PNP-transistoren, etterfulgt av ladermodulen og pin-stripen for ESP12. Jeg loddet ikke ESP12 på plass ettersom den er fast nok presset på pin-stripen, og det er lettere å omprogrammere av brettet. Du vil legge merke til at kretskortet har kontakter for TX, RX, GPIO 0, Reset og ground hvis du noen gang vil omprogrammere in situ. Vær oppmerksom på at en knapp vil være nødvendig for å trekke GPIO lavt. Tilbakestillingen kan trekkes ned ved å berøre displayet. En knapp kan brukes, men bare hvis ledningen til displayet T_IRQ er koblet fra.

Trinn 3: Kabling

Før du kobler skjermen til kretskortet, fjern regulatoren i1 og legg en klatt loddetinn på J1 som deretter erstatter dette. Etterpå skal det se slik ut:

Bilde
Bilde

Fjern deretter pin-stripen eller klipp pinnene korte. Den beste måten å fjerne pin-stripen på er en pin om gangen. Påfør et loddejern på den ene siden mens du trekker tappen med tang på den andre.

Nå kan ledningene starte, og begynne med å koble båndkabelen til skjermen. Klipp rundt en 7-8 cm lang PC-båndkabel og velg 10 måter. Trim 9 av veiene tilbake 10 mm, og la en lengre i en kant for T-IRQ-pinnen. Resten kan deretter sprøytes ut der de skal loddes og trimmes litt mer der det er nødvendig.

Jeg plasserte og loddet en ledning om gangen som begynte med VCC.

Bilde
Bilde

Plasser kretskortet der det må være i forhold til displayet. Trim deretter trådene en om gangen til 5 mm eller så lengre enn nødvendig og fjern 2 mm isolasjon, tinn enden og loddetinn på plass. Ledningsføringen går som følger (teller pin -tall fra VCC):

Vise PCB Kommentar
1 1 VCC
2 8 GND
3 9 CS
4 5 NULLSTILLE
5 7 D/C
6 2 SDI (MOSI)
7 4 SCK
8 10 LED
9 3 SDO (MISO)
10 6 T_IRQ
Bilde
Bilde

Nå gjenstår det bare å koble til batteriet og programmere ESP12. Hvis du programmerer in situ, må du koble til batteriet nå. Hvis du programmerer av kortet, kobler du til batteriet etterpå.

Trinn 4: Programmering

Last ned koden ESP8266WiFiAnalMod.ino -fil vedlagt, lag en mappe som heter ‘ESP8266WiFiAnalMod’ i Arduino sketches -mappen og flytt filen til denne.

Start Arduino IDE (last ned og installer fra Arduino.cc om nødvendig) og legg til ESP -kortets detaljer hvis du ikke har dem (se: Sparkfun).

Last inn koden (Fil> Skissebok> … ESP8266WiFiAnalMod).

Sett deretter programmeringsdetaljene (Verktøy):

Velg brett: Generisk ESP8266 -modul

Se nedenfor for resten av innstillingene. Velg Tilbakestill metode: “nodemcu” hvis du bruker en programmerer med den automatiske stasjonen for tilbakestillingen og GPIO0. Ellers sett til “ck” hvis du programmerer på stedet eller ved direkte tilkobling til en USB til serieomformer.

Portnummeret er sannsynligvis annerledes.

Bilde
Bilde

Hvis du vil programmere in situ, må du lodde ledninger til en bryter for å trekke GPIO 0 lavt og koble til Tx og Rx-se nedenfor:

Et enklere alternativ er å bruke et programmeringstavle: ESP-12E og ESP-12F Programming and Breakout Board

Hvis du programmerer in-situ, kobler du til som nedenfor. Merk at hvis displayet er tilkoblet Reset kan aktiveres av berøringsskjermen, ellers er det nødvendig å bytte fra Reset til GND. Strøm er nødvendig for brettet, best ved å bruke 3,7v på OUT+ og OUT-pinnene. Hvis du bruker et batteri, må laderen nullstilles ved å koble til en USB -kabel kort.

Bilde
Bilde

Hvis du setter programmeringsmodus manuelt, trekker du reset low (berøringsskjerm), trekker GPIO 0 low og mens low slipper reset. Klikk nå på nedlastingsknappen. Programmeringen bør fortsette.

Hvis du bruker programmerings- og breakout -kortet, må du bare koble til FTDI USB -seriekonverteren, koble til 3.3v strøm til programmeringskortet og klikk på nedlasting.

Trinn 5: Sluttmontering og testing

Nå er en god tid for en foreløpig test. Hvis ESP12 ble programmert in situ, burde den fungere - bare berør skjermen lett, og den skulle starte. Hvis den er programmert av enheten - sett inn ESP12 og koble til batteriet, og det skal fungere.

Jeg koblet fra batteriet mens jeg gikk gjennom den siste monteringen, dels for enkelhets skyld og dels for å unngå utilsiktet kortslutning.

Displayet vil passe godt mellom hetten og bunnen av saken. Den hevede delen i basen holder skjermen pent mot boksen.

Kretskortet må festes til skjermkortet for både å passe inn i lokket og presentere USB -ladekontakten. Når det nødvendige forholdet mellom brettposisjonene er sett, plasserer du dobbeltsidig tape (den 1 mm tykke typen) på begge brettene. Dette vil gi en 2 mm klaring som bør unngå elektrisk kontakt. Jeg plasserte isolasjonstape som dekker displayelektronikken som en forholdsregel:

Bilde
Bilde

Deretter må vi ta rundt 2 mm av topplokket. Jeg fikk dette til å passe godt til skjermen med ekstra biter kuttet ut for båndet på berøringsskjermen og plastfeste på skjermen. Se nedenfor:

Bilde
Bilde
Bilde
Bilde

Til slutt må vi plassere batteriet og bruke dette til å holde skjermen mot boksens side. Jeg brukte et gammelt stykke polystyrenskum og kuttet og pusset det til ønsket tykkelse. Jeg festet dette til PCB -skjermen ved å bruke tynn dobbeltsidig tape og brukte et par mindre båndstykker for å stoppe batteriet som glir rundt.

Bilde
Bilde

Når du har koblet alt sammen og finner ut at ingenting skjer, ikke bekymre deg (ennå). Batteribeskyttelseskretsen på ladermodulen må nullstilles. Dette gjøres ved å koble den via en mikro -USB -ledning til en 5v -forsyning. Noen sekunder er lenge nok.

Og nå har du en nyttig enhet som viser kraften til ESP8266 -systemene, og i mitt tilfelle førte jeg til å bytte WiFi -kanal da den oppdaget 5 andre på den samme!

Jeg håper du liker dette flotte prosjektet.

Mike

Anbefalt: