Mündəricat:

TicTac Super Wifi Analizatoru, ESP-12, ESP8266: 5 addım (şəkillərlə)
TicTac Super Wifi Analizatoru, ESP-12, ESP8266: 5 addım (şəkillərlə)

Video: TicTac Super Wifi Analizatoru, ESP-12, ESP8266: 5 addım (şəkillərlə)

Video: TicTac Super Wifi Analizatoru, ESP-12, ESP8266: 5 addım (şəkillərlə)
Video: Супер анализатор WiFi в коробке TicTac 2024, Iyul
Anonim
TicTac Super Wifi Analizatoru, ESP-12, ESP8266
TicTac Super Wifi Analizatoru, ESP-12, ESP8266
TicTac Super Wifi Analizatoru, ESP-12, ESP8266
TicTac Super Wifi Analizatoru, ESP-12, ESP8266

Bu layihə, orijinal ay yeməyi koduna və bir TicTac qutusunu bir qəfəs kimi istifadə etmə konsepsiyasına əsaslanır.

Ancaq oxunuşları açmaq üçün bir düyməni istifadə etmək əvəzinə, TFT SPI ekranı ilə birlikdə gələn toxunma paneli istifadə olunur. Kod, LED arxa işığını daha yaxşı idarə etmək və ekranı yuxu rejiminə keçirmək üçün dəyişdirildi (ekran modulunun toxunma çipi üçün enerjisini qoruması lazım olduğu üçün). Yuxuda vahid cərəyanı 1000 mAh lipo üçün bir neçə il davam edəcək qədər aşağıdır. Batareyanın doldurulması və aşağı gərginlik qorunması da mövcuddur.

İşlədiyi bir video üçün son addıma baxın.

Parçalar:

  • 48 q TicTac qutusu
  • ESP12 (tercihen ESP-12F)
  • 2.4 "SPI TFT ekranı
  • Lipo şarj modulu
  • PNP transistoru
  • 3.3v aşağı sakit cərəyan, gərginlik tənzimləyicisi
  • Əlaqəli rezistorlar və kondansatörlər (daha sonra ətraflı)

Addım 1: İnkişaf

İnkişaf
İnkişaf

Bu layihənin inkişaf yolunu təsvir edəcəyimi düşündüm. Bunu düzəltmək üçün bu bölməni atlaya bilərsiniz.

Bu mənim ilk ESP8266 layihələrimdən biridir. TicTac qutusunu Wifi analizatoru üçün bir korpus kimi istifadə etmək səliqəli bir anlayışa sahib oldum və birini düzəltmək qərarına gəldim. Təşəkkürlər: Portativ-WiFi-Analizatoru. Daha böyük bir 2.4 düymlük bir ekran istifadə etmək qərarına gəldim - bir toxunma paneli ilə və bağlanması daha asan olan pinləri olan bir PCB ilə.

Tikintiyə başlayanda ESP12 -nin elektronikadan təmizlənməsini təmin edən tənzimləmələri araşdırdım. Yeganə seçim qapağın içərisində olması idi. Şarj cihazının modulunun dispenserin altında olmasını da istəyirdim. Sual, "açma düyməsini" harada tapmaq idi? Davanın arxasında bir deşik açmaq istəmədim. Üst qapaq ən yaxşı olardı - amma orada iki modul varsa yerim yoxdur.

Bu, toxunma panelini açma düyməsi kimi istifadə etmək fikrinə səbəb oldu. Ekran bağlayıcılarından birinin 'T_IRQ' etiketli olduğunu gördüm - bu cəsarətli görünür. Toxunma çipi XPT2046 -dır. Bəli, avtomatik yuxu rejiminə malikdir və panelə toxunulduqda T_IRQ aşağı çəkir. Bu düyməni dəyişdirmək üçün idealdır və sadəcə ESP12 sıfırlamasına qoşula bilər.

Qeyd etməliydim ki, kod wifi şəbəkələri üçün bir neçə tarama aparır və sonra ekranın gücünü kəsir və ESP12 -ni dərin yuxuya salır - bu sıfırlama girişi ilə oyanır.

Beləliklə, bu konsepsiya aydın olduğu üçün NodeMcu istifadə edərək bağladım - işləmədi! Ona görə də görüləcək işlər daha çox idi. Bortdakı USB çipi və yüksək səssiz cərəyan tənzimləyicisi səbəbiylə NodeMcu ilə yuxu axını yoxlaya bilməyəcəyimin də fərqindəydim. ESP12 -ləri asanlıqla proqramlaşdırmaq üçün bir sistem istədim. Bu, NodeMCU kimi asanlıqla proqramlaşdırıla bilən, lakin FTDI proqramçısı istifadə edən bir ESP12 qırılma lövhəsi/inkişaf sistemi yaratmama səbəb oldu. Bu şəkildə tənzimləyici və USB çip ayrıdır. Bax: ESP-12E və ESP-12F Proqramlaşdırma və Breakout Board

Sonra ESP-12F tutan yeni lövhəmdən istifadə edərək onu bağladım və işlədi. Etdiyim yeganə dəyişiklik, ekran modulundakı gərginlik tənzimləyicisini qısaltmaq idi, buna görə də hamısı 3.3v -də işləyirdi. Kod modlarımı etməyə başladım, xüsusən də ekran çipini (ILI9341) yuxu rejiminə gətirmək üçün kod, çünki ESP modulu da yuxuda ikən sensor panel çipinin (yuxu rejimində) işləməsi lazımdır. Sonra yuxu axınını yoxladım. Bu 90uA idi. Beləliklə, 1000 mAh batareya bir il davam edəcək. Yaxşı başlanğıc.

Sonra ekran modulundakı gərginlik tənzimləyicisini çıxardım. Torpağın pimini qaldırsanız kifayət edərdi. İndi sistem yuxu axını 32uA idi. Hələ bir 3.3v tənzimləyici əlavə etməliydim, ancaq 2uA sakit bir cərəyanla birini bilirdim. Beləliklə, indi 3 illik batareya ömrünə baxırıq!

Kabelləri daha səliqəli etmək üçün komponentləri mümkün qədər bir PCB -yə bağlamaq istədim. Beləliklə, bu anda vahid üçün bir PCB dizaynı ilə irəlilədim. Birbaşa ekran modulu sancaqlarına qoşulmaq istərdim. Bu olduqca çətin olacaqdı, buna görə PCB -dən ekran moduluna qədər sərt tel seçdim.

Kodla bir az daha məşğul oldum. Bir yuxu bildirişi əlavə etdim - yatmadan əvvəl ekranı qara rənglə doldurub ZZZ çap etdim. LED arxa işığının açılmasını da ekran dolana qədər gecikdirdim. Bu, orijinal kodun əvvəlində ağ flaşın qarşısını alır. Ekranı yuxuya getmədən əvvəl LEDləri söndürərək oxşar modlar etdim.

UA -nı necə ölçəcəyinizi düşünürsünüz. Ölü asan! Müsbət güc qurğusu ilə ardıcıl olaraq 1k rezistor qoyun. Sistemin işləyə bilməsi üçün bunu tullanan bir tel ilə bağlayın. Sonra, yuxu rejimində olduqda, keçid telini çıxarın və rezistordakı gərginliyin azalmasını ölçün. 1k rezistorla 100mv 100uA deməkdir. Gərginlik çox aşağı olarsa daha aşağı dəyər müqavimətindən istifadə edərəm. Həqiqətən aşağı yuxu cərəyanı olan digər sistemlərdə 1m rezistor istifadə edərək tək rəqəmi nA ölçmək üçün bu üsuldan istifadə etdim.

Addım 2: Tikinti

Şəkil
Şəkil
Şəkil
Şəkil

PCB və ya sərt tel?

Burada qurduğum qurğu, ESP12F və şarj cihazı modullarını, gərginlik tənzimləyicisini və PNP tranzistorunu və əlaqəli kondansatörləri və çəkmə rezistorlarını saxlamaq üçün bir PCB istifadə edir. Bu ən səliqəli marşrutdur, lakin PCB aşındırma və SMD lehimləmə avadanlığı tələb edir. Bununla birlikdə, sistem, modulların birbaşa naqilləşdirilməsi və gərginlik tənzimləyicisinin və PNP tranzistorunun bir lövhənin üzərinə qoyulması ilə edilə bilər - əvvəlki TicTac layihəsində olduğu kimi (əvvəllər əlaqələndirilmişdi).

PCB seçimi ilə getmək qərarına gəlsəniz, xüsusən ESP12 lövhələri ilə daha çox layihə etməyi planlaşdırırsınızsa, ESP12 proqramlaşdırma lövhəmi də hazırlamaq istəyə bilərsiniz.

Parça siyahısı:

  • 49 q TicTac qutusu
  • ESP-12F (və ya ESP-12E) Qeyd edək ki, ESP-12F daha yaxşı diapazona malikdir, əks halda ESP-12E ilə eynidir.
  • ILI9341 sürücüsü və toxunma ilə 2.4 "SPI TFT ekranı. TJCTW24024-SPI
  • Şarj cihazı modulu - şəkilə baxın
  • 2 mm pin zolağı (isteğe bağlı, lakin istifadəyə dəyər)
  • SOT23 formatında PNP tranzistoru. BCW30 istifadə etdim, ancaq 100ma -dan çox qabiliyyəti olan və DC artımı> 200 -dən çox olan hər şey yaxşı olmalıdır.
  • SOT23 formatında 3v3 250ma (dəq) tənzimləyicisi. Microchip MCP1703T-33002E/CB istifadə etdim. Digərləri işləyəcək, ancaq sakit cərəyanlarını yoxlayacaqlar. (30uA -dan az təklif edin).
  • Rezistorlar (hamısı 0805 ölçüdə)
  • 10k 4 off
  • 3k3 1 endirim
  • Kondansatörler (hamısı 0805 ölçüdə)
  • 2n2 2 endirim
  • 0.1u 1 endirim
  • PCB WiFiAnalyserArtwork.docx faylı olaraq əlavə olunur.
  • Tək hüceyrəli LiPo batareyası. Tutum 400-1000mahr - bu halda uyğun olacaq. 400 mah kifayət qədər böyükdür.

PCB olmayan seçim üçün qurğuşun ekvivalentləri istifadə edin, ¼W və yuxarıdakı rezistorlar yaxşıdır və iş gərginliyi 5v və ya daha çox olan kondansatörlər.

PCB hazırlayarkən - delikləri 0,8 mm qazın. Bir gözünüz varsa - daha yaxşı dəstək üçün ESP12 2mm pin -strip delikləri 0.7mm ola bilər.

Komponentlərin yerləşdirilməsi:

Şəkil
Şəkil

PCB qurarkən əvvəlcə rezistorları və kondansatörləri, sonra tənzimləyicini və PNP tranzistorunu, sonra şarj modulunu və ESP12 üçün pin-şeridi yerinə yetirin. Pin şeridinə kifayət qədər möhkəm basıldığı üçün ESP12-ni yerində lehimləmədim və lövhədən yenidən proqramlaşdırmaq daha asandır. Yerində yenidən proqramlaşdırmaq istəyirsinizsə, PCB-nin TX, RX, GPIO 0, Reset və topraklama konnektorlarına malik olduğunu görəcəksiniz. GPIO -nu aşağı çəkmək üçün bir düyməyə ehtiyac olacağını unutmayın. Sıfırlama ekrana toxunaraq aşağı çəkilə bilər. Bir düymədən istifadə etmək olar, ancaq T_IRQ ekranındakı tel kəsildikdə.

Addım 3: Kabel çəkmə

Ekranı dövrə lövhəsinə bağlamadan əvvəl i1 tənzimləyicisini çıxarın və J1 -ə lehim çubuğu qoyun, sonra onu əvəz edin. Daha sonra belə görünməlidir:

Şəkil
Şəkil

Sonra ya şeridi çıxarın, ya da pinləri qısa kəsin. Pin zolağını çıxartmağın ən yaxşı yolu bir anda bir pimdir. Pimi digər tərəfdən kəlbətinlə çəkərkən bir tərəfə bir lehimləmə dəmiri çəkin.

İndi kabellər ekrana lent kabelinin bağlanması ilə başlaya bilər. 7-8 sm uzunluğunda bir PC lent kabelini kəsin və 10 yolu seçin. T-IRQ pimi üçün bir kənarında daha uzun birini buraxaraq 10 mm geri çəkilən yolların 9-u kəsin. Qalanları daha sonra lehimlənəcəkləri yerə yığıla bilər və lazım olduqda bir az daha kəsilə bilər.

VCC ilə başlayan bir anda bir qurğuşun qoyub lehimlədim.

Şəkil
Şəkil

PCB -ni ekrana uyğun olaraq lazım olduğu yerə qoyun. Sonra, telləri lazım olduğu qədər 5 mm və ya daha uzun olana qədər kəsin və 2 mm izolyasiyanı soyun, ucunu və lehimini qalayın. Telin yönləndirilməsi aşağıdakı kimidir (VCC -dən pin nömrələrinin hesablanması):

Ekran PCB Şərh
1 1 VCC
2 8 GND
3 9 CS
4 5 SIFIRLAYIN
5 7 DC
6 2 SDI (MOSI)
7 4 SCK
8 10 LED
9 3 SDO (MISO)
10 6 T_IRQ
Şəkil
Şəkil

İndi batareyanı bağlamaq və ESP12 -ni proqramlaşdırmaq qalır. Yerində proqramlaşdırma varsa, batareyanı indi qoşun. Lövhədən kənarda proqramlaşdırma aparılırsa, sonra batareyanı qoşun.

Addım 4: Proqramlaşdırma

Əlavə edilmiş ESP8266WiFiAnalMod.ino kodunu yükləyin, Arduino eskizlər qovluğunda 'ESP8266WiFiAnalMod' adlı bir qovluq yaradın və faylı bura köçürün.

Arduino IDE -ni işə salın (lazım olduqda Arduino.cc -dən yükləyin və quraşdırın) və yoxsa ESP lövhəsi detallarını əlavə edin (bax: Sparkfun).

Kodu yükləyin (Fayl> Sketchbook>… ESP8266WiFiAnalMod).

Sonra proqramlaşdırma təfərrüatlarını təyin edin (Alətlər):

Lövhəni seçin: Ümumi ESP8266 Modulu

Qalan parametrlər üçün aşağıya baxın. Sıfırlama metodunu seçin: sıfırlama və GPIO0 avtomatik sürücüsü olan bir proqramçıdan istifadə edərkən "nodemcu". Əks halda, yerində proqramlaşdırma və ya USB-dən serial çeviriciyə birbaşa qoşulma ilə "ck" olaraq təyin edin.

Liman nömrəsi fərqli ola bilər.

Şəkil
Şəkil

Yerində proqramlaşdırmaq istəyirsinizsə, GPIO 0-u aşağı çəkmək və Tx və Rx-ə qoşulmaq üçün telləri bir açara lehimləməlisiniz-aşağıya baxın:

Daha asan bir seçim, bir proqramlaşdırma lövhəsindən istifadə etməkdir: ESP-12E və ESP-12F Proqramlaşdırma və Breakout Board

Yerində proqramlaşdırma aşağıdakı kimi aparılırsa. Diqqət yetirin ki, ekran bağlıdırsa Sıfırlama toxunma ekranı ilə aktivləşdirilə bilər, əks halda Sıfırlama rejimindən GND -ə keçid lazımdır. Lövhəyə güc lazımdır, ən yaxşı halda OUT+ və OUT pinlərinə 3.7v tətbiq etmək lazımdır. Batareya istifadə edirsinizsə, USB kabelini qısa müddətə bağlayaraq şarj cihazını sıfırlamalısınız.

Şəkil
Şəkil

Proqramlaşdırma rejimini əl ilə qurarsanız sıfırlama səviyyəsini aşağı çəkin (toxunma ekranı), GPIO 0 -ı aşağı çəkin və sıfırdan aşağı salın. İndi yükləmə düyməsini vurun. Proqramlaşdırma davam etməlidir.

Proqramlaşdırma və kəsmə lövhəsindən istifadə etsəniz, sadəcə FTDI USB seriya çeviricisini bağlayın, proqramlaşdırma lövhəsinə 3.3v güc tətbiq edin və Yükləmə düyməsini basın.

Addım 5: Son Quraşdırma və Test

İlkin sınaq üçün yaxşı vaxtdır. ESP12 in -situ olaraq proqramlaşdırılmış olsaydı, işləməli idi - ekrana yüngülcə toxunun və başlamalıdır. Cihazdan proqramlaşdırılıbsa - ESP12 -ni daxil edin və batareyanı bağlayın və işlək vəziyyətdə olmalıdır.

Qısamüddətli qısa qapanmanın qarşısını almaq üçün qismən rahatlıq üçün və sonuncu montajdan keçərkən batareyanı ayırdım.

Ekran, qapaq ilə qutunun alt hissəsi arasında səliqəli şəkildə büküləcək. Baza içərisində qaldırılmış bölmə, ekranı qutunun yan tərəfinə gözəl saxlayır.

Həm qapağın içərisinə oturmaq, həm də USB şarj soketini təqdim etmək üçün dövrə lövhəsi ekran lövhəsinə sabitlənməlidir. Lövhə mövqeləri arasında lazımi əlaqə göründükdə, hər iki lövhəyə iki tərəfli lent (1 mm qalınlığında) yapışdırın. Bu, hər hansı bir elektrik təmasından qaçınmaq üçün 2 mm boşluq verəcəkdir. Ehtiyat olaraq ekran elektronikasını örtən bir neçə izolyasiya lenti qoydum:

Şəkil
Şəkil

Bundan sonra, üst qapaqdan təxminən 2 mm kənara çıxmalıyıq. Dokunmatik ekran lent kabeli və ekran plastik montajı üçün əlavə hissələri kəsilmiş şəkildə ekrana rahat bir şəkildə uyğunlaşdırdım. Aşağıya baxın:

Şəkil
Şəkil
Şəkil
Şəkil

Nəhayət, batareyanı yerləşdirməliyik və ekranı qutunun yan tərəfinə tutmaq üçün bundan istifadə etməliyik. Köhnə bir polistirol köpük parçası istifadə etdim və lazımi qalınlığa qədər kəsdim və zımpara etdim. İncə iki tərəfli lent istifadə edərək bunu ekran PCB -yə yapışdırdım və batareyanın sürüşməsini dayandırmaq üçün bir neçə kiçik bant parçası istifadə etdim.

Şəkil
Şəkil

Hamısını bağladığınızda və heç bir şey olmadığını görəndə narahat olmayın (hələ). Şarj cihazının modulundakı batareyanın mühafizə dövrəsi sıfırlanmalıdır. Bu, 5V -luq bir mikro USB ucu ilə birləşdirilərək edilir. Bir neçə saniyə kifayət qədər uzun.

İndi ESP8266 sistemlərinin gücünü göstərən faydalı bir cihazınız var və mənim vəziyyətimdə eyni kanalda 5 başqasını aşkar etdiyi üçün WiFi kanalımı dəyişdirməyimə səbəb oldu!

Ümid edirəm bu gözəl layihədən zövq alacaqsınız.

Mike

Tövsiyə: