Spisu treści:

Analizator TicTac Super Wifi, ESP-12, ESP8266: 5 kroków (ze zdjęciami)
Analizator TicTac Super Wifi, ESP-12, ESP8266: 5 kroków (ze zdjęciami)

Wideo: Analizator TicTac Super Wifi, ESP-12, ESP8266: 5 kroków (ze zdjęciami)

Wideo: Analizator TicTac Super Wifi, ESP-12, ESP8266: 5 kroków (ze zdjęciami)
Wideo: Супер анализатор WiFi в коробке TicTac 2024, Listopad
Anonim
Analizator Super Wifi TicTac, ESP-12, ESP8266
Analizator Super Wifi TicTac, ESP-12, ESP8266
Analizator TicTac Super Wifi, ESP-12, ESP8266
Analizator TicTac Super Wifi, ESP-12, ESP8266

Ten projekt opiera się na oryginalnym kodzie księżycowym i koncepcji wykorzystania pudełka TicTac jako obudowy.

Jednak zamiast używać przycisku do uruchamiania odczytów, używa on panelu dotykowego wyposażonego w wyświetlacz TFT SPI. Kod został zmodyfikowany w celu lepszej kontroli podświetlenia LED i przełączenia wyświetlacza w tryb uśpienia (ponieważ moduł wyświetlacza musi pozostać zasilany dla chipa dotykowego). Prąd jednostkowy we śnie jest wystarczająco niski, aby lipo o pojemności 1000 mAh wystarczyło na kilka lat. Na miejscu jest również zabezpieczenie przed ładowaniem baterii i niskim napięciem.

Zobacz ostatni krok, aby zobaczyć wideo, jak to działa.

Części:

  • Pudełko 48g TicTac
  • ESP12 (najlepiej ESP-12F)
  • Wyświetlacz TFT 2,4” SPI
  • Moduł ładowania lipo
  • Tranzystor PNP
  • 3.3 v niski prąd spoczynkowy, regulator napięcia;
  • Powiązane rezystory i kondensatory (szczegóły później)

Krok 1: Rozwój

Rozwój
Rozwój

Pomyślałem, że nakreślę ścieżkę rozwoju tego projektu. Możesz pominąć tę sekcję, jeśli chcesz od razu zacząć to robić.

To jeden z moich pierwszych projektów ESP8266. Pochłonęła mnie zgrabna koncepcja użycia pudełka TicTac jako obudowy dla analizatora Wifi i postanowiłem go zrobić. Dziękuję: Przenośny analizator WiFi. Zdecydowałem się na większy wyświetlacz 2,4” – z panelem dotykowym i płytką PCB z pinami, do których łatwiej byłoby się podłączyć.

Kiedy zacząłem budowę, zbadałem aranżacje, w których antena ESP12 byłaby wolna od elektroniki. Jedyną opcją było umieszczenie go w czapce. Chciałem też moduł ładowarki pod dozownikiem. Pytanie brzmiało wtedy, gdzie znaleźć przycisk „włącz”? Nie chciałem robić dziury z tyłu obudowy. Najlepsza byłaby górna zaślepka – ale nie ma miejsca, jeśli mam tam dwa moduły.

Doprowadziło to do pomysłu wykorzystania panelu dotykowego jako przycisku włączania. Zauważyłem, że jedno ze złącz wyświetlacza było oznaczone jako „T_IRQ” – wyglądało to zachęcająco. Układ dotykowy to XPT2046. I tak, ku mojej radości, ma tryb automatycznego uśpienia i obniża T_IRQ po dotknięciu panelu. Jest to idealne rozwiązanie do zastąpienia przełącznika wciskanego i może być po prostu podłączone do resetu ESP12.

Powinienem był wspomnieć, że kod uruchamia kilka skanów sieci Wi-Fi, a następnie odłącza zasilanie wyświetlacza i wprowadza ESP12 w głęboki sen – jest to wybudzane przez wejście resetujące.

Mając jasną koncepcję, podłączyłem ją za pomocą NodeMcu – i to nie zadziałało! Było więc trochę więcej do zrobienia. Byłem również świadomy, że nie mogę sprawdzić prądu uśpienia za pomocą NodeMcu ze względu na wbudowany układ USB i regulator napięcia o wysokim prądzie spoczynkowym. Chciałem też systemu do łatwego programowania ESP12. Doprowadziło to do stworzenia przeze mnie płytki/systemu programistycznego ESP12, który można zaprogramować tak łatwo, jak NodeMCU, ale za pomocą programatora FTDI. W ten sposób regulator i chip USB są rozdzielone. Zobacz: ESP-12E i ESP-12F Płytka programująca i zaciskowa

Następnie podłączyłem go za pomocą mojej nowej płyty trzymającej ESP-12F – i zadziałało. Jedyną zmianą, jaką wprowadziłem, było zwarcie regulatora napięcia na module wyświetlacza, więc wszystko było zasilane napięciem 3,3 V. Zacząłem robić modyfikacje kodu, w szczególności kod, aby przełączyć układ wyświetlacza (ILI9341) w tryb uśpienia, ponieważ to i układ panelu dotykowego musiałby być zasilany (w trybie uśpienia), gdy moduł ESP również jest w stanie uśpienia. Następnie sprawdziłem prąd snu. To było 90uA. Tak więc bateria o pojemności 1000 mAh wystarczyłaby na rok. Dobry początek.

Następnie usunąłem regulator napięcia na module wyświetlacza. Wystarczyłoby podnieść kołek uziemienia. Teraz prąd uśpienia systemu wynosił 32uA. Nadal musiałem dodać regulator 3,3 V, ale znałem go z prądem spoczynkowym tylko 2uA. Więc teraz patrzymy na 3 lata żywotności baterii!

Chciałem również zamontować komponenty jak najwięcej na płytce drukowanej, aby okablowanie było bardziej uporządkowane. Więc w tym momencie zacząłem projektować PCB dla tego urządzenia. Chciałbym mieć podłączony bezpośrednio do pinów modułu wyświetlacza. To miało być dość trudne, więc zdecydowałem się na twardy drut z płytki drukowanej do modułu wyświetlacza.

Trochę więcej majstrowałem przy kodzie. Dodałem powiadomienie o śnie – wypełnienie ekranu na czarno i wydrukowanie ZZZ przed pójściem spać. Opóźniłem też włączenie podświetlenia LED, dopóki ekran się nie zapełni. Pozwala to uniknąć białego błysku na początku oryginalnego kodu. Podobne modyfikacje zrobiłem na końcu wyłączając diody LED przed uśpieniem wyświetlacza.

Być może zastanawiasz się, jak zmierzyć uA. Banalnie proste! Połącz szeregowo rezystor 1k z dodatnim przewodem zasilającym. Skróć to przewodem połączeniowym, aby system mógł działać. Następnie, gdy jest w trybie uśpienia, usuń zworkę i zmierz spadek napięcia na rezystorze. Z rezystorem 1k 100mv oznacza 100uA. Jeśli spadek napięcia jest zbyt duży, stosuję rezystancję o niższej wartości. Użyłem tej metody do pomiaru pojedynczej cyfry nA przy użyciu rezystora 1m w innych systemach z naprawdę niskimi prądami uśpienia.

Krok 2: Budowa

Obraz
Obraz
Obraz
Obraz

PCB czy twardy drut?

Urządzenie, które tutaj zbudowałem, wykorzystuje płytkę PCB do przechowywania modułów ESP12F i ładowarki oraz regulatora napięcia i tranzystora PNP oraz powiązanych kondensatorów i rezystorów podciągających. To najfajniejsza droga, ale wymaga sprzętu do trawienia PCB i lutowania SMD. Jednak system można było wykonać poprzez bezpośrednie okablowanie modułów i nałożenie regulatora napięcia i tranzystora PNP na kawałek stripboardu – tak jak miało to miejsce we wcześniejszym projekcie TicTac (podłączonym wcześniej).

Jeśli zdecydujesz się na opcję PCB, możesz również zrobić moją płytkę do programowania ESP12, zwłaszcza jeśli planujesz robić więcej projektów z płytami ESP12.

Lista części:

  • Pudełko 49g TicTac
  • ESP-12F (lub ESP-12E) Zauważ, że ESP-12F ma lepszy zasięg, poza tym taki sam jak ESP-12E
  • Wyświetlacz 2,4” SPI TFT ze sterownikiem ILI9341 i dotykiem m.in. TJCTW24024-SPI
  • Moduł ładowarki – patrz zdjęcie
  • Listwa szpilkowa 2 mm (opcjonalna, ale warta użycia)
  • Tranzystor PNP w formacie SOT23. Użyłem BCW30, ale każdy inny o mocy powyżej 100mA i wzmocnieniu DC>200 powinien być OK.
  • Regulator 3v3 250ma(min) w formacie SOT23. Użyłem Microchip MCP1703T-33002E/CB. Inne będą działać, ale sprawdź ich prąd spoczynkowy. (sugeruję mniej niż 30uA).
  • Rezystory (wszystkie rozmiary 0805)
  • 10k 4wył.
  • 3k3 1 off
  • Kondensatory (wszystkie rozmiary 0805)
  • 2n2 2 wył.
  • 0.1u 1 wył.
  • PCB jako plik WiFiAnalyserArtwork.docx w załączeniu.
  • Jednoogniwowa bateria LiPo. Pojemność 400-1000 mahr - zmieści się w etui. 400 mahr jest wystarczająco duże.

W przypadku opcji bez PCB użyj odpowiedników ołowiowych, rezystory ¼W i wyższe są w porządku, a kondensatory o napięciu roboczym 5V lub większym.

Przy wykonywaniu PCB - wywierć otwory co 0,8mm. Jeśli masz bystre oko - otwory na listwy ESP12 2 mm mogą mieć 0,7 mm dla lepszego wsparcia.

Rozmieszczenie komponentów:

Obraz
Obraz

Podczas montażu PCB najpierw wykonaj rezystory i kondensatory, potem regulator i tranzystor PNP, a następnie moduł ładowarki i listwę pinową dla ESP12. Nie przylutowałem ESP12 na miejscu, ponieważ jest wystarczająco mocno dociśnięty do listwy pinowej i łatwiej jest go przeprogramować z płyty. Zauważysz, że PCB ma złącza dla TX, RX, GPIO 0, Reset i uziemienia, jeśli kiedykolwiek będziesz chciał przeprogramować in-situ. Zauważ, że przycisk będzie wymagany do obniżenia GPIO. Reset można wyciągnąć, dotykając wyświetlacza. Można użyć przycisku, ale tylko wtedy, gdy przewód do wyświetlacza T_IRQ jest odłączony.

Krok 3: Okablowanie

Przed podłączeniem wyświetlacza do płytki drukowanej usuń regulator i1 i umieść kropelkę lutowia na J1, która następnie go zastąpi. Następnie powinno wyglądać tak:

Obraz
Obraz

Następnie usuń pasek z szpilkami lub skróć szpilki. Najlepszym sposobem na usunięcie szpilki jest jedna szpilka na raz. Przyłóż lutownicę z jednej strony, jednocześnie ciągnąc szpilkę za pomocą szczypiec z drugiej.

Teraz można rozpocząć okablowanie, zaczynając od podłączenia kabla taśmowego do wyświetlacza. Przetnij około 7-8 cm kabla taśmowego PC i wybierz 10 sposobów. Przytnij 9 sposobów cofania się o 10 mm, pozostawiając jeden dłuższy na jednej krawędzi dla pinu T-IRQ. Resztę można następnie rozłożyć do miejsca, w którym zostaną przylutowane i w razie potrzeby nieco bardziej przycięte.

Umieszczałem i lutowałem po jednym wyprowadzeniu, zaczynając od VCC.

Obraz
Obraz

Umieść płytkę drukowaną w odpowiednim miejscu w stosunku do wyświetlacza. Następnie, pojedynczo, przytnij przewody do długości około 5 mm dłużej niż jest to wymagane i zdejmij izolację o grubości 2 mm, ocynuj koniec i przylutuj na miejscu. Prowadzenie przewodów przebiega następująco (licząc numery pinów z VCC):

Wyświetlacz PCB Komentarz
1 1 VCC
2 8 GND
3 9 CS
4 5 RESETOWANIE
5 7 D/C
6 2 SDI(MOSI)
7 4 SCK
8 10 PROWADZONY
9 3 SDO(MISO)
10 6 T_IRQ
Obraz
Obraz

Teraz pozostaje już tylko podłączyć akumulator i zaprogramować ESP12. Jeśli programujesz na miejscu, podłącz teraz baterię. Jeśli programujesz poza płytą, podłącz akumulator później.

Krok 4: Programowanie

Pobierz załączony plik z kodem ESP8266WiFiAnalMod.ino, utwórz folder o nazwie „ESP8266WiFiAnalMod” w folderze szkiców Arduino i przenieś plik do tego.

Uruchom Arduino IDE (w razie potrzeby pobierz i zainstaluj z Arduino.cc) i dodaj szczegóły płyty ESP, jeśli ich nie masz (patrz: Sparkfun).

Załaduj kod (Plik>Szkicownik>… ESP8266WiFiAnalMod).

Następnie ustaw szczegóły programowania (Narzędzia):

Wybierz płytę: ogólny moduł ESP8266

Zobacz poniżej pozostałe ustawienia. Wybierz metodę resetowania: „nodemcu”, jeśli używasz programatora z automatycznym napędem resetowania i GPIO0. W przeciwnym razie ustaw na „ck”, jeśli programujesz na miejscu lub przez bezpośrednie połączenie z konwerterem USB na port szeregowy.

Numer portu prawdopodobnie będzie inny.

Obraz
Obraz

Jeśli chcesz zaprogramować in-situ, będziesz musiał przylutować przewody do przełącznika, aby obniżyć GPIO 0 i połączyć się z Tx i Rx – patrz poniżej:

Łatwiejszą opcją jest użycie płytki programującej: ESP-12E i ESP-12F Programowanie i Breakout Board

Jeśli programujesz na miejscu, podłącz jak poniżej. Uwaga, jeśli wyświetlacz jest podłączony, Reset można aktywować za pomocą ekranu dotykowego, w przeciwnym razie konieczne jest przełączenie z Reset na GND. Do płyty potrzebne jest zasilanie, najlepiej poprzez przyłożenie 3,7 V do pinów OUT+ i OUT-. W przypadku korzystania z akumulatora ładowarkę należy zresetować, krótko podłączając przewód USB.

Obraz
Obraz

Jeśli ustawiasz tryb programowania ręcznie, pociągnij reset do niskiego poziomu (ekran dotykowy), przeciągnij GPIO 0 do niskiego poziomu i gdy niski zwolnij reset. Teraz kliknij przycisk pobierania. Programowanie powinno być kontynuowane.

Jeśli korzystasz z płytki do programowania i tabliczki zaciskowej, po prostu podłącz konwerter szeregowy FTDI USB, podłącz zasilanie 3,3 V do płytki programującej i kliknij pobierz.

Krok 5: Końcowy montaż i testowanie

Teraz jest dobry czas na wstępny test. Jeśli ESP12 zostało zaprogramowane in situ, powinno działać - wystarczy lekko dotknąć ekranu i powinno się uruchomić. Jeśli zaprogramowany poza urządzeniem - włóż ESP12 i podłącz akumulator i powinien działać.

Odłączyłem akumulator podczas końcowego montażu, częściowo dla wygody, a częściowo, aby uniknąć niezamierzonego zwarcia.

Wyświetlacz będzie ładnie wciśnięty między nasadkę a spód obudowy. Podwyższona część w podstawie ładnie utrzymuje ekran do boku pudełka.

Płytka drukowana musi być przymocowana do płytki wyświetlacza, aby zmieściła się wewnątrz nasadki i odsłoniła gniazdo ładowania USB. Gdy widoczna jest wymagana relacja między pozycjami desek, przyklej taśmę dwustronną (typu o grubości 1 mm) do obu desek. Daje to 2 mm luzu, który powinien unikać jakiegokolwiek kontaktu elektrycznego. Jako środek ostrożności umieściłem taśmę izolacyjną zakrywającą elektronikę wyświetlacza:

Obraz
Obraz

Następnie musimy zdjąć ok. 2mm z górnej zaślepki. Zrobiłem to dobrze dopasowane do ekranu z dodatkowymi bitami wyciętymi na kabel taśmowy ekranu dotykowego i plastikowy uchwyt ekranu. Zobacz poniżej:

Obraz
Obraz
Obraz
Obraz

Na koniec musimy umieścić baterię i użyć jej do przytrzymania wyświetlacza przy boku pudełka. Użyłem starego kawałka styropianu i dociąłem go i wyszlifowałem do wymaganej grubości. Przykleiłem to do płytki drukowanej wyświetlacza za pomocą cienkiej taśmy dwustronnej i użyłem kilku mniejszych kawałków taśmy, aby zatrzymać przesuwanie się baterii.

Obraz
Obraz

Kiedy już to wszystko połączysz i stwierdzisz, że nic się nie dzieje, nie martw się (jeszcze). Należy zresetować obwód zabezpieczający akumulatora w module ładowarki. Odbywa się to poprzez podłączenie go przez przewód micro USB do zasilania 5V. Wystarczy kilka sekund.

A teraz masz przydatne urządzenie, które pokazuje moc układów ESP8266, a w moim przypadku doprowadziło mnie do zmiany kanału WiFi, ponieważ wykryło 5 innych na tym samym!

Mam nadzieję, że spodoba ci się ten piękny projekt.

Mikrofon

Zalecana: