Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

ESP8266 non-wifi mode

Status
Not open for further replies.

MacIntoshCZ

Active Member
I need to sense water level. When it reach desired level i need to wirrelesly send that container is full. I have two ESP8266. Main ESP is powered from mains, second (on the conteiner) from battery. I am just curious which comunication mode i should use for this. It should be battery life friendly solution =). I am coding this under platformio with ESP8266 non-os SDK framework.
I am not going to use arduino. I would like to learn whats going on...
Thanks for reply
 
Last edited:
I suggest you study sleep modes - regardless of what connection you use you MUST shut down the wireless part totally to extend battery life.

I was thinking about that. Wifi will be created on mains ESP. And ESP near container will wake up, send data and go to sleep mode.
 
I was thinking about that. Wifi will be created on mains ESP. And ESP near container will wake up, send data and go to sleep mode.
Yes, that is required but the definition of "sleep mode" is the key. How long do you want your battery to last? How long will it be on each time and how frequently will it turn on. The combined power of each of these conditions will determine battery life.

there are "software enabled sleep modes" on the ESP8266 to get you down to about 50 microAmps and hardware tricks to turn the ESP8266 off (sub-microAmp) mode. Also, any on-board voltage regulator (depending on permutation of ESP8266) can be a huge current drain.
 
Yes, that is required but the definition of "sleep mode" is the key. How long do you want your battery to last? How long will it be on each time and how frequently will it turn on. The combined power of each of these conditions will determine battery life.

there are "software enabled sleep modes" on the ESP8266 to get you down to about 50 microAmps and hardware tricks to turn the ESP8266 off (sub-microAmp) mode. Also, any on-board voltage regulator (depending on permutation of ESP8266) can be a huge current drain.
Program should work "daily" between 0:00 to 6:00 AM. Smaller container is filled passively by water. When bigger container is not fully filled, water pump is turned on when smaller container is full. (Small container 300 liter, big container 2000 liters.). So wirelles feedback from bigger container should be sent when it reachs top or when program started.
 
Check out this video by Andreas Spiess on ESP8266 sleep modes. He also has another video comparing WiFi methods – traditional wifi requires waking up, establishing a wifi connection to the network, sending data, etc., which are all high-current-drain activities. Using direct wifi between two ESP8266s eliminates the overhead, allows for a quick wakeup, connection and sending data using a small fraction of the amount of power.
 
Check out this video by Andreas Spiess on ESP8266 sleep modes. He also has another video comparing WiFi methods – traditional wifi requires waking up, establishing a wifi connection to the network, sending data, etc., which are all high-current-drain activities. Using direct wifi between two ESP8266s eliminates the overhead, allows for a quick wakeup, connection and sending data using a small fraction of the amount of power.
Thanks
 
If i use sleep mode or deep mode, it powers off wifi. What if main cpu ("master") make a request for water level status. It will not receive message than?
I think i will need to use some RF module for this. Or what about nRF24L01 with some AVR?
 
Last edited:
If i use sleep mode or deep mode, it powers off wifi. What if main cpu ("master") make a request for water level status. It will not receive message than?
I think i will need to use some RF module for this. Or what about nRF24L01 with some AVR?

Try reading the link I posted for you in post #2.
 
Try reading the link I posted for you in post #2.
I read that but do not understand this:
So with Light sleep it can receive but cant transmitt. And in Deep mode it can be interrupted only with some timer/gpio pins?
Not even in light sleep can cpu wake up after data is received over wifi?
1624866882399.png

1624867187758.png

1624866904484.png
 
Last edited:
I read that but do not understand this:
So with Light sleep it can receive but cant transmitt. And in Deep mode it can be interrupted only with some timer/gpio pins?
Not even in light sleep can cpu wake up after data is received over wifi?
View attachment 132183
View attachment 132185

I don't see your problem?, there's a remote sensor and transmitter, this is the battery powered one - and you run it in deep sleep mode - waking it every so often (if you want timed sampling) or directly via a GPIO trigger. The other half, the receiver, can presumably be mains powered? - so doesn't need to be in sleep at all.

So the remote wakes up, sends it's data to the main unit, then goes back to sleep again.

The 'trick' is to work out how best to implement what you need to do - what you don't want is to be sending commands from the main unit to the remote unit, not if it's battery powered. 'If' you want to be able to change settings on the remote unit (such as sampling every ten minutes instead of five) you simply do so the next time it connects.
 
I don't see your problem?, there's a remote sensor and transmitter, this is the battery powered one - and you run it in deep sleep mode - waking it every so often (if you want timed sampling) or directly via a GPIO trigger. The other half, the receiver, can presumably be mains powered? - so doesn't need to be in sleep at all.

So the remote wakes up, sends it's data to the main unit, then goes back to sleep again.

The 'trick' is to work out how best to implement what you need to do - what you don't want is to be sending commands from the main unit to the remote unit, not if it's battery powered. 'If' you want to be able to change settings on the remote unit (such as sampling every ten minutes instead of five) you simply do so the next time it connects.
I am just curious how can be esp8266 waken up remotely from light sleep mode via wifi using mains powered esp8266?
It looks it can be waken up only with timer interupts or gpio pin.
So how can i ask "slave" in sleep mode for data from "master".
 
I am just curious how can be esp8266 waken up remotely from light sleep mode via wifi using mains powered esp8266?
It looks it can be waken up only with timer interupts or gpio pin.
So how can i ask "slave" in sleep mode for data from "master".

You're not reading my posts - you can't, but why do you need to? - design it so there's no need.
 
You're not reading my posts - you can't, but why do you need to? - design it so there's no need.
For my task described above its not needeed. But i have problem that i need to know everything. So i am Always adding - What if? :D.
 
For my task described above its not needeed. But i have problem that i need to know everything. So i am Always adding - What if? :D.
If you keep adding "what if", you never get to the stage where you say, "it's working". Also, just because it is possible to communicate back to the battery operated esp8266, what are you going to communicate about? Are you just going to check if it is running? Are you going to query, "are you going to run soon." And, because it only has an on/off switch, it can only respond, "maybe".

At some point you have to design for what you know. The answer to your above question is, you cannot do it with little battery power on ESP8266. If you are going to bother adding some other components, just use those components to turn on/off a pump and skip the esp8266 all together. There is no point in turning a simple radio controlled pump switch into a Rube Goldberg machine.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top