Sommario:

Analizzatore TicTac Super Wifi, ESP-12, ESP8266: 5 passaggi (con immagini)
Analizzatore TicTac Super Wifi, ESP-12, ESP8266: 5 passaggi (con immagini)

Video: Analizzatore TicTac Super Wifi, ESP-12, ESP8266: 5 passaggi (con immagini)

Video: Analizzatore TicTac Super Wifi, ESP-12, ESP8266: 5 passaggi (con immagini)
Video: Супер анализатор WiFi в коробке TicTac 2024, Luglio
Anonim
Analizzatore TicTac Super Wifi, ESP-12, ESP8266
Analizzatore TicTac Super Wifi, ESP-12, ESP8266
Analizzatore TicTac Super Wifi, ESP-12, ESP8266
Analizzatore TicTac Super Wifi, ESP-12, ESP8266

Questo progetto si basa sul codice lunare originale e sul concetto di utilizzare una scatola TicTac come custodia.

Tuttavia, invece di utilizzare un pulsante per avviare le letture, viene utilizzato il pannello a sfioramento fornito con un display TFT SPI. Il codice è stato modificato per un migliore controllo della retroilluminazione a LED e per mettere il display in modalità di sospensione (poiché il modulo del display deve rimanere alimentato per il chip touch). La corrente dell'unità nel sonno è sufficientemente bassa da consentire a una lipo da 1000 mAh di durare diversi anni. C'è anche la ricarica della batteria e la protezione a bassa tensione in atto.

Guarda l'ultimo passaggio per un video del suo funzionamento.

Parti:

  • Scatola TicTac da 48 g
  • ESP12 (preferibilmente ESP-12F)
  • Display TFT SPI da 2,4"
  • Modulo di ricarica Lipo
  • Transistor PNP
  • 3.3v bassa corrente di riposo, regolatore di tensione
  • Resistori e condensatori associati (dettagli più avanti)

Passaggio 1: sviluppo

Sviluppo
Sviluppo

Ho pensato di delineare il percorso di sviluppo di questo progetto. Puoi saltare questa sezione se desideri iniziare subito a farlo.

Questo è uno dei miei primi progetti ESP8266. Sono stato preso dall'idea di utilizzare una scatola TicTac come custodia per l'analizzatore Wifi e ho deciso di crearne uno. Grazie: analizzatore WiFi portatile. Ho deciso di utilizzare un display più grande da 2,4 , fornito con un pannello a sfioramento e su un PCB con pin a cui sarebbe stato più facile connettersi.

Quando ho iniziato la costruzione ho esplorato accordi che avrebbero l'antenna ESP12 libera dall'elettronica. L'unica opzione era che fosse all'interno del tappo. Volevo anche il modulo caricabatterie sotto l'erogatore. La domanda quindi era dove individuare il "pulsante di accensione"? Non volevo fare un buco nella parte posteriore della custodia. Il tappo superiore sarebbe il migliore, ma non c'è spazio se ho i due moduli lì.

Ciò ha portato all'idea di utilizzare il pannello a sfioramento come pulsante di accensione. Ho notato che uno dei connettori del display era etichettato "T_IRQ" - sembrava incoraggiante. Il chip touch è un XPT2046. E sì, con mia grande gioia, ha una modalità di sospensione automatica e abbassa il T_IRQ se viene toccato il pannello. Questo è l'ideale per sostituire l'interruttore a pressione e può essere semplicemente collegato al reset ESP12.

Avrei dovuto menzionare che il codice esegue diverse scansioni per le reti wifi e quindi rimuove l'alimentazione dal display e mette l'ESP12 in modalità di sospensione profonda, che viene svegliata da un input di ripristino.

Quindi, con questo concetto chiaro, l'ho collegato, usando un NodeMcu - e non ha funzionato! Quindi c'era ancora un po' di lavoro da fare. Ero anche consapevole che non potevo controllare la corrente di sospensione con il NodeMcu a causa del chip USB integrato e del regolatore di tensione ad alta corrente di riposo. Volevo anche un sistema per programmare facilmente gli ESP12. Ciò ha portato alla mia creazione di una scheda breakout/sistema di sviluppo ESP12 che potrebbe essere programmato facilmente come il NodeMCU, ma utilizzando un programmatore FTDI. In questo modo il regolatore e il chip USB sono separati. Vedere: Scheda di programmazione e breakout di ESP-12E e ESP-12F

Quindi l'ho collegato utilizzando la mia nuova scheda con un ESP-12F e ha funzionato. L'unica modifica che ho fatto è stata quella di mettere in cortocircuito il regolatore di tensione sul modulo display, quindi tutto è stato guidato a 3,3 V. Ho iniziato a fare le mie modifiche al codice, in particolare il codice per mettere il chip del display (ILI9341) in modalità di sospensione poiché questo e il chip del pannello a sfioramento dovrebbero essere alimentati (in modalità di sospensione) quando anche il modulo ESP è in sospensione. Ho quindi controllato la corrente di sonno. Questo era 90uA. Quindi una batteria da 1000 mAh durerebbe un anno. Buon inizio.

Quindi ho rimosso il regolatore di tensione sul modulo display. Sarebbe bastato aver appena alzato il perno di massa. Ora la corrente di sospensione del sistema era 32uA. Dovevo ancora aggiungere un regolatore da 3,3 V, ma ne conoscevo uno con una corrente di riposo di soli 2 µA. Quindi ora stiamo guardando a 3 anni di durata della batteria!

Volevo anche montare i componenti il più possibile su un PCB per rendere il cablaggio più ordinato. Quindi a questo punto sono andato avanti con un progetto PCB per l'unità. Mi sarebbe piaciuto essere collegato direttamente ai pin del modulo display. Sarebbe stato piuttosto difficile, quindi ho optato per il cavo rigido dal PCB al modulo display.

Ho armeggiato un po' di più con il codice. Ho aggiunto una notifica di sospensione: riempire lo schermo di nero e stampare ZZZ prima di andare a dormire. Ho anche ritardato l'accensione della retroilluminazione a LED fino a riempire lo schermo. Questo evita il lampo bianco all'inizio del codice originale. Ho fatto modifiche simili alla fine spegnendo i LED prima di mettere il display in stop.

Ti starai chiedendo come misurare uA. Morto facile! Metti un resistore da 1k in serie con il cavo di alimentazione positivo. Cortocircuitare con un ponticello in modo che il sistema possa funzionare. Quindi, quando è in modalità di sospensione, rimuovere il cavo del ponticello e misurare la caduta di tensione attraverso il resistore. Con resistenza da 1k 100mv significa 100uA. Se la caduta di tensione è eccessiva, utilizzo una resistenza di valore inferiore. Ho usato questo metodo per misurare nA a cifra singola utilizzando un resistore da 1 m su altri sistemi con correnti di sospensione molto basse.

Fase 2: Costruzione

Immagine
Immagine
Immagine
Immagine

PCB o filo rigido?

L'unità che ho costruito qui utilizza un PCB per contenere i moduli ESP12F e caricabatterie e il regolatore di tensione e il transistor PNP e i condensatori associati e le resistenze di pull-up. Questo è il percorso più ordinato, ma richiede l'incisione del PCB e l'attrezzatura di saldatura SMD. Tuttavia, il sistema potrebbe essere realizzato cablando direttamente i moduli e inserendo il regolatore di tensione e il transistor PNP su un pezzo di stripboard, come nel caso del precedente progetto TicTac (collegato in precedenza).

Se decidi di utilizzare l'opzione PCB, potresti voler creare anche la mia scheda di programmazione ESP12, soprattutto se prevedi di fare più progetti con le schede ESP12.

Elenco delle parti:

  • Scatola TicTac da 49 g
  • ESP-12F (o ESP-12E) Nota che ESP-12F ha una portata migliore, altrimenti uguale a ESP-12E
  • Display TFT SPI da 2,4” con driver ILI9341 e touch, ad es. TJCTW24024-SPI
  • Modulo caricabatterie – vedi foto
  • Pin-strip da 2 mm (opzionale ma vale la pena utilizzarlo)
  • Transistor PNP in formato SOT23. Ho usato BCW30 ma qualsiasi altro con capacità superiore a 100 mA e guadagno CC> 200 dovrebbe essere OK.
  • Regolatore 3v3 250ma(min) in formato SOT23. Ho usato Microchip MCP1703T-33002E/CB. Altri funzioneranno ma controlleranno la loro corrente di riposo. (suggerire meno di 30uA).
  • Resistenze (tutte le dimensioni 0805)
  • 10k 4off
  • 3k3 1 off
  • Condensatori (tutte le dimensioni 0805)
  • 2n2 2 off
  • 0.1u 1 sconto
  • PCB come file WiFiAnalyserArtwork.docx allegato.
  • Batteria LiPo a cella singola. Capacità 400-1000mahr - che si adatta alla custodia. 400mahr è abbastanza grande.

Per l'opzione senza PCB, utilizzare equivalenti con piombo, resistori ¼W e superiori vanno bene e condensatori con tensione di lavoro di 5 V o superiore.

Quando si realizza il PCB, praticare i fori a 0,8 mm. Se hai un occhio attento, i fori per pin-strip ESP12 da 2 mm possono essere di 0,7 mm per un supporto migliore.

Posizionamento dei componenti:

Immagine
Immagine

Quando si assembla il PCB, eseguire prima i resistori e i condensatori, quindi il regolatore e il transistor PNP, quindi il modulo caricabatterie e la pin-strip per ESP12. Non ho saldato l'ESP12 in posizione poiché è abbastanza fermo premuto sulla striscia di spillo ed è più facile riprogrammare la scheda. Noterai che il PCB ha connettori per TX, RX, GPIO 0, Reset e terra se vuoi riprogrammare in situ. Si noti che sarà necessario un pulsante per abbassare GPIO. Il ripristino può essere ridotto toccando il display. Un pulsante può essere utilizzato ma solo se il filo al display T_IRQ è scollegato.

Passaggio 3: cablaggio

Prima di collegare il display alla scheda, rimuovere il regolatore i1 e mettere una goccia di saldatura su J1 che poi va a sostituire questo. Successivamente dovrebbe apparire come:

Immagine
Immagine

Quindi rimuovere il pin-strip o tagliare i perni corti. Il modo migliore per rimuovere il pin-strip è uno spillo alla volta. Applicare un saldatore da un lato mentre si tira il perno con le pinze dall'altro.

Ora il cablaggio può iniziare, iniziando con il collegamento del cavo a nastro al display. Tagliare circa 7-8 cm di cavo a nastro per PC e selezionare 10 modi. Taglia 9 vie indietro di 10 mm lasciandone una più lunga su un bordo per il pin T-IRQ. Il resto può quindi essere allargato fino al punto in cui verrà saldato e tagliato un po' di più se necessario.

Ho posizionato e saldato un cavo alla volta iniziando con VCC.

Immagine
Immagine

Posizionare il PCB dove deve essere rispetto al display. Quindi, uno alla volta, tagliare i fili a 5 mm circa più lunghi del necessario e spellare l'isolamento di 2 mm, stagnare l'estremità e saldare in posizione. L'instradamento dei cavi procede come segue (contando i numeri di pin da VCC):

Schermo PCB Commento
1 1 VCC
2 8 GND
3 9 CS
4 5 RIPRISTINA
5 7 D/C
6 2 SDI(MOSI)
7 4 SCK
8 10 GUIDATO
9 3 SDO(MISO)
10 6 T_IRQ
Immagine
Immagine

Ora non resta che collegare la batteria e programmare ESP12. Se si programma in loco, collegare ora la batteria. In caso di programmazione da scheda collegare successivamente la batteria.

Passaggio 4: programmazione

Scarica il codice ESP8266WiFiAnalMod.ino file allegato, crea una cartella chiamata "ESP8266WiFiAnalMod" nella cartella degli schizzi di Arduino e sposta il file in questa.

Avvia l'IDE Arduino (scarica e installa da Arduino.cc se necessario) e aggiungi i dettagli della scheda ESP se non li hai (vedi: Sparkfun).

Carica il codice (File>Sketchbook>… ESP8266WiFiAnalMod).

Quindi impostare i dettagli di programmazione (Strumenti):

Seleziona scheda: Modulo ESP8266 generico

Vedi sotto per il resto delle impostazioni. Selezionare il metodo di ripristino: "nodemcu" se si utilizza un programmatore con l'unità automatizzata del ripristino e GPIO0. Altrimenti impostare su "ck" se si programma in situ o tramite connessione diretta a un convertitore da USB a seriale.

È probabile che il numero di porta sia diverso.

Immagine
Immagine

Se desideri programmare in loco, dovrai saldare i fili a un interruttore per abbassare GPIO 0 e collegarti a Tx e Rx - vedi sotto:

Un'opzione più semplice è quella di utilizzare una scheda di programmazione: ESP-12E e ESP-12F Programming and Breakout Board

Se si programma in situ, collegarsi come di seguito. Nota se il display è collegato Il reset può essere attivato dal touch screen, altrimenti è necessario un passaggio da Reset a GND. L'alimentazione è necessaria alla scheda, meglio applicando 3.7v ai pin OUT+ e OUT-. Se si utilizza una batteria, è necessario ripristinare il caricabatterie collegando brevemente un cavo USB.

Immagine
Immagine

Se si imposta manualmente la modalità di programmazione, tirare il reset in basso (touch screen), tirare GPIO 0 in basso e mentre è basso rilasciare il reset. Ora fai clic sul pulsante di download. La programmazione dovrebbe procedere.

Se si utilizza la scheda di programmazione e breakout, è sufficiente collegare il convertitore seriale USB FTDI, applicare l'alimentazione a 3,3 V alla scheda di programmazione e fare clic su download.

Passaggio 5: assemblaggio finale e test

Ora è un buon momento per un test preliminare. Se l'ESP12 è stato programmato in loco, dovrebbe funzionare: basta toccare leggermente lo schermo e dovrebbe avviarsi. Se programmato fuori dall'unità, inserisci l'ESP12 e collega la batteria e dovrebbe funzionare.

Ho scollegato la batteria durante l'assemblaggio finale in parte per comodità e in parte per evitare cortocircuiti involontari.

Il display si inserirà ordinatamente tra il cappuccio e la parte inferiore del case. La sezione rialzata nella base tiene bene lo schermo sul lato della scatola.

La scheda elettronica deve essere fissata al tabellone in modo che sia inserita all'interno del cappuccio e sia presente la presa di ricarica USB. Quando viene rilevata la relazione richiesta tra le posizioni delle schede, posizionare del nastro biadesivo (del tipo spesso 1 mm) su entrambe le schede. Questo darà uno spazio di 2 mm che dovrebbe evitare qualsiasi contatto elettrico. Per precauzione ho posizionato del nastro isolante che copre l'elettronica del display:

Immagine
Immagine

Quindi dobbiamo togliere circa 2 mm dal tappo superiore. L'ho adattato perfettamente allo schermo con punte extra ritagliate per il cavo a nastro del touch screen e il supporto in plastica dello schermo. Vedi sotto:

Immagine
Immagine
Immagine
Immagine

Infine dobbiamo posizionare la batteria e usarla per tenere il display contro il lato della scatola. Ho usato un vecchio pezzo di polistirolo espanso e l'ho tagliato e levigato allo spessore richiesto. L'ho incollato al PCB del display usando un sottile nastro biadesivo e ho usato un paio di pezzi di nastro più piccoli per impedire alla batteria di scivolare.

Immagine
Immagine

Quando hai collegato tutto e scopri che non succede nulla, non preoccuparti (ancora). Il circuito di protezione della batteria sul modulo caricabatteria deve essere ripristinato. Questo viene fatto collegandolo tramite un cavo micro USB a un'alimentazione 5v. Pochi secondi sono sufficienti.

E ora hai un dispositivo utile che mostra la potenza dei sistemi ESP8266 e nel mio caso mi ha portato a cambiare il mio canale WiFi poiché ne ha rilevati altri 5 sullo stesso!

Spero che questo bel progetto vi piaccia.

Mike

Consigliato: