Coder Social home page Coder Social logo

Comments (14)

jeanlemotan avatar jeanlemotan commented on September 27, 2024

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.

whstudio123 avatar whstudio123 commented on September 27, 2024

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.

lida2003 avatar lida2003 commented on September 27, 2024

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.

Ncerzzk avatar Ncerzzk commented on September 27, 2024

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.

lida2003 avatar lida2003 commented on September 27, 2024

@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.

Ncerzzk avatar Ncerzzk commented on September 27, 2024

@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.

wifi env:
IMG_20230219_152037

from esp32-cam-fpv.

jeanlemotan avatar jeanlemotan commented on September 27, 2024

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.

lida2003 avatar lida2003 commented on September 27, 2024

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.

Ncerzzk avatar Ncerzzk commented on September 27, 2024

@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:

  1. default fec arguments(k=2,n=3)
  2. AR9271 card(I don't know the dbi of antenna,may be 3dbi)
  3. RATE_G_24M_ODFM rate
  4. ESP32 AITHINKER board(with 3dbi external antenna)

platform:

  1. laptop(x86-64, ubuntu 20.04 , render lib:glesv2)
  2. 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.

Ncerzzk avatar Ncerzzk commented on September 27, 2024

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.

whstudio123 avatar whstudio123 commented on September 27, 2024

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.

whstudio123 avatar whstudio123 commented on September 27, 2024

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.

lida2003 avatar lida2003 commented on September 27, 2024

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.

Ncerzzk avatar Ncerzzk commented on September 27, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.