- Ano ang ESP8266?
- Mga Pangunahing Kaalaman ng Teoryang WiFi:
- Mga uri ng programa kasama ang ESP8266:
- Hardware sa Program na ESP8266 Modyul:
- Mga Materyal na Kinakailangan:
- Paliwanag sa Circuit:
- Building Board sa Programa ng ESP8266:
Ang Internet of Things and Home Automation ay talagang isang hyped na paksa sa mga nagdaang araw. Ang pagbuo ng isang bagay sa ating sarili na maaaring makipag-usap sa World Wide Web at maaaring mai-access mula sa kahit saan sa mundo, talagang cool na hindi ba?
Ngunit sandali!!! Masalimuot din ito ???….
Gayundin ang ginawa para sa akin, naisip ko na kakailanganin ng napakalawak na oras at kasanayan upang makabuo ng mga bagay na maaaring makipag-ugnay sa internet. HINDI, ako ay ganap na nagkamali, salamat sa kamangha-manghang modyul na ito na tinawag na ESP8266 mula sa Espressif Systems. Ngayon, madali mong mabubuksan ang iyong mga pintuan para sa Mga Proyekto ng IoT sa tulong ng modyul na ito. Ang modyul na ito ng mababang gastos, maliit na sukat ay maaaring gumawa ng mga kababalaghan at talagang simple at madaling gamitin, kung susundin namin ang mga tamang hakbang.
Nilalayon ng mga tutorial na ito na ipakilala ka sa module na ito ng ESP8266-01 at matulungan kang makapagsimula dito. Marahil, dinala mo na ang iyong module at natigil habang sinusubukang gamitin ito. Pagkatapos, hindi ka nag-iisa huwag mag-alala, maraming tao ang nahihirapang magsimula sa modyul dahil walang wastong patnubay o dokumentasyon para sa modyul na ito. Ito ang dahilan para sa paggawa ng tutorial na ito. Sundin ang mga tagubilin dito at dapat mong maitaas ang iyong module na ESP8266-01 na tumatakbo nang walang oras, dito gagamitin namin ang FTDI USB sa TTL Serial Adapter Module upang mai-program ang ESP8266. Suriin ang detalyadong Video sa pagtatapos ng Tutorial.
Bago mapunta sa paksa ay hinahayaan ang masakop ang ilang mga pangunahing kaalaman tungkol sa Modula ng ESP8266-01.
Ano ang ESP8266?
Karamihan sa mga tao ay tumatawag sa ESP8266 bilang isang module ng WIFI, ngunit ito ay talagang isang microcontroller. Ang ESP8266 ay ang pangalan ng microcontroller na binuo ng Espressif Systems na isang kumpanya na nakabase sa labas ng shanghai. Ang microcontroller na ito ay may kakayahang magsagawa ng mga aktibidad na kaugnay ng WIFI samakatuwid malawak itong ginagamit bilang isang WIFI module.
Mayroong maraming mga uri ng module na ESP8266 na magagamit mula sa ESP8266-01 hanggang sa ESP8266-12. Ang ginagamit namin sa tutorial ay ang ESP8266-01 sapagkat ito ang pinakamura at madaling magagamit. Gayunpaman ang lahat ng mga module ng ESP ay may isang uri lamang ng processor ng ESP, kung ano ang naiiba ay ang uri lamang ng breakout bard na ginamit. Ang breakout board ng ESP8266-01 ay magkakaroon lamang ng 2 GPIO pin samantalang sa iba pang mga board ay mas mataas ito.
Ang kumpletong detalye ng modyul ay ibinibigay sa talahanayan sa ibaba
Boltahe |
3.3V |
Kasalukuyang Pagkonsumo |
10uA-170mA |
Maximum na kasalukuyang pagkonsumo habang nag-flashing |
800mA |
Memory ng Flash |
16MB (512K normal) |
Nagpoproseso |
Tensilica L106 32 bit |
Bilis ng Processor |
80-160MHz |
RAM |
32K + 80K |
GPIO |
17 (ngunit karamihan ay multiplexed) |
Analog sa digital Converter |
1 (10-bit) |
Maximum na koneksyon sa TCP |
5 |
Okay ilang mga bagay na maaaring sorpresa sa iyo tungkol sa pagtutukoy ay, YES ang module ng ESP8266 ay may isang ADC Converter at kumakain ito ng napakataas na kasalukuyang 0.8A sa pag-flashing ng iyong aparato.
Suriin din ang aming iba't ibang mga nakagagalak na batay sa ESP8266 na Mga Proyekto ng IoT.
Mga Pangunahing Kaalaman ng Teoryang WiFi:
Transfer Control Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP), Access Point (AP), Station (Sta), Service Set Identifier (SSID), Application Programming Interface (API), Webserver…..
May katuturan ba sa iyo ang lahat ng mga term sa itaas?
Kung oo. Pagkatapos, BINGO maaari mong tumalon sa bahaging ito at lumipat sa susunod na seksyon.
Kung, hindi. Kung gayon dapat kang maging isa sa maraming mga mag-aaral na elektrikal na kumurap lamang sa karamihan ng mga term na ito tulad ng ginawa ko noong una akong ipinakilala sa lahat ng mga bagay na ito. Kaya, mabilis nating patakbuhin ang lahat ng mga term na ito dahil sa gayon lamang tayo makakapasok sa mundo ng IOT.
Transfer Control Protocol (TCP):
Karamihan sa atin ay malalaman kung ano ang ibig sabihin nito. Oo, ito ang hanay ng mga patakaran batay sa kung saan gumagana ang internet. Dahil ang ESP8266 ay may kakayahang i-set up ang mga koneksyon sa WIFI. Sa isang mataas na antas ng Wi-Fi ay ang kakayahang lumahok sa mga koneksyon sa TCP / IP sa isang wireless na link. Maaari mong gawin ang iyong ESP upang gumana sa TCP / IP protocol o sa UDP protocol.
User Datagram Protocol (UDP):
Ang UDP ay isa ring uri ng internet protocol. Ang ganitong uri ng komunikasyon ay mas mabilis kaysa sa TCP ngunit hindi ito gaanong tumpak. Ang dahilan ay ang paggamit ng TCP ng isang Pagkilala sa panahon ng komunikasyon nito ngunit ang UDP ay hindi. Ang TCP ay kadalasang ginagamit sa mga network kung saan mayroong kinakailangang mataas na pagiging maaasahan. Ginagamit ang UDP sa mga lugar kung saan ang bilis ay may mataas na priyoridad kaysa sa pagiging maaasahan. Halimbawa ang UDP ay ginagamit sa video conferencing, dahil doon kahit na ang ilang mga pixel ay hindi naipadala hindi ito makakaapekto sa kalidad ng video na mas malaki ngunit ang bilis ay napakahalaga.
Karamihan sa mga proyekto at code ng ESP8266 ay gumagana sa paligid ng TCP / IP, ang UDP ay hindi maaabala.
Access Point (AP) at Station (STA):
Kapag nagsimula ka nang magtrabaho kasama ang module ng ESP, madalas mong mahahanap ang dalawang term na ito. Hayaan mong sabihin namin na nais mong mag-surf sa internet sa iyong mga smart phone ngunit dahil wala siyang aktibong koneksyon sa internet nagpasya kang i-on ang iyong hotspot at kumokonekta ang iyong kaibigan dito. Narito ang iyong telepono na kumukuha ng koneksyon sa internet ay ang Access Point (AP) at ang telepono ng iyong kaibigan na gumagamit ng internet ay tinatawag na Station (STA).
Ang module na ESP8266 ay maaaring magamit sa tatlong mga mode, AP mode, STA mode o sa parehong STA at AP mode (pinagsama).
Identifier ng Set ng Serbisyo (SSID):
Ito ay medyo isang simpleng term. Halos lahat sa atin ay gumamit ng WIFI. Ang pangalan ng Wi-Fi Network ay tinatawag na SSID nito. Kapag mayroon kaming maraming mga access point para kumonekta ang isang istasyon, dapat malaman ng istasyon kung aling access point dapat itong kumonekta, samakatuwid ang bawat Access Point (AP) ay binibigyan ng pagkakakilanlan na tinatawag na SSID.
Application Programming Interface (API):
Upang gawing simple ang isang API ay isang messenger na tumatagal sa iyong mga kahilingan, pinoproseso ito at ibabalik ang iyong system sa nais na resulta. Karamihan sa mga aktibidad na ginagawa namin sa internet ay gumagamit ng mga API, tulad ng kapag nag-book ka ng flight, gumawa ng online na pagbili atbp. Ang bawat website ay nagli-link sa iyo sa isang API kung saan ang ilang bahagi ng trabaho tulad ng pag-sign up, pagbabayad atbp. Ay tapos na para sa iyo doon
Gumagamit ang ESP8266 ng API upang makipag-usap sa mundo ng Internet. Halimbawa kung nais nitong malaman ang oras, klima, o anuman ang dapat nitong hilingin sa anyo ng isang API sa kaukulang website. Ang website na iyon ay makakatanggap ng kahilingan at ibabalik ang nais na resulta sa aming module ng ESP.
Web Server:
Ang isang web Server ay isang bagay na responsable upang ipakita ang mga nilalaman ng isang website. Ang lahat ng mga nilalaman ng partikular na website ay mai-load sa kanyang web server. Mayroong mga nakatuon na computer na ang trabaho ay kumikilos lamang bilang isang web server. Maaari rin naming mai-program ang aming ESP8266 upang gumana bilang isang web server, at kumonekta dito mula sa kahit saan sa mundo.
Okay, ito ay sapat na upang magsimula tayo. Ngayon, ipaalam sa atin ang ating mga kamay sa hardware.
Mga uri ng programa kasama ang ESP8266:
Mayroong dalawang mga paraan upang gumana sa iyong module na ESP8266. Tutulungan ka ng tutorial na ito na makapagsimula sa pareho. Ang isang paraan ay sa pamamagitan ng paggamit ng mga utos ng AT. Ang iba pang paraan ay sa pamamagitan ng paggamit ng Arduino IDE. Unawain natin kung ano ang ibig sabihin nito.
Ang lahat ng mga module ng ESP8266 na naipadala mula sa pabrika ay magkakaroon ng isang default na firmware (SDK + API) na na-load dito. Tutulungan ka ng firmware na ito na i-program ang module na ESP8266 sa pamamagitan ng AT utos.
Ang iba pang paraan ay sa pamamagitan ng direktang pagprograma ng module ng ESP8266 gamit ang Arduino IDE (hindi kinakailangan ang board) at ang mga aklatan nito. Ang lahat ng mga proyekto ay maaaring gawin sa parehong pamamaraan. Ngunit, kung sinimulan mong gamitin ang Arduino IDE para sa pagprograma ng iyong ESP8266 maaaring hindi mo magamit ang mga AT utos dahil ang default na SDK ay maaaring nasira. Sa kasong iyon kailangan mong i-flash ang iyong ESP sa mga default na setting. Tatalakayin namin iyon sa isa pang tutorial.
Hardware sa Program na ESP8266 Modyul:
Ang ESP8266 ay isang module ng 8 terminal. Ang pin sa labas ng pareho ay ipinapakita sa ibaba.
Sa kasamaang palad, ang modyul na ito ay hindi magiliw sa breadboard at samakatuwid hindi natin ito mai-mount nang direkta sa aming breadboard. Hindi rin katulad ng Arduino wala itong built in USB sa Serial driver; samakatuwid kailangan nating gamitin ang "FTDI USB sa TTL Serial Adapter Module" upang makipag-usap dito. Siguraduhin na ang FTDI board ay maaaring gumana sa 3.3V din; ang isa na ginagamit namin sa tutorial na ito ay ipinapakita sa ibaba.
Ngayon, tulad ng alam nating dapat nating palakasin ang ESP8266 na may 3.3V. Ngunit ang kasalukuyang pagkonsumo ay 0.8A, kaya't maaaring hindi ito gumana tulad ng inaasahan kung pinalakas mula sa aming FTDI breakout board. Samakatuwid kailangan nating bumuo ng aming sariling powering circuit. Dito ginamit namin ang LM317 para sa powering na layunin; ang mga detalye para sa paggawa ng kumpletong hardware ay ibinibigay sa mga susunod na seksyon.
Mga Materyal na Kinakailangan:
- Perf Board
- ESP8266-01
- FTDI breakout Board
- LM317
- 0.1uf capacitor
- 10uf Capacitor
- Barrel Jack
- Bergstik Lalaki at Babae
- Push Button
- Mga kumokonekta na mga wire
- 12V Adapter upang mapagana ang board.
Paliwanag sa Circuit:
Ang Mga Skema ng pisara ay ipinapakita sa ibaba
Ang ilan ay maaaring sinubukan ang pagpapatakbo ng iyong ESP nang direkta mula sa iyong FTDI at gumagana ito, ngunit ang mga sumusunod ay ang mga dahilan upang bumuo ng iyong sariling board na may ilang mga karagdagang mga bahagi:
- Ilang mga FTDI board lamang ang maaaring mapagkukunan ng sapat na kasalukuyang para sa module ng ESP. Ilang mga module ng ESP ang maaaring ubusin ang mataas na kasalukuyang kaysa sa iba pang habang nag-flashing. Samakatuwid ito ay laging ligtas na magkaroon ng iyong sariling mapagkukunan ng kuryente, at mas madali itong isama ang powering circuit sa Dot Board sa halip na breadboard.
- Dapat naming palaging i-reset ang module ng ESP bago i-upload ang code, ang pagbuo ng aming sariling board ay makakatulong sa amin na mai-reset ang module nang madali. Ginamit namin ang Push Button upang I-reset ang ESP8266.
- Ang pin ng GPIO0 ay dapat na grounded kapag ang pag-program gamit ang Arduino at dapat iwanang libre kapag gumagamit ng mga utos ng AT, madali itong mai-toggle kung magtatayo kami ng aming sariling board. Gumamit kami ng isang Jumper para sa paglipat sa pagitan ng AT command mode at Arduino IDE Programming mode.
- Ang lahat ng mga programa ay tapos na gamit ang Serial na komunikasyon , kung gumagamit ka ng isang pisara ng ilang mga maluwag na mga terminal ay maaaring maging sanhi ng isang error sa kalahating paraan at pilitin kaming i-flash ang module upang gumana muli.
Sinasabi na maaari kang pumili sa pagitan ng paggamit ng isang breadboard, at paggawa ng iyong sariling board para sa pag-program ng module. Kung nais mo pa ring gamitin ang breadboard, ang parehong circuit na ipinakita sa itaas ay maaaring mabuo gamit ang iyong breadboard. Ang hitsura lamang ang magkakaiba, ang lahat ng iba pang mga tagubilin sa tutorial na ito ay magkakaroon ng pareho.
Building Board sa Programa ng ESP8266:
Kaya narito binubuo namin ang board upang i-program ang module ng ESP8266 na may sariling powering circuit upang mapalakas ang ESP8266.
Tulad ng sinabi ng aming module ay mangangailangan ng sa paligid ng 800mA habang program ito. Samakatuwid ay itinayo namin ang aming sariling module ng kuryente sa pamamagitan ng paggamit ng isang LM317 variable voltage regulator dahil ang kasalukuyang pinagmulan ng LM317 ay halos 1.2A. Ang input boltahe ng LM317 ay magiging 12V na ibibigay gamit ang isang 12V 2A wall mount adapter. Ang output ng LM317 ay maaayos sa 3.3V na patuloy sa pamamagitan ng paggamit ng resistors ng 220ohm at 360ohm. Suriin din ang aming Battery Charger Circuit gamit ang LM317 upang malaman ang higit pa tungkol sa LM317.
Ang mga formula upang makalkula ang output boltahe ng LM317 ay ibinibigay sa ibaba:
Vout = 1.25 * (1+ (R2 / R1))
Kung saan, ang R1 ay 220ohm at ang R2 ay 360ohms.
Ang Modul ng ESP8266 ay konektado ayon sa mga pin na ipinakita sa talahanayan sa ibaba.
Pin No. |
Pangalan ng pin ng ESP |
Nakakonekta sa |
1 |
Lupa |
Lupa ng module na FTDI |
2 |
GPIO2 |
Kaliwa libre o konektado sa berg stick para magamit sa hinaharap |
3 |
GPIO0 |
Lumipat upang magpalipat-lipat sa pagitan ng mga mode ng programa |
4 |
Rx |
Tx ng FTDI module |
5 |
Tx |
Rx ng FTDI module |
6 |
CH_PH |
3.3V mula sa LM317 |
7 |
I-reset |
Pushbutton upang i-reset ang module |
8 |
Vcc |
3.3V mula sa LM317 |
Upang madaling magpalipat-lipat sa pagitan ng mode na utos ng AT at ang Arduino Programming mode na inilagay ko ang isang switch (jumper) na kung saan ay hilahin ang GPIO 0 sa lupa kapag gumagamit ng Arduino IDE at iiwan itong lumulutang kapag gumagamit ng mga utos ng AT.
Mayroong isang pindutan ng push na kung saan kapag pinindot ay i-reset ang module ng ESP. Ginagawa ito sa pamamagitan lamang ng pagkonekta sa RST pin ng module ng ESP sa ground rail sa pamamagitan ng pushbutton. Sa bawat oras bago namin programa ang aming module ng ESP dapat namin itong i-reset.
Kapag naipon mo na ang circuit dapat itong magmukhang ganito sa ibaba.
Gumamit ako ng Perf board ngunit maaari mo ring gamitin ang isang breadboard kung interesado ka (tulad ng tinalakay sa itaas). Ang kumpletong pagbuo at paliwanag ay ipinapakita sa video sa ibaba.
Kapag tapos na sa mga koneksyon. Patayin ang board nang walang mga board ng ESP & FTDI at suriin kung nakakuha kami ng 3.3V nang maayos sa mga Vcc at Ground terminal ng posisyon ng mga module ng ESP. Siguraduhin ngayon na ang iyong FTDI board ay nasa 3.3V mode at ikonekta ang iyong mga module ng FTDI at ESP sa iyong board.
Lakas sa iyong adapter at ikonekta ito sa iyong board, ang module ng ESP ay dapat na ilaw sa isang pulang kulay.
Pagkatapos ay ikonekta ang iyong board ng FTDI sa iyong computer gamit ang isang mini-USB sa USB cable at mag-navigate sa Device manager sa iyong computer at dapat mong makita ka na FTDI board na konektado sa iyong COM port, tulad ng ipinakita sa ibaba:
Ngayon na upang makuha ang aming mga kamay sa pag-program ng aming module na ESP8266. Maaari kang magsimula sa pamamagitan ng paggamit ng mga AT-command at pagkatapos ay lumipat sa paggamit ng Arduino IDE. Huwag kalimutan na suriin ang aming iba pang Mga Proyekto batay sa ESP8266.