Índice:

Analisador TicTac Super Wifi, ESP-12, ESP8266: 5 etapas (com imagens)
Analisador TicTac Super Wifi, ESP-12, ESP8266: 5 etapas (com imagens)

Vídeo: Analisador TicTac Super Wifi, ESP-12, ESP8266: 5 etapas (com imagens)

Vídeo: Analisador TicTac Super Wifi, ESP-12, ESP8266: 5 etapas (com imagens)
Vídeo: Супер анализатор WiFi в коробке TicTac 2024, Julho
Anonim
Analisador TicTac Super Wifi, ESP-12, ESP8266
Analisador TicTac Super Wifi, ESP-12, ESP8266
Analisador TicTac Super Wifi, ESP-12, ESP8266
Analisador TicTac Super Wifi, ESP-12, ESP8266

Este projeto se baseia no código original da moononournation e no conceito de usar uma caixa TicTac como um invólucro.

No entanto, em vez de usar um botão para iniciar as leituras, ele usa o painel de toque que vem com um display TFT SPI. O código foi modificado para controlar melhor a luz de fundo do LED e colocar o display no modo de espera (já que o módulo do display precisa permanecer energizado para o chip de toque). A corrente da unidade em repouso é baixa o suficiente para que uma lipo de 1000mah dure vários anos. Também há carregamento de bateria e proteção de baixa tensão no local.

Veja a última etapa para um vídeo dele funcionando.

Partes:

  • Caixa 48g TicTac
  • ESP12 (de preferência ESP-12F)
  • Display TFT SPI de 2,4”
  • Módulo de carregamento Lipo
  • Transistor PNP
  • 3,3v baixa corrente quiescente, regulador de tensão
  • Resistores e capacitores associados (detalhes a seguir)

Etapa 1: Desenvolvimento

Desenvolvimento
Desenvolvimento

Pensei em delinear o caminho de desenvolvimento para este projeto. Você pode pular esta seção se quiser ir direto ao assunto.

Este é um dos meus primeiros projetos ESP8266. Fiquei impressionado com o conceito simples de usar uma caixa TicTac como um invólucro para o analisador de Wifi e decidi fazer um. Obrigado: Portable-WiFi-Analyzer. Decidi usar uma tela maior de 2,4”- que veio com um painel de toque e um PCB com pinos que seriam mais fáceis de conectar.

Quando comecei a construção, explorei arranjos que teriam a antena ESP12 livre da eletrônica. A única opção era ficar dentro da tampa. Eu também queria o módulo do carregador sob o dispensador. A questão então era onde localizar o 'botão ligado'? Não queria fazer um buraco na parte de trás da mala. A tampa superior seria o melhor - mas não há espaço se eu tiver os dois módulos lá.

Isso levou à ideia de usar o painel de toque como botão liga / desliga. Notei que um dos conectores da tela estava rotulado como ‘T_IRQ’ - parecia encorajador. O chip de toque é um XPT2046. E sim, para minha alegria, tem um modo de suspensão automática e puxa o T_IRQ para baixo se o painel for tocado. Isso é ideal para substituir o interruptor de pressão e pode simplesmente ser conectado ao reset do ESP12.

Eu deveria ter mencionado que o código executa várias varreduras de redes wi-fi e, em seguida, remove a energia do monitor e coloca o ESP12 em hibernação - que é ativado por uma entrada de reinicialização.

Então, com este conceito claro, eu conectei, usando um NodeMcu - e não funcionou! Portanto, havia um pouco mais de trabalho a fazer. Eu também estava ciente de que não poderia verificar a corrente de repouso com o NodeMcu por causa do chip USB on-board e do regulador de tensão de alta corrente quiescente. Eu também queria um sistema para programar ESP12 facilmente. Isso me levou a fazer um sistema de desenvolvimento / placa de breakout ESP12 que poderia ser programado tão facilmente quanto o NodeMCU, mas usando um programador FTDI. Desta forma, o regulador e o chip USB são separados. Veja: Programação ESP-12E e ESP-12F e Quadro Breakout

Então eu conectei usando minha nova placa segurando um ESP-12F - e funcionou. A única mudança que fiz foi curto-circuitar o regulador de tensão no módulo de exibição para que tudo funcionasse a 3,3 V. Comecei a fazer meus mods de código, particularmente o código para colocar o chip de exibição (ILI9341) em modo de suspensão, pois isso e o chip do painel de toque precisariam ser alimentados (em modo de suspensão) quando o módulo ESP também estivesse em suspensão. Em seguida, verifiquei a corrente de sono. Isso era 90uA. Portanto, uma bateria de 1000mah duraria um ano. Bom começo.

Em seguida, removi o regulador de tensão do módulo de exibição. Teria sido suficiente apenas levantar o pino de aterramento. Agora, a corrente de suspensão do sistema era de 32uA. Eu ainda precisava adicionar um regulador de 3,3 V, mas conhecia um com apenas 2uA de corrente quiescente. Portanto, agora estamos olhando para 3 anos de duração da bateria!

Eu também queria montar os componentes o máximo possível em uma placa de circuito impresso para deixar a fiação mais organizada. Então, neste ponto, fui em frente com um design de PCB para a unidade. Eu gostaria de ter conectado diretamente aos pinos do módulo de exibição. Isso seria muito difícil, então optei por conectar a fiação do PCB ao módulo de exibição.

Fiz um pouco mais de ajustes no código. Eu adicionei uma notificação de sono - preenchendo a tela em preto e imprimindo ZZZ antes de ir dormir. Também retardei a ativação da luz de fundo LED até que a tela fosse preenchida. Isso evita o flash branco no início do código original. Eu fiz mods semelhantes no final, desligando os LEDs antes de colocar o monitor para hibernar.

Você deve estar se perguntando como medir o uA. Absolutamente fácil! Coloque um resistor de 1k em série com o cabo de alimentação positivo. Faça um curto-circuito com um jumper para que o sistema possa funcionar. Em seguida, quando estiver no modo de espera, remova o cabo do jumper e meça a queda de tensão no resistor. Com 1k resistor 100mv significa 100uA. Se a queda de tensão for muito grande, uso uma resistência de valor inferior. Usei esse método para medir nA de figura única usando um resistor de 1m em outros sistemas com correntes de sono realmente baixas.

Etapa 2: construção

Imagem
Imagem
Imagem
Imagem

PCB ou fio rígido?

A unidade que construí aqui usa um PCB para conter o ESP12F e módulos do carregador e o regulador de tensão e transistor PNP e os capacitores associados e resistores pull-up. Esta é a rota mais limpa, mas requer gravação PCB e equipamento de solda SMD. No entanto, o sistema poderia ser feito conectando os módulos diretamente e colocando o regulador de tensão e o transistor PNP em um pedaço de stripboard - como era o caso no projeto TicTac anterior (vinculado anteriormente).

Se você decidir ir com a opção de PCB, você pode querer fazer também minha placa de programação ESP12, especialmente se você planeja fazer mais projetos com as placas ESP12.

Lista de peças:

  • Caixa TicTac 49g
  • ESP-12F (ou ESP-12E) Observe que o ESP-12F tem melhor alcance, caso contrário, mesmo que ESP-12E
  • Visor TFT SPI de 2,4”com driver ILI9341 e toque, por exemplo TJCTW24024-SPI
  • Módulo carregador - ver foto
  • Pin-strip de 2 mm (opcional, mas vale a pena usar)
  • Transistor PNP no formato SOT23. Usei BCW30, mas qualquer outro com capacidade superior a 100ma e ganho DC> 200 deve estar OK.
  • Regulador 3v3 250ma (min) no formato SOT23. Usei o Microchip MCP1703T-33002E / CB. Outros funcionarão, mas verifique sua corrente quiescente. (sugira menos de 30uA).
  • Resistores (todos os tamanhos 0805)
  • 10k 4off
  • 3k3 1 desligado
  • Capacitores (todos os tamanhos 0805)
  • 2n2 2 desligado
  • 0,1u 1 desligado
  • PCB como arquivo WiFiAnalyserArtwork.docx anexado.
  • Bateria LiPo de célula única. Capacidade 400-1000mahr - isso caberá no caso. 400 mahr é bastante grande.

Para a opção sem PCB, use equivalentes com chumbo, resistores de ¼ W e acima são bons e capacitores com tensão de trabalho de 5 V ou mais.

Ao fazer o PCB - faça os furos a 0,8 mm. Se você tiver um olho perspicaz - os orifícios de alfinetes de 2 mm do ESP12 podem ter 0,7 mm para melhor suporte.

Posicionamento do componente:

Imagem
Imagem

Ao montar a placa de circuito impresso, faça primeiro os resistores e os capacitores, depois o regulador e o transistor PNP, seguidos pelo módulo do carregador e a régua de pinos para o ESP12. Eu não soldei o ESP12 no lugar, pois é firme o suficiente pressionado na tira de pinos e é mais fácil de reprogramar fora da placa. Você notará que o PCB tem conectores para TX, RX, GPIO 0, Reset e aterramento se você quiser reprogramar in-situ. Observe que um botão será necessário para puxar GPIO para baixo. A reinicialização pode ser baixada tocando no display. Um botão pode ser usado, mas apenas se o fio para o monitor T_IRQ estiver desconectado.

Etapa 3: Fiação

Antes de conectar o display à placa de circuito, remova o regulador i1 e coloque uma gota de solda em J1 que a substituirá. Depois, deve ser semelhante a:

Imagem
Imagem

Em seguida, remova a tira de alfinetes ou corte os alfinetes. A melhor maneira de remover a tira de pinos é um pino de cada vez. Aplique um ferro de solda em um lado enquanto puxa o pino com um alicate do outro.

Agora a fiação pode começar, começando com a conexão do cabo de fita ao monitor. Corte em torno de um comprimento de 7 a 8 cm de cabo de fita para PC e selecione 10 formas. Corte 9 das formas para trás 10 mm, deixando um mais longo em uma das bordas para o pino T-IRQ. O resto pode então ser espalhado para onde serão soldados e aparados um pouco mais quando necessário.

Coloquei e soldei um cabo de cada vez, começando com VCC.

Imagem
Imagem

Coloque a placa de circuito impresso onde ela precisa estar em relação à tela. Em seguida, um de cada vez, corte os fios para 5 mm ou mais do que o necessário e descasque o isolamento de 2 mm, estanhe a extremidade e solde no lugar. O roteamento do fio é o seguinte (contando os números dos pinos do VCC):

Exibição PCB Comente
1 1 VCC
2 8 GND
3 9 CS
4 5 REDEFINIR
5 7 D / C
6 2 SDI (MOSI)
7 4 SCK
8 10 CONDUZIU
9 3 SDO (MISO)
10 6 T_IRQ
Imagem
Imagem

Agora só falta conectar a bateria e programar o ESP12. Se estiver programando no local, conecte a bateria agora. Se estiver programando fora da placa, conecte a bateria em seguida.

Etapa 4: Programação

Baixe o arquivo de código ESP8266WiFiAnalMod.ino anexado, crie uma pasta chamada ‘ESP8266WiFiAnalMod’ em sua pasta de esboços do Arduino e mova o arquivo para ela.

Inicie o IDE do Arduino (baixe e instale do Arduino.cc se necessário) e adicione os detalhes da placa ESP se você não os tiver (consulte: Sparkfun).

Carregue o código (Arquivo> Sketchbook>… ESP8266WiFiAnalMod).

Em seguida, defina os detalhes de programação (Ferramentas):

Selecione a placa: Módulo ESP8266 Genérico

Veja abaixo o resto das configurações. Selecione Método de reinicialização: “nodemcu” se estiver usando um programador com a unidade automatizada de reinicialização e GPIO0. Caso contrário, defina como “ck” se estiver programando in-situ ou por conexão direta a um conversor USB para serial.

O número da porta provavelmente será diferente.

Imagem
Imagem

Se você quiser programar in-situ, você precisará soldar os fios a uma chave para puxar o GPIO 0 para baixo e conectar ao Tx e Rx - veja abaixo:

Uma opção mais fácil é usar uma placa de programação: ESP-12E e ESP-12F Programming and Breakout Board

Se estiver programando in-situ, conecte-se conforme abaixo. Observe que se o display estiver conectado, o Reset pode ser ativado pela tela de toque, caso contrário, é necessário alternar de Reset para GND. A alimentação é necessária para a placa, melhor aplicando 3,7 V aos pinos OUT + e OUT-. Se estiver usando uma bateria, o carregador precisa ser reiniciado ligando brevemente um cabo USB.

Imagem
Imagem

Se estiver configurando o modo de programação manualmente, puxe a redefinição para baixo (tela sensível ao toque), puxe o GPIO 0 para baixo e, enquanto baixa, libere a redefinição. Agora clique no botão de download. A programação deve prosseguir.

Se estiver usando a placa de programação e breakout, conecte o conversor serial USB FTDI, aplique a alimentação de 3,3 V na placa de programação e clique em download.

Etapa 5: Montagem Final e Teste

Agora é um bom momento para um teste preliminar. Se o ESP12 foi programado no local, ele deve estar funcionando - basta tocar levemente na tela e ele deve iniciar. Se programado fora da unidade - insira o ESP12 e conecte a bateria e deve estar funcionando.

Desconectei a bateria enquanto fazia a montagem final, em parte por conveniência e em parte para evitar qualquer curto-circuito não intencional.

O display irá encaixar perfeitamente entre a tampa e a parte inferior da caixa. A seção elevada na base mantém a tela no lado da caixa.

A placa de circuito deve ser fixada na placa do visor para caber dentro da tampa e apresentar a tomada de carregamento USB. Quando for observada a relação necessária entre as posições das placas, coloque fita dupla-face (do tipo com 1 mm de espessura) em ambas as placas. Isso dará uma folga de 2 mm que deve evitar qualquer contato elétrico. Coloquei um pouco de fita isolante cobrindo os componentes eletrônicos da tela como precaução:

Imagem
Imagem

Em seguida, precisamos retirar cerca de 2 mm da tampa superior. Fiz um ajuste confortável na tela com pedaços extras cortados para o cabo de fita da tela de toque e o suporte de plástico da tela. Veja abaixo:

Imagem
Imagem
Imagem
Imagem

Por último, precisamos colocar a bateria e usá-la para segurar a tela contra a lateral da caixa. Usei um pedaço velho de espuma de poliestireno e cortei e lixei até a espessura necessária. Eu colei isso na placa de vídeo usando uma fita fina de dupla face e usei alguns pedaços menores de fita para evitar que a bateria escorregasse.

Imagem
Imagem

Quando você conectar tudo e descobrir que nada acontece, não se preocupe (ainda). O circuito de proteção da bateria no módulo do carregador deve ser reiniciado. Isso é feito conectando-o através de um cabo micro USB a uma fonte de 5v. Alguns segundos são suficientes.

E agora você tem um dispositivo útil que mostra a potência dos sistemas ESP8266 e, no meu caso, me levou a mudar meu canal WiFi ao detectar 5 outros no mesmo!

Espero que gostem deste lindo projeto.

Mike

Recomendado: