- Kinakailangan ang Mga Bahagi:
- Mga Koneksyon sa Circuit:
- Paggawa ng Paliwanag:
- Mga Hakbang para sa Programming:
Ang komunikasyon sa wireless sa pagitan ng mga elektronikong aparato at module ay napakahalaga, upang gawin silang 'Pagkasyahin' sa Mundo ng Internet ng Bagay. Ginawang posible ng HTTP protocol at wikang HTML na ilipat ang Data kahit saan sa mundo, sa web. Natakpan na namin ang ilang mga proyekto na gumagamit ng Wi-Fi kasama ang Arduino, tingnan ang mga ito sa Pagsisimula:
- Pagpapadala ng Email gamit ang Arduino at ESP8266 WiFi Module
- Kontroladong WiFi ng Robot gamit ang Arduino
- Pagkontrol sa RGB LED gamit ang Arduino at Wi-Fi
Ngayon sa tutorial na ito, nagtatayo kami ng isang programa upang Magpadala ng Data sa Web gamit ang Arduino at Wi-Fi module. Para dito kailangan muna namin ng isang IP address ng alinman sa Global o Lokal na server, dito para sa kadalian at layunin ng pagpapakita, gumagamit kami ng Local Server.
Kinakailangan ang Mga Bahagi:
- Arduino UNO
- ESP8266 Wi-Fi Module
- Kable ng USB
- Mga kumokonekta na mga wire
- Laptop
- Supply ng kuryente
Wi-Fi Module ESP8266:
Mga Koneksyon sa Circuit:
Ang Circuit Diagram para sa "Mag-post ng Data mula sa Arduino hanggang sa Web" ay ibinibigay sa ibaba. Pangunahin naming kailangan ang isang Arduino at ESP8266 Wi-Fi module. Ang mga V8 at GND na pin ng ESP8266 ay direktang konektado sa 3.3V at GND ng Arduino at CH_PD ay konektado din sa 3.3V. Ang mga Tx at Rx na pin ng ESP8266 ay direktang konektado sa pin 2 at 3 ng Arduino. Ginagamit ang Software Serial Library upang payagan ang serial na komunikasyon sa pin 2 at 3 ng Arduino. Saklaw na namin ang detalye ng Interfacing ng module na Wi-Fi ng ESP8266 sa Arduino nang detalyado.
Sa pamamagitan ng paggamit ng Software Serial Library dito, pinayagan namin ang serial na komunikasyon sa pin 2 at 3, at ginawang Rx at Tx ayon sa pagkakabanggit. Bilang default ang Pin 0 at 1 ng Arduino ay ginagamit para sa serial na komunikasyon ngunit sa pamamagitan ng paggamit ng library ng SoftwareSerial, maaari naming payagan ang serial na komunikasyon sa iba pang mga digital na pin ng Arduino.
Tandaan: Upang mapanood ang tugon ng ESP8266 sa serial monitor, mangyaring buksan ang Serial Monitor ng Arduino IDE.
Paggawa ng Paliwanag:
Una sa lahat kailangan namin upang ikonekta ang aming module na Wi-Fi sa Wi-Fi router para sa pagkakakonekta sa network. Pagkatapos ay i-configure namin ang lokal na server, Ipadala ang data sa Web at sa wakas Isara ang koneksyon. Ang prosesong ito at mga utos ay ipinaliwanag sa mga hakbang sa ibaba:
1. Una kailangan naming subukan ang module ng Wi-Fi sa pamamagitan ng pagpapadala ng utos ng AT , ibabalik nito ang isang tugon na naglalaman ng OK .
2. Pagkatapos nito, kailangan naming pumili ng mode gamit ang command AT + CWMODE = mode_id , ginamit namin ang Mode id = 3. Mga mode id:
1 = Station mode (client)
2 = AP mode (host)
3 = AP + Station mode (Oo, ang ESP8266 ay mayroong dual mode!)
3. Ngayon kailangan naming idiskonekta ang aming module na Wi-Fi mula sa dating koneksyon na Wi-Fi network, sa pamamagitan ng paggamit ng command na AT + CWQAP, dahil ang ESP8266 ay default na awtomatikong konektado sa anumang dating magagamit na Wi-Fi network.
4. Pagkatapos nito, maaaring i-reset ng gumagamit ang module sa AT + RST na utos. Ang hakbang na ito ay opsyonal.
5. Ngayon kailangan naming ikonekta ang ESP8266 sa Wi-Fi router gamit ang naibigay na utos
6. Ngayon kumuha ng IP Address sa pamamagitan ng paggamit ng ibinigay na utos:
Magbabalik ito ng isang IP Address.
7. Ngayon paganahin ang multiplex mode sa pamamagitan ng paggamit ng AT + CIPMUX = 1 (1 para sa maraming koneksyon at 0 para sa solong koneksyon)
8. Ngayon ay i-configure ang ESP8266 bilang server sa pamamagitan ng paggamit ng AT + CIPSERVER = 1, port_no (ang port ay maaaring 80). Ngayon ay handa na ang iyong Wi-Fi. Dito ginagamit ang '1' upang likhain ang server at '0' upang tanggalin ang server.
9. Ngayon sa pamamagitan ng paggamit ng naibigay na gumagamit ng utos ay maaaring magpadala ng data sa lokal na nilikha server:
Id = ID blg. ng paghahatid ng koneksyon
Haba = Max na haba ng data ay 2 kb
10. Matapos magpadala ng ID at Haba sa server, kailangan naming magpadala ng data tulad ng: Serial.println ("[email protected]");
11. Pagkatapos magpadala ng data kailangan namin isara ang koneksyon sa pamamagitan ng ibinigay na utos:
Ngayon ang data ay naipadala sa lokal na server.
12. Ngayon i-type ang IP Address sa Address Bar sa web browser at pindutin ang enter. Ngayon ang gumagamit ay makakakita ng naihatid na data sa webpage.
Suriin ang Video sa ibaba para sa kumpletong proseso.
Mga Hakbang para sa Programming:
1. Isama ang SoftwareSerial Library para payagan ang serial na komunikasyon sa PIN 2 & 3 at ideklara ang ilang mga variable at string.
# isama
2. Pagkatapos nito, kailangan nating tukuyin ang ilang mga pagpapaandar para sa pagganap ng aming nais na mga gawain.
Sa pag- andar ng Setup () , pinasimulan namin ang inbuilt na serial na komunikasyon ng UART para sa ESP8266 bilang client.begin (9600); sa baud rate na 9600.
void setup () {Serial.begin (9600); client.begin (9600); wifi_init (); Serial.println ("Ready na ang System.."); }
3. Sa pagpapaandar ng wifi_init () , pinasimulan namin ang module ng wifi sa pamamagitan ng pagpapadala ng ilang mga utos tulad ng pag-reset, set mode, kumonekta sa router, i-configure ang koneksyon atbp Ang mga utos na ito ay ipinaliwanag din sa itaas sa bahagi ng paglalarawan.
void wifi_init () {connect_wifi ("AT", 100); connect_wifi ("AT + CWMODE = 3", 100); connect_wifi ("AT + CWQAP", 100); connect_wifi ("AT + RST", 5000);…………………
4. Sa function na connect_wifi () , nagpapadala kami ng data ng mga utos sa ESP8266 at pagkatapos ay basahin ang tugon mula sa module na Wi-Fi ng ESP8266.
void connect_wifi (String cmd, int t) {int temp = 0, i = 0; habang (1) {Serial.println (cmd);…………………
5. sendwebdata () function ay ginagamit para sa pagpapadala ng data sa Local Server o Webpage.
void sendwebdata (String webPage) {int ii = 0; habang (1) {unsigned int l = webPage.length (); Serial.print ("AT + CIPSEND = 0,"); client.print ("AT + CIPSEND = 0,");…………………
6. void send () function ay ginagamit para sa pagpapadala ng mga string ng data sa pagpapaandar ng sendwebdata () . Ipapadala pa iyon sa webpage.
walang bisa ang Magpadala () {webpage = "
Maligayang pagdating sa Circuit Digest
"; sendwebdata (webpage); webpage = pangalan; webpage + = dat;…………………7. function na get_ip () ay ginagamit para sa pagkuha ng IP address ng Lokal na nilikha server.
8. Sa pag- andar ng void loop () , nagpapadala kami ng tagubilin sa gumagamit para sa pag-refresh ng pahina at suriin kung ang server ay konektado sa hindi. Kapag nag-refresh o humiling ang gumagamit ng webpage, awtomatikong naihatid ang data sa parehong IP address.
void loop () {k = 0; Serial.println ("Mangyaring i-refresh ang iyong Pahina"); habang (k <1000)………………
Maaari naming ipakita ang anumang data mula sa Arduino patungo sa Webpage gamit ang prosesong ito, tulad ng Temperatura sa Temperatura at Humidity, Oras ng orasan, koordinasyon ng GPS, Rate ng Heart beat atbp.