Comments (14)
What cards do you have? Monitor mode is tricky with many cards dropping packets like crazy, or limiting the rate or just being buggy. This is why I recommend to stick to the tested wifi adapters from EZ-wifibroadcast or similar projects, and check any notes they might have about your cards. You might have to fix the driver, recompile the kernel or try another type of adapter...
from esp32-cam-fpv.
What you said is really reasonable. Not all cards have complete monitor functions. I now use the same network card model as you, and try the rtl8812au network card model in openHD. I can now use two network cards to achieve a much smoother effect you said.
But through further analysis of tcpdump, the biggest discovery is that the noisy electromagnetic environment leads to complete packet loss and the existence of fcsfail frames (it seems that the transmission power of esp32 is not as strong as that of the enterprise-level APs arranged every 5m above my head).
I have tried ESP32 with cards in EM-wave dark room.they works much better with single card.Though i can see about 20% of packets loss in tcpdump(That maybe about the driver but not wireless traffic.)
from esp32-cam-fpv.
I think the problem is caused by internal PCB antenna.
I tried 8812AU cards and PCB antenna, VFPS is not good, really low about 4~5 VFPS.
Maybe esp32 should use ips external antenna.
from esp32-cam-fpv.
Hi so the disscusion above is under the resolution(800X600) ?
if yes, I test with my AR9271 (single) in my linux laptop and orangepi3, the vfps are all less then 10
(esp32 is with external ipx4 antenna, about 3dbi) @lida2003
from esp32-cam-fpv.
@Ncerzzk Close range test (LOS, about 30cm ???)
a) two 8812AU with kms driver + laptop wifi card, 3 wifi card total
b) 800x600(SVGA) quality 50
c) laptop (400~500 FPS)
d) external ipx 3dbi antenna (0ohm resistor is NOT very well mounted, maybe some dbi signal loss)
ESP32 prints 40FPS
gs shows vfps around 15 vfps
PS: There are about 15 ssid around, very noisy environment.
from esp32-cam-fpv.
@lida2003 add the fec_n to make the link stronger could improve vfps.
I use fec_k=2, fec_n=6, and single AR9271, 640*480, vfps is range from 10 ~ 19(about 0.5m distance)
while in 800 * 600 case, limited by wifi rates, fec_n couldn't be set to 6, and can only get about 5~10 vpfs.
from esp32-cam-fpv.
It looks like you're getting severe packet loss. If well tuned, you should get the same VFPS as the ESP is reporting.
What rate are you using? What % of the wifi buffer is being used? check the esp32 log, it prints there the send buffer usage %.
from esp32-cam-fpv.
It looks like you're getting severe packet loss.
Yes.
If well tuned, you should get the same VFPS as the ESP is reporting. What rate are you using?
@jeanlemotan Nice tips.
https://www.bilibili.com/video/BV1vs4y1h742/
@Ncerzzk Thanks for wifi channel scanner. I use channel 4 for test.
What % of the wifi buffer is being used? check the esp32 log, it prints there the send buffer usage %.
I think rate/channel/pcb antenna caused low FPS rate.
from esp32-cam-fpv.
@lida2003 @jeanlemotan
Thank you. I finnally got the same VFPS as ESP reported (800*600,30vfps) by changing to a cleaner channel(4) in such condition:
- default fec arguments(k=2,n=3)
- AR9271 card(I don't know the dbi of antenna,may be 3dbi)
- RATE_G_24M_ODFM rate
- ESP32 AITHINKER board(with 3dbi external antenna)
platform:
- laptop(x86-64, ubuntu 20.04 , render lib:glesv2)
- orangepi3lts(aarch64, ubuntu 20.04, render lib:glesv2)
(they use the same net card)
so the most important factor to influenced the perf is the electromagnetic environment.
noisy electromagnetic environment -> low link quality -> lots of packets loss -> low vfps
from esp32-cam-fpv.
may be we can add a feature in esp32 to auto choose the cleanest channel at start time or run time
from esp32-cam-fpv.
yeah ,emwave influence a lot .
I just get esp32 closer and a high fps.
I have tested them in emwave darkroom and get a good result.
from esp32-cam-fpv.
2.4GHz has a very busy traffic. Some aps send beacons which may have collision with esp32.(This could be seen by using tcpdump with "fcsfail on"monitor mode) Although they obey the listen before talk rule,these aps don't receive our signal beacuse our poor tx power and dirctional ant.So they just send and both the beacon and our packet are CRC failed.
from esp32-cam-fpv.
I finnally got the same VFPS as ESP reported (800*600,30vfps)
@Ncerzzk All linux laptop and orangepi3 reached 30vfps? or just laptop, how about orangePi3?
from esp32-cam-fpv.
I finnally got the same VFPS as ESP reported (800*600,30vfps)
@Ncerzzk All linux laptop and orangepi3 reached 30vfps? or just laptop, how about orangePi3?
@lida2003 laptop and orangepi3 can all reach 30vfps, and sometimes it would drop to 10+vfps due to the noisy, anyway, it work much better than beform. I will add more info about platform above.
from esp32-cam-fpv.
Related Issues (20)
- esp-idf 4.3 + latest code(56ee43e) constantly reboot HOT 14
- Makefile with specific dir, which is NOT avaliable HOT 2
- Is it possible to run the gs program on laptop? HOT 2
- gs compiles ok, but it doesn't work properly HOT 9
- gs get stuck full cpu and no popup window. HOT 1
- latest code(9610792) no video on RPI Window HOT 35
- Undefined reference issues when compiling gs code. HOT 14
- Milestone for airunit-firmware and gs desktop program (requested.) HOT 8
- Mouse Y-Axis Offset bug HOT 2
- IDF4.4.4 sd_enqueue_proc stack issue HOT 2
- Any idea to improve the low latency when using higher resolution HOT 1
- Idea for exposing the raw video stream on a GPIO pin. HOT 1
- Laptop build HOT 14
- Problem while running make -j4 HOT 1
- What Range can we expect with this setup
- OpenGL Shader errors when running on AMD64 Ubuntu 23.04 HOT 1
- Very poor latency / FPS performance HOT 6
- `esp_wifi_config_80211_tx_rate` not declared HOT 1
- Error in pcap_activate: That device doesn't support monitor mode HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp32-cam-fpv.