Kazalo:

Majhen armaturni gumb ESP8266 (ponovno nastavljiv): 15 korakov
Majhen armaturni gumb ESP8266 (ponovno nastavljiv): 15 korakov

Video: Majhen armaturni gumb ESP8266 (ponovno nastavljiv): 15 korakov

Video: Majhen armaturni gumb ESP8266 (ponovno nastavljiv): 15 korakov
Video: ESP8266 ESP01 WI-FI-UART | Программирование LDmicro-Roboremo 2024, Julij
Anonim
Majhen armaturni gumb ESP8266 (ponovno nastavljiv)
Majhen armaturni gumb ESP8266 (ponovno nastavljiv)
Majhen armaturni gumb ESP8266 (ponovno nastavljiv)
Majhen armaturni gumb ESP8266 (ponovno nastavljiv)
Majhen armaturni gumb ESP8266 (ponovno nastavljiv)
Majhen armaturni gumb ESP8266 (ponovno nastavljiv)

To je majhen armaturni gumb na osnovi ESP8266. Ostane v globokem spanju, ko pritisnete gumb, izvede zahtevo GET na določen URL in če je konfigurirano, prenaša tudi napajalno napetost kot spremenljivko. Najboljši del je, da lahko preprosto premostite dva zatiča in vstopite v konfiguracijski način. Omogoča vam spreminjanje vseh nastavitev brez ponovnega programiranja.

Za sledenje tem navodilom predvidevam, da veste nekaj stvari, na primer; kako spajkati, kako slediti shemi in kako naložiti program in podatke SPIFFS v ESP.

1. korak: Potrebni materiali in orodja

Potrebni materiali in orodja
Potrebni materiali in orodja
Potrebni materiali in orodja
Potrebni materiali in orodja
Potrebni materiali in orodja
Potrebni materiali in orodja

Za ta projekt boste potrebovali:

  • ESP-01 (očitno)
  • Li-Po baterija 50 mAh ali podobna
  • 2x1 ženski zatič
  • 3.3V LDO (toplo priporočam HT-7333A, ima odličen tok v pripravljenosti 4uA in izpad 170mV)
  • Majhen gumb
  • Nekaj tanke žice (žica za zavijanje žice deluje odlično)

Potrebovali boste tudi:

  • Programska plošča ESP
  • Spajkalnik / spajkalnik / fluks
  • Črpalka za spajkanje
  • Pincete in/ali odstranjevalci žice
  • Brusni papir
  • Super lepilo

2. korak: Programiranje

Programiranje
Programiranje

Ta projekt je popolnoma odprtokoden, če želite spremeniti kodo, ki je na mojem GitHubu. Ampak ni potrebe. Ta gumb lahko znova konfigurirate brez ponovnega programiranja.

Vnaprej sestavljeno kodo lahko prenesete tukaj.

Samo priključite programator ESP in ESP8266 (ne pozabite povezati GPIO_02 z GND za vstop v način programiranja) in naložite datoteko.bin in podatke SPIFFS.

Zelo pomembno je, da naložite podatkovno mapo SPIFFS, brez nje se koda ne zažene. Ko odstranite glave zatičev, se boste morali vrniti k ponovnemu programiranju zelo dolgočasno.

3. korak: Kako deluje koda (če vas zanima, sicer preskočite)

Kako deluje koda (če vas zanima, sicer preskočite)
Kako deluje koda (če vas zanima, sicer preskočite)
Kako deluje koda (če vas zanima, sicer preskočite)
Kako deluje koda (če vas zanima, sicer preskočite)
Kako deluje koda (če vas zanima, sicer preskočite)
Kako deluje koda (če vas zanima, sicer preskočite)

Ko se ESP zažene, prebere in razčleni datoteko 'config.jsn' iz datotečnega sistema SPIFFS z uporabo knjižnice ArduinoJSON. To naloži vse nastavljive nastavitve v spremenljivke.

Nato preveri, ali je GPIO_03 [RX] priključen na ozemljitev, če bo vstopil v konfiguracijski način.

Če ni, se bo poskušal povezati z WiFi in nato s strežnikom. Dokonča zahtevo GET in vstopi v globok spanec za varčevanje z energijo.

V konfiguracijskem načinu lahko nastavite vse nastavitve. (več o tem na 13. koraku)

Ker je pri tem varčevanje z energijo bistveno, če karkoli traja predolgo ali če povezava z wifi/strežnikom ne uspe, bo preprosto utripal petkrat hitro in nato dolgo utripal, da označi napako in se vrne v globok spanec.

Če bo vse v redu, bo naredil kratek utrip, nato dolg. Da pokaže, da je uspelo. Nato globoko spite.

Še vedno radoveden? poglej na moj GitHub.

4. korak: Shema

Shematično
Shematično

To vam bo pomagalo pri gradnji v naslednjih nekaj korakih.

5. korak: Odlepite glavo zatiča

Odlepite glavo zatiča
Odlepite glavo zatiča

Najprej bodite 100% prepričani, da ste pravilno programirali ESP8266 in 100%, da ste naložili podatke SPIFFS.

Potem je prvi korak, da odlepite glavo 2x4 pina, s čimer bomo naš gumb zmanjšali. Pomeni pa tudi, da ga ne morete ponovno programirati, ne da bi ga ponovno spakirali. Prepričajte se, da program in SPIFFS utripata.

Še vedno boste lahko znova konfigurirali nastavitve.

To je veliko lažje s koničasto konico spajkalnika in črpalko za spajkanje. Moja strategija je, da najprej osem zatičev premostim s spajkanjem, nato pa vse naenkrat segrejem in glavo izvlečem z nekaj pincete. Potem, ko sem odstranil odvečno spajkanje, z likalnikom prebodim luknje na vrhu in spajkam s črpalko skozi dno.

6. korak: Spajkajte stikalo

Spajkajte stikalo
Spajkajte stikalo

Nato boste želeli spajati potisno stikalo med GND in RST. V mojem primeru so zatiči gumbov bili nekoliko predebeli, zato sem jih moral z nekaj odrezki nekoliko tanjše izrezati. Prepričajte se, da je gumb poravnan z desko, sicer se lahko sčasoma zlomi zaradi stresa zaradi pritiska.

7. korak: Povežite CH_PD z VCC

Povežite CH_PD z VCC
Povežite CH_PD z VCC

Če želite, da ESP zažene kodo, ne pozabite povezati CH_PD z VCC.

8. korak: Odstranite LED za vklop

Odstranite LED za vklop
Odstranite LED za vklop
Odstranite LED za vklop
Odstranite LED za vklop

Gumb mora porabiti čim manj energije. In ker je vedno vklopljen, bi napajalni kabel vedno porabil ~ 4 mA. To bi skrajšalo življenjsko dobo baterije na dvanajst ur. Zato ga odlepite ali snapnite.

9. korak: Stikalo za konfiguracijo spajkanja

Stikalo za konfiguracijo spajkanja
Stikalo za konfiguracijo spajkanja

Za vstop v konfiguracijski način mora biti GPIO_03 [RX] povezan z GND. Za lažje početje sem spajkal malo ročico, ki jo je mogoče potisniti vstran, da se poveže.

10. korak: Dodajte napajalnik, regulator in priključek

Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek
Dodajte napajalnik, regulator in priključek

To je najdaljši del gradnje. Baterijo, regulator napetosti in polnilni priključek morate spajkati v skladu s shemo.

Da bi se vse prilegalo majhnemu prostoru pod ESP-01, sem moral pobrusiti paket TO92 regulatorja napetosti. Pred spajkanjem načrtujte svojo postavitev, saj bo zelo tesna, vendar bi morala biti še vedno izvedljiva.

Če je baterija prevelika, lahko izpustite regulator napetosti. To bo delovalo, vendar obstaja nevarnost poškodbe ESP8266. Ocenjuje se, da lahko doseže največ 3,6 V, vendar popolnoma napolnjen LiPo oddaja 4,2 V. Nadaljujte na lastno odgovornost.

11. korak: Lepite skupaj

Lepite skupaj
Lepite skupaj
Lepite skupaj
Lepite skupaj
Lepite skupaj
Lepite skupaj

Zadnji korak, da vse ostane na svojem mestu, je, da vse superlepite.

12. korak: Polnjenje

Polnjenje
Polnjenje

Za polnjenje gumba boste potrebovali nekakšen LiPo polnilnik, preprosto uporabljam generično polnilno ploščo USB Li-Po, ki je prek gumba za polnjenje priključena na gumb. Pazite, da ne zamenjate polaritete.

Korak: Konfigurirajte

Konfiguriraj
Konfiguriraj

Skoraj ste že pripravljeni za uporabo gumba prvič.

Če želite vstopiti v konfiguracijski način, morate povezati GPIO_03 [RX] z GND, to bo lažje, če ste spajkali ročico, kot je v koraku 9. Nato bi morali s pritiskom na gumb za ponastavitev ESP vstopiti v konfiguracijski način. Zdaj lahko odklopite ročico.

Potem lahko preprosto:

  1. Povežite se z WiFi dostopno točko 'ESP_Button' z geslom 'wifibutton'
  2. Obiščite https://192.168.4.1, da odprete konfiguracijsko stran.
  3. Ko nastavite vrednosti, kliknite gumb »Shrani« in nato »Ponovni zagon«
  4. Vaš gumb se bo znova zagnal, izvedel zahtevo in vstopil v globok spanec.

V polje gostitelja vnesite samo ime gostitelja, brez https:// ali https://, preostanek URL -ja pa ločite v poljih URI.

14. korak: Preizkusite

Image
Image

Vse bi moralo biti v redu, s pritiskom na gumb bo vaša zahteva GET.

Zgornji videoposnetek je moj gumb za povezavo z mojo spletno stranjo in IFTTT, ki objavlja tvit po meri.

Nastavitev zahteve GET ni v obsegu tega navodila, vendar bi morali to zlahka povezati z IFTTT ali katero koli drugo storitvijo. Če ste pripravljeni napisati kodo PHP po meri in jo na svojem spletnem mestu gostiti, tako kot sem to storil, boste morda celo lahko spremljali baterijo.

Če imate kakršne koli težave ali potrebujete pomoč pri odpravljanju težav, pustite komentar spodaj.

Vsakdo lahko poda ideje o tem, kako to izboljšati, na primer primer? xD

Pustite komentar, če ste ljubitelj programa Doctor Who.

Na zdravje!

Korak 15: Posodobitev: 3D natisnjena torbica

Posodobitev: 3D natisnjena torbica
Posodobitev: 3D natisnjena torbica
Posodobitev: 3D natisnjena torbica
Posodobitev: 3D natisnjena torbica
Posodobitev: 3D natisnjena torbica
Posodobitev: 3D natisnjena torbica

Čez nekaj časa z gumbom za pomišljaj sem se odločil za to utemeljiti. Priloženi sta datoteki STL in Fusion 360.

Priporočena: