- Kas ir ESP8266?
- WiFi teorijas pamati:
- Programmēšanas veidi ar ESP8266:
- Aparatūra programmēšanai ESP8266 modulis:
- Nepieciešamie materiāli:
- Ķēdes skaidrojums:
- Būvvalde programmai ESP8266:
Lietu internets un mājas automatizācija pēdējās dienās patiešām ir bijusi piesātināta tēma. Patiesībā veidot kaut ko tādu, kas var sazināties ar tīmekli un kam var piekļūt no jebkuras vietas pasaulē, vai tiešām izklausās forši?
Bet pagaidi!!! Tas arī izklausās sarežģīti ???….
Tā darīju to man, es domāju, ka tas prasīs milzīgu laiku un prasmes, lai izveidotu lietas, kas var mijiedarboties ar internetu. NĒ, es kļūdījos pilnīgi, pateicoties šim fantastiskajam modulim, ko sauc par ESP8266 no Espressif Systems. Izmantojot šo moduli, tagad varat viegli atvērt savas durvis IoT projektiem. Šis zemo izmaksu mazā izmēra modulis var radīt brīnumus, un tas ir patiešām vienkāršs un viegli lietojams, ja vien mēs veicam pareizos soļus.
Šīs apmācības mērķis ir iepazīstināt jūs ar šo ESP8266-01 moduli un palīdzēt jums to sākt. Iespējams, jūs jau esat atnesis moduli un iestrēdzis, mēģinot to izmantot. Tad jūs neesat viens, neuztraucieties, daudziem cilvēkiem ir ļoti grūti sākt strādāt ar moduli, jo šim modulim nav atbilstošu vadlīniju vai dokumentācijas. Tas ir iemesls šīs apmācības izveidei. Izpildiet šeit sniegtos norādījumus, un jums vajadzētu būt iespējai ESP8266-01 moduli sākt un darboties īsā laikā, šeit mēs izmantosim FTDI USB līdz TTL sērijas adaptera moduli, lai ieprogrammētu ESP8266. Apmācības beigās skatiet detalizēto videoklipu.
Pirms sākat aplūkot tēmu, apskatiet dažus pamatus par ESP8266-01 moduli.
Kas ir ESP8266?
Lielākā daļa cilvēku ESP8266 sauc par WIFI moduli, taču tas faktiski ir mikrokontrolleris. ESP8266 ir mikrokontrollera nosaukums, ko izstrādājusi Espressif Systems, kas ir uzņēmums, kas atrodas Šanhajā. Šim mikrokontrollerim ir iespēja veikt ar WIFI saistītas darbības, tāpēc to plaši izmanto kā WIFI moduli.
Ir pieejami daudzi ESP8266 moduļu veidi, sākot no ESP8266-01 līdz ESP8266-12. Tas, ko mēs izmantojam apmācībā, ir ESP8266-01, jo tas ir lētākais un viegli pieejams. Tomēr visiem ESP moduļiem ir tikai viena veida ESP procesori, kas atšķiras tikai no izmantotā izspiešanas stieņa veida. ESP8266-01 izlaušanas dēļam būs tikai 2 GPIO tapas, savukārt citās plāksnēs tas būs augstāks.
Pilnīga moduļa specifikācija ir sniegta zemāk esošajā tabulā
spriegums |
3.3V |
Pašreizējais patēriņš |
10uA-170mA |
Maksimālais strāvas patēriņš mirgošanas laikā |
800mA |
Zibatmiņa |
16 MB (512 KB normāls) |
Procesors |
Tensilica L106 32 bitu |
Procesora ātrums |
80-160MHz |
RAM |
32 000 + 80 000 |
GPIO |
17 (bet lielākā daļa ir multipleksēti) |
Analogais ciparu pārveidotājs |
1 (10 bitu) |
Maksimālais TCP savienojums |
5 |
Labi, dažas lietas, kas jūs varētu pārsteigt par specifikāciju, ir tas, ka JĀ ESP8266 modulis ir aprīkots ar ADC pārveidotāju, un ierīces mirgošanas laikā tas patērē ļoti lielu 0.8A strāvu.
Pārbaudiet arī mūsu dažādos interesantos IoT projektus, kuru pamatā ir ESP8266.
WiFi teorijas pamati:
Pārsūtīšanas vadības protokols (TCP), interneta protokols (IP), lietotāja datagramma protokols (UDP), piekļuves punkts (AP), stacija (Sta), pakalpojumu kopas identifikators (SSID), lietojumprogrammu programmēšanas saskarne (API), tīmekļa serveris….
Vai visiem iepriekšminētajiem noteikumiem jums ir jēga?
Ja jā. Tad, BINGO, jūs varat pāriet uz šo daļu un pāriet uz nākamo sadaļu.
Ja, nē. Tad jums ir jābūt vienam no daudzajiem elektrotehnikas studentiem, kuri tikai pamirkšķināja lielāko daļu šo terminu tāpat kā es, kad es pirmo reizi iepazinos ar visām šīm lietām. Ļaujiet mums ātri izpildīt visus šos noteikumus, jo tikai tad mēs varēsim iekļūt IOT pasaulē.
Pārsūtīšanas vadības protokols (TCP):
Lielākā daļa no mums zinātu, ko tas nozīmē. Jā, šie ir noteikumu kopumi, uz kuriem balstās internets. Tā kā ESP8266 ir iespēja izveidot WIFI savienojumus. Augstā līmenī Wi-Fi ir spēja piedalīties TCP / IP savienojumos, izmantojot bezvadu saiti. Jūs varat likt savam ESP darboties ar TCP / IP protokolu vai UDP protokolu.
Lietotāja datagramma protokols (UDP):
UDP ir arī cita veida interneta protokols. Šis saziņas veids ir ātrāks nekā TCP, taču tas ir mazāk precīzs. Iemesls ir tāds, ka TCP sazināšanās laikā izmanto apstiprinājumu, bet UDP to neizmanto. TCP galvenokārt izmanto tīklos, kur ir nepieciešama augsta uzticamība. UDP tiek izmantots vietās, kur ātrumam ir augsta prioritāte nekā uzticamībai. Piemēram, videokonferencēs tiek izmantots UDP, jo tur pat tad, ja daži pikseļi netiek pārsūtīti, tas tik ļoti neietekmēs video kvalitāti, bet ātrums ir ļoti svarīgs.
Lielākā daļa ESP8266 projektu un kodu darbojas ap TCP / IP, UDP būs vismazāk jāuztraucas.
Piekļuves punkts (AP) un stacija (STA):
Kad sākat strādāt ar ESP moduli, jūs bieži sastopaties ar šiem diviem terminiem. Pieņemsim, ka jūs un jūsu draugs vēlētos sērfot internetā savos viedtālruņos, taču, tā kā viņam nav aktīva interneta savienojuma, jūs nolemjat ieslēgt savu tīklāju, un jūsu draugs tam izveido savienojumu. Šeit jūsu tālrunis, kas iegūst interneta savienojumu, ir piekļuves punkts (AP), un jūsu drauga tālrunis, kas izmanto internetu, tiek saukts par staciju (STA).
ESP8266 moduli var izmantot trīs režīmos, AP režīmā, STA režīmā vai gan STA, gan AP režīmā (kopā).
Pakalpojuma kopas identifikators (SSID):
Tas ir diezgan vienkāršs termins. Gandrīz visi no mums ir izmantojuši WIFI. Wi-Fi tīkla nosaukumu sauc par tā SSID. Kad mums ir vairāki piekļuves punkti stacijai, ar kuru izveidot savienojumu, stacijai vajadzētu zināt, kuram piekļuves punktam tai vajadzētu būt savienotam, tāpēc katram piekļuves punktam (AP) tiek piešķirta identitāte, ko sauc par SSID.
Lietojumprogrammu saskarne (API):
Vienkāršāk sakot, API ir kurjers, kas uzņem jūsu pieprasījumus, tos apstrādā un atgriež jūsu sistēmai vēlamo rezultātu. Lielākā daļa no darbībām, ko mēs veicam internetā, izmanto API, piemēram, kad rezervējat lidojumu, veicat pirkumu tiešsaistē utt. Katrā vietnē tiek sasaistīts ar API, kurā tiek veikta kāda darba daļa, piemēram, reģistrēšanās, maksājuma veikšana utt. tur.
ESP8266 izmanto API, lai runātu ar interneta pasauli. Piemēram, ja tā vēlas uzzināt laiku, klimatu vai citu informāciju, kas tai jāpieprasa API veidā attiecīgajai vietnei. Šī vietne saņems pieprasījumu un atgriezīs vēlamo rezultātu mūsu ESP modulim.
Tīmekļa serveris:
Tīmekļa serveris ir kaut kas atbildīgs par vietnes satura parādīšanu. Viss šīs konkrētās vietnes saturs tiks ielādēts tās tīmekļa serverī. Ir īpaši datori, kuru uzdevums ir darboties tikai kā tīmekļa serverim. Mēs varam arī ieprogrammēt mūsu ESP8266 darbam kā tīmekļa serverim un izveidot savienojumu ar to no jebkuras vietas pasaulē.
Labi, ar to mums pietiek, lai sāktu. Tagad, ļaujiet mums iegūt mūsu rokās uz aparatūru.
Programmēšanas veidi ar ESP8266:
Darbam ar ESP8266 moduli ir divi veidi. Šī apmācība palīdzēs jums sākt darbu ar abiem. Viens veids ir izmantot AT komandas. Otrs veids ir izmantot Arduino IDE. Ļaujiet mums saprast, ko tas nozīmē.
Visiem no rūpnīcas nosūtītajiem ESP8266 moduļiem tajā būs ielādēta noklusējuma programmaparatūra (SDK + API). Šī programmaparatūra palīdzēs jums ieprogrammēt moduli ESP8266, izmantojot AT komandas.
Otrs veids ir tieši ieprogrammēt moduli ESP8266, izmantojot Arduino IDE (dēlis nav vajadzīgs) un tā bibliotēkas. Visus projektus var veikt abās metodēs. Bet, ja sākat izmantot Arduino IDE ESP8266 programmēšanai, iespējams, nevarēsit izmantot AT komandas, jo noklusējuma SDK, iespējams, ir bojāts. Tādā gadījumā jums ir jāmirgo ESP ar noklusējuma iestatījumiem. Mēs to aplūkosim citā apmācībā.
Aparatūra programmēšanai ESP8266 modulis:
ESP8266 ir 8 termināļu modulis. Taps no tā paša ir parādīts zemāk.
Diemžēl šis modulis nav draudzīgs paneļa dēļiem, tāpēc mēs to nevaram piestiprināt tieši uz mūsu paneļa. Arī atšķirībā no Arduino tam nav iebūvēta USB to Serial draivera; tāpēc mums ir jāizmanto “FTDI USB – TTL sērijas adaptera modulis”, lai ar to sazinātos. Pārliecinieties, ka FTDI dēlis var darboties arī ar 3,3 V; tas, ko mēs izmantojam šajā apmācībā, ir parādīts zemāk.
Tagad, kā mēs zinām, mums vajadzētu ieslēgt ESP8266 ar 3,3 V. Bet pašreizējais patēriņš ir 0,8A, tāpēc tas, iespējams, nedarbosies, kā paredzēts, ja to darbina no mūsu FTDI izlaušanās dēļa. Tāpēc mums ir jāveido sava strāvas ķēde. Šeit mēs esam izmantojuši LM317 strāvas padeves nolūkā; sīkāka informācija par visas aparatūras izgatavošanu ir sniegta vēlāk.
Nepieciešamie materiāli:
- Perf Board
- ESP8266-01
- FTDI izlaušanās padome
- LM317
- 0,1uf kondensators
- 10uf kondensators
- Muca Džeks
- Bergstik vīrietis un sieviete
- Uzspied pogu
- Savienojošie vadi
- 12V adapteris plātnes barošanai.
Ķēdes skaidrojums:
Dēļa shēma ir parādīta zemāk
Daži, iespējams, ir mēģinājuši darbināt ESP tieši no sava FTDI un to ir darbinājuši, taču šādi ir iemesli, kā izveidot savu dēli ar dažiem papildu komponentiem:
- Tikai daži FTDI dēļi var iegūt pietiekami daudz strāvas ESP modulim. Zibspuldzes laikā daži ESP moduļi var patērēt lielu strāvu nekā citi. Tādējādi vienmēr ir droši, ja jums ir savs enerģijas avots, un būs vieglāk integrēt barošanas ķēdi Dot Board, nevis paneli.
- Pirms koda augšupielādes mums vienmēr vajadzētu atiestatīt ESP moduli, sava paneļa izveide palīdzēs mums viegli atiestatīt moduli. Esam izmantojuši spiedpogu, lai atiestatītu ESP8266.
- GPIO0 tapai jābūt iezemētai, programmējot, izmantojot Arduino, un tā jāatstāj brīva, lietojot AT komandas, to var viegli pārslēgt, ja izveidojam paši savu dēli. Mēs esam izmantojuši Jumper, lai pārslēgtos starp AT komandu režīmu un Arduino IDE programmēšanas režīmu.
- Visa programmēšana tiek veikta, izmantojot sērijas sakarus . Ja izmantojat maizes dēli, daži vaļīgi spailes var izraisīt kļūdu pusceļā un piespiest mūs mirgot moduļa darbībā vēlreiz.
Tas nozīmē, ka moduļa programmēšanai varat izvēlēties starp maizes paneļa lietošanu un sava paneļa izveidošanu. Ja jūs joprojām vēlaties izmantot maizes dēli, to pašu iepriekš parādīto shēmu var izveidot, izmantojot jūsu maizes dēli. Tikai izskats būs atšķirīgs, visi pārējie norādījumi šajā apmācībā tiks piemēroti vienādi.
Būvvalde programmai ESP8266:
Tāpēc šeit mēs veidojam dēli, lai programmētu ESP8266 moduli, kuram ir sava barošanas ķēde, lai ieslēgtu ESP8266.
Kā teica, mūsu modulim būs nepieciešams aptuveni 800 mA, kamēr to plānojat. Tādējādi mēs esam izveidojuši savu barošanas moduli, izmantojot LM317 mainīgā sprieguma regulatoru, jo LM317 avota strāva ir gandrīz 1,2A. LM317 ieejas spriegums būs 12 V, kas tiks piešķirts, izmantojot 12 V 2A sienas stiprinājuma adapteri. LM317 izeja tiks pastāvīgi regulēta līdz 3,3 V, izmantojot 220ohm un 360ohm rezistorus. Pārbaudiet arī mūsu akumulatora lādētāja shēmu, izmantojot LM317, lai uzzinātu vairāk par LM317.
LM317 izejas sprieguma aprēķināšanas formulas ir norādītas zemāk:
Vout = 1,25 * (1+ (R2 / R1))
Kur, R1 ir 220 omi un R2 ir 360 omi.
ESP8266 modulis ir pievienots atbilstoši tapām, kas parādītas zemāk esošajā tabulā.
PIN Nr. |
ESP tapas nosaukums |
Savienots ar |
1 |
Zeme |
FTDI moduļa pamats |
2 |
GPIO2 |
Atstāts brīvs vai savienots ar bergas nūju turpmākai izmantošanai |
3 |
GPIO0 |
Pārslēdzieties, lai pārslēgtos starp programmēšanas režīmiem |
4 |
Rx |
FTDI moduļa Tx |
5 |
Tx |
FTDI moduļa Rx |
6 |
CH_PH |
3,3 V no LM317 |
7 |
Atiestatīt |
Nospiediet pogu, lai atiestatītu moduli |
8 |
Vcc |
3,3 V no LM317 |
Lai viegli pārslēgtos starp AT komandu režīmu un Arduino programmēšanas režīmu, esmu ievietojis slēdzi (džemperis), kas, izmantojot Arduino IDE, novilks GPIO 0 uz zemes un atstās to peldošu, izmantojot AT komandas.
Ir spiedpoga, kas, nospiežot, atiestatīs ESP moduli. Tas tiek darīts, caur spiedpogu vienkārši savienojot ESP moduļa RST tapu ar zemes sliedi. Katru reizi pirms ESP moduļa programmēšanas mums tas ir jāatiestata.
Kad esat samontējis ķēdi, tam vajadzētu izskatīties apmēram šādi.
Esmu izmantojis Perf dēli, bet jūs varat izmantot arī maizes dēli, ja jūs tas interesē (kā iepriekš apspriests). Pilna uzbūve un skaidrojums ir parādīts zemāk esošajā videoklipā.
Kad tas izdarīts ar savienojumiem. Ieslēdziet dēli bez ESP un FTDI dēļiem un pārbaudiet, vai ESP moduļu pozīcijas Vcc un Ground spailēs mēs pareizi saņemam 3,3 V. Tagad pārliecinieties, ka jūsu FTDI dēlis ir 3,3 V režīmā, un pievienojiet FTDI un ESP moduļus savam dēlim.
Ieslēdziet adapteri un pievienojiet to savam dēlim, ESP modulim vajadzētu iedegties ar sarkanu krāsu.
Pēc tam pievienojiet FTDI plāksni datoram, izmantojot mini-USB uz USB kabeli, un datorā dodieties uz ierīces pārvaldnieku, un jums vajadzētu atrast FTDI plāksni, kas savienota ar jūsu COM portu, kā parādīts zemāk:
Tagad ir laiks pievērsties ESP8266 moduļa programmēšanai. Jūs varat sākt ar AT komandu izmantošanu un pēc tam pāriet uz Arduino IDE izmantošanu. Neaizmirstiet pārbaudīt citus mūsu ESP8266 balstītos projektus.