Selama lebih dari lima tahun sekarang, modul WiFi berdasarkan SOC ESP8266 (ESP8285) telah berhasil digunakan di perangkat yang berdiri sendiri untuk mengukur berbagai parameter objek dan lingkungan dengan transmisi data yang diterima melalui WiFi.
Dalam artikel "Cara mengurangi konsumsi modul wifi hingga sepuluh kali atau lebih", saya berbicara tentang beberapa cara untuk mengurangi waktu aktivitas sesi WiFI dari modul tersebut, yang secara signifikan dapat mengurangi konsumsi energi selama transfer data. Dalam hal ini, waktu umum sesi transmisi pesan singkat dapat dikurangi dari 1-4 detik menjadi 0,12-0,3 detik.
Namun, pada perangkat dengan sensor lambat atau dengan jumlah sensor yang banyak, waktu untuk memperoleh informasi dari sensor meningkat secara signifikan. Dalam hal ini, konsumsi energi saat polling sensor menjadi sepadan dengan konsumsi energi untuk transmisi data melalui WiFi.
Pada saat yang sama, jika parameter yang dipantau oleh sensor tidak berubah secara signifikan, atau hasil pengukuran dapat digunakan secara mandiri, transfer data melalui WiFi tidak perlu dilakukan. Misalnya, jika suhu benda yang diukur tetap sama, maka tidak perlu mengirimkan nilainya, yang menghemat energi untuk sesi WiFi.
Selain itu, modul pengukuran suhu berbasis ESP8266 dapat secara berkala beralih ke mode tidur nyenyak, di mana konsumsi saat ini kurang dari 20 ΞA. Saat bangun, modul membaca pembacaan sensor, membandingkan pembacaan ini dengan data sebelumnya. Jika pembacaan berubah tidak signifikan atau berada dalam kisaran suhu pengoperasian yang diizinkan, modul akan beralih kembali ke mode tidur tanpa sesi komunikasi.
Jika pembacaan sensor telah berubah secara nyata atau melampaui interval yang diizinkan, modul mengirimkan data dan / atau alarm melalui WiFi dan beralih ke mode tidur nyenyak.
, , WiFi . 70 . , WiFi .
: WiFi , 15, 5 .
, WiFi SDK , . 1 , 0.3 . , WiFi WiFi .
WiFi . , , , .
, void user_pre_init(void), NONOS SDK, 3.0, 0x60000704 . WiFi , 15 .
, WiFi.
, 0x60000704. , WiFi .
WiFi SDK wifi_get_opmode(), / . , , WiFi .
:
uint32 *RT= (uint32_t *)0x60000700;
void user_pre_init(void)
{
uint32 xRT=RT[4]; RT[4]=0;
//
âĶ
// , :
RT[4]=xRT;
}
:
.
WiFi .
UDP.

...
Di posting berikutnya, saya akan memberi tahu Anda cara mengatur pengoperasian modul ESP8266 dengan sensor dalam mode siaga untuk interupsi dari timer atau GPIO, tetapi dengan konsumsi arus 2 mA, bukan 15 mA dengan modem WiFi dimatikan (atau sebagai gantinya 70 mA saat dihidupkan). Hasilnya, kami mengurangi konsumsi ESP8266 saat bekerja dengan sensor sebanyak 10 kali atau lebih.