- Iba`t ibang Paraan upang I-minimize ang Pagkonsumo ng Lakas
- Kinakailangan ang Mga Bahagi
- Mga uri ng Mga Mode sa Pagtulog sa ESP8266
- ESP8266 Pagprogram ng Deep Mode ng Sleep
- Pagsubok sa DeepS Sleep sa ESP8266
Habang ang rebolusyon ng IoT ay lumalakas sa bawat solong araw, ang bilang ng mga nakakonektang aparato ay napakabilis na pagtaas. Sa hinaharap, ang karamihan sa mga aparato ay maiugnay sa bawat isa at makikipag-usap sa real time. Isa sa problemang kinakaharap ng aparatong ito ay ang pagkonsumo ng kuryente. Ang kadahilanan sa pagkonsumo ng kuryente na ito ay isa sa mga kritikal at mapagpasyang kadahilanan para sa anumang aparato ng IoT at Mga Proyekto ng IoT.
Tulad ng alam namin na ang ESP8266 ay isa sa pinakatanyag na module na bumuo ng anumang proyekto ng IoT, kaya sa artikulong ito natututunan natin ang tungkol sa pag-save ng lakas habang ginagamit ang ESP8266 sa anumang IoT application. Dito namin ina-upload ang data ng sensor ng temperatura ng LM35 sa ThingSpeak cloud sa pagitan ng 15 segundo at sa loob ng 15 segundo na iyon ang ESP8266 ay nananatili sa DeepSleep mode upang mai-save ang lakas
Iba`t ibang Paraan upang I-minimize ang Pagkonsumo ng Lakas
Mayroong maraming mga paraan upang ma-optimize ang pagkonsumo ng kuryente sa mga naka-embed at IoT na aparato. Ang pag-optimize ay maaaring gawin sa hardware at software. Minsan hindi namin mai-optimize ang mga bahagi ng hardware upang mabawasan ang pagkonsumo ng Power, ngunit tiyak na magagawa natin ito sa panig ng software sa pamamagitan ng pagbabago at pag-optimize ng mga tagubilin at pag-andar ng code. Hindi lamang ito, maaari ring baguhin ng mga developer ang Clock Frequency upang Bawasan ang Pagkonsumo ng Power ng Microcontroller.Maaari kaming magsulat ng isang firmware upang matulog ang hardware kapag walang palitan ng data at isagawa ang tinukoy na gawain sa isang partikular na agwat. Sa mode na pagtulog, ang nakakonektang hardware ay nakakakuha ng mas kaunting lakas at samakatuwid ang baterya ay maaaring tumagal ng mahabang panahon. Maaari mo ring basahin ang Pagliit ng Pagkonsumo ng Lakas sa Mga Microcontroller, kung nais mong malaman ang higit pa tungkol sa mga diskarte sa pagkonsumo ng kuryente.
Ang mga module ng ESP8266 ang pinakalawak na ginagamit na mga module ng Wi-Fi ay may kasamang maraming mga tampok sa maliit na sukat na may iba't ibang mga mode kabilang ang mode ng pagtulog at ang mga mode na ito ay maaaring ma-access gamit ang ilang pagbabago sa hardware at software. Upang matuto nang higit pa tungkol sa ESP8266, maaari mong suriin ang aming mga proyekto na batay sa IoT gamit ang module na Wi-Fi ng ESP826, ang ilan sa mga ito ay nakalista sa ibaba:
- Ang interfacing ng ESP8266 NodeMCU sa Atmega16 Microcontroller upang Magpadala ng isang Email
- Nagpadala ng data ng sensor ng Temperatura at Humidity sa Firebase Real-Time Database gamit ang NodeMCU ESP8266
- Kinokontrol ng IoT LED gamit ang Google Firebase Console at ESP8266 NodeMCU
Ipapaliwanag namin dito ang iba't ibang mga mode ng pagtulog na magagamit sa ESP8266 at ipapakita ang mga ito sa pamamagitan ng pagpapadala ng data ng temperatura sa server ng Thingspeak sa isang regular na agwat gamit ang malalim na mode ng pagtulog.
Kinakailangan ang Mga Bahagi
- ESP8266 Wi-Fi Module
- Sensor ng temperatura ng LM35
- Jumper wires
Mga uri ng Mga Mode sa Pagtulog sa ESP8266
Nagpapatakbo ang module ng Esp8266 sa mga sumusunod na mode:
- Aktibong mode: Sa mode na ito, ang buong chip ay pinapagana at ang chip ay maaaring makatanggap, ihatid ang data. Malinaw na, ito ang pinaka-mode ng pag-ubos ng kuryente.
- Modem-sleep mode: Sa mode na ito, ang CPU ay pagpapatakbo at ang mga Wi-Fi radio ay hindi pinagana. Ang mode na ito ay maaaring magamit sa mga application na nangangailangan ng CPU upang gumana, tulad ng sa PWM. Ginagawa nitong naka-off ang Wi-Fi Modem circuit habang nakakonekta sa Wi-Fi AP (Access Point) na walang paghahatid ng data upang ma-optimize ang pagkonsumo ng kuryente.
- Light-sleep mode: Sa mode na ito, ang CPU at lahat ng mga peripheral ay naka-pause. Ang anumang paggising tulad ng panlabas na nakakagambala ay magising ang maliit na tilad. Nang walang paghahatid ng data, maaaring patayin ang Wi-Fi Modem circuit at masuspinde ang CPU upang makatipid sa pagkonsumo ng kuryente.
- Deep-sleep mode: Sa mode na ito ang RTC lamang ang gumagana at lahat ng iba pang mga bahagi ng maliit na tilad ay pinapagana. Kapaki-pakinabang ang mode na ito kung saan naililipat ang data pagkalipas ng mahabang agwat.
Ikonekta ang sensor ng temperatura ng LM35 sa A0 pin ng NodeMCU.
Kapag ang module ng ESP ay may TAAS sa RST pin, nasa estado ito ng pagpapatakbo. Sa sandaling makatanggap ito ng LOW signal sa RST pin, muling magsisimula ang ESP.
Itakda ang timer gamit ang deep mode ng pagtulog, kapag natapos ang timer pagkatapos ay ipinapadala ng D0 pin ang LOW signal sa RST pin at magising ang module sa pamamagitan ng pag-restart nito.
Ngayon, ang hardware ay handa at maayos na na-configure. Ipapadala ang mga pagbabasa ng temperatura sa server ng Thingspeak. Para sa mga ito, gumawa ng isang account sa Thingspeak.com at lumikha ng isang channel sa pamamagitan ng pagdaan sa mga hakbang sa ibaba.
Ngayon, kopyahin ang susi ng Sumulat API. Alin ang gagamitin sa code ng ESP.
ESP8266 Pagprogram ng Deep Mode ng Sleep
Ang madaling magagamit na Arduino IDE ay gagamitin upang i-program ang module na ESP8266. Tiyaking naka-install ang lahat ng mga file ng board ng ESP8266.
Magsimula sa pagsasama ng lahat ng mahahalagang aklatan na kinakailangan.
# isama
Kapag ang lahat ng mga aklatan ay isinama para sa pag-access sa mga pag-andar at pagkatapos ay italaga ang key ng pagsulat ng API, i-configure ang iyong pangalan at password ng Wi-Fi. Pagkatapos ay ideklara ang lahat ng mga variable para sa karagdagang paggamit kung saan maiimbak ang data.
String apiWritekey = "*************"; // palitan ang iyong THINGSPEAK WRITEAPI key dito char ssid = "******"; // your wifi SSID name char password = "******"; // wifi pasword
Ngayon, gumawa ng isang function upang ikonekta ang module sa Wi-Fi network gamit ang wifi.begin () function at pagkatapos ay patuloy na suriin hanggang ang module ay hindi konektado sa Wi-Fi gamit habang loop.
void connect1 () { WiFi.disconnect (); antala (10); WiFi.begin (ssid, password); habang (WiFi.status ()! = WL_CONNected) {
Gumawa ng isa pang pagpapaandar upang maipadala ang data sa server ng mga bagay. Dito, ipapadala ang isang string na naglalaman ng susi ng pagsulat ng API, numero ng patlang at data na kailangang maipadala. Pagkatapos ipadala ang string na ito gamit ang function ng client.print ().
walang bisa ang data () { kung (client.connect (server, 80)) { String tsData = apiWritekey; tsData + = "& field1 ="; tsData + = String (tempF); tsData + = "\ r \ n \ r \ n"; client.print ("POST / update HTTP / 1.1 \ n"); client.print ("Host: api.thingspeak.com \ n");
Tawagan ang function na connect1 na tatawag sa pagpapaandar upang ikonekta ang Wi-Fi pagkatapos gawin ang mga pagbasa ng temperatura at i-convert ito sa Celsius.
void setup () { Serial.begin (115200); Serial.println ("ang aparato ay nasa mode na Wake up"); ikonekta1 (); int halaga = analogRead (A0); float volts = (halaga / 1024.0) * 5.0; tempC = volts * 100.0;
Ngayon, tawagan ang function na data () upang mai-upload ang data sa bagay na cloud cloud. Panghuli, ang mahalagang pagpapaandar na tatawagan ay ang ESP.deepS Sleep (); gagawin nitong matulog ang module para sa tinukoy na agwat ng oras na nasa microseconds.
data (); Serial.println ("mahimbing na pagtulog ng 15 segundo"); ESP.deepS Sleep (15e6);
Ang pag-andar ng loop ay mananatiling walang laman dahil ang lahat ng gawain ay dapat gumanap nang isang beses at pagkatapos ay i-reset ang module pagkatapos ng tinukoy na agwat ng oras.
Ang gumaganang video at buong code ay ibinibigay sa pagtatapos ng tutorial na ito. I-upload ang code sa module na ESP8266. Alisin ang RST at D0 na konektadong wire bago i-upload ang program na iba magbibigay ito ng isang error.
Pagsubok sa DeepS Sleep sa ESP8266
Matapos i-upload ang programa makikita mo na ang mga pagbabasa ng temperatura ay ina-upload sa ThingSpeak cloud pagkatapos ng bawat 15 segundo at pagkatapos ang module ay pumunta sa deep mode ng pagtulog.
Nakumpleto nito ang tutorial sa paggamit ng Deep Sleep sa module na ESP8266. Napakahalagang tampok ng deepsleep at isinama ito sa karamihan ng mga aparato. Maaari mong i-refer ang tutorial na ito at ilapat ang pamamaraang ito para sa iba't ibang mga proyekto. Sa kaso ng anumang mga pagdududa o mungkahi, mangyaring sumulat at magkomento sa ibaba. Maaari mo ring maabot ang aming forum.