How can I get CSI (channel state information) from my own ESP32 Chip?

areguy
Posts: 4
Joined: Sun Mar 17, 2019 10:12 am

How can I get CSI (channel state information) from my own ESP32 Chip?

Postby areguy » Sun Mar 17, 2019 11:01 am

As I known, esp-idf has supported (CSI) channel state information.

I just follow the WiFi documentation wifi.rst in esp-idf directory to modify the given example "station" to get channel state information.
It works well, but it could not receive any CSI from my another chip, to which I upload another example "softAP".

In the example "softAP", I have tried hard to do something to make it better(maybe,i dont konw)
For example, select Wi-Fi CSI enble in menuconfig or add 'esp_wifi_set_csi(true)', even 'esp_wifi_set_promiscuous(true)'
However, these methods make on sense

Also, I search related questions in the Internet and read the ESP-IDF Programming Guide over and ever again, but can't find the solution.

I'm really a newbie on this field,and it's my first time to post question here.
HOPE SOMEONE CAN HELP ME! THANKS

littlesky
Posts: 51
Joined: Fri Jun 09, 2017 7:49 am

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Postby littlesky » Mon Mar 18, 2019 3:07 am

areguy wrote:
Sun Mar 17, 2019 11:01 am
As I known, esp-idf has supported (CSI) channel state information.

I just follow the WiFi documentation wifi.rst in esp-idf directory to modify the given example "station" to get channel state information.
It works well, but it could not receive any CSI from my another chip, to which I upload another example "softAP".

In the example "softAP", I have tried hard to do something to make it better(maybe,i dont konw)
For example, select Wi-Fi CSI enble in menuconfig or add 'esp_wifi_set_csi(true)', even 'esp_wifi_set_promiscuous(true)'
However, these methods make on sense

Also, I search related questions in the Internet and read the ESP-IDF Programming Guide over and ever again, but can't find the solution.

I'm really a newbie on this field,and it's my first time to post question here.
HOPE SOMEONE CAN HELP ME! THANKS
The CSI is extracted from received packet. Does the softAP send 11g/n packet to the station? For example, you can send UDP data from softAP to station. Note that the example "softAP" does not do this except recepting connection from station.

areguy
Posts: 4
Joined: Sun Mar 17, 2019 10:12 am

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Postby areguy » Mon Mar 18, 2019 8:17 am

The CSI is extracted from received packet.
First,thank you for your reply!

I think that's exactly the key of my question.
Now, I think i'd better receive CSI in the softAP, and use another chip as station to connect to this AP.
In this way, I can send UDP data from my station to my softAP, which may let me able to contral the speed of CSI update.

BUT, I dont know the default ip address of the softAP(maybe 192.168.4.1? I've tried,not work), or which port i should should send to.
By the way, whether the function

Code: Select all

esp_err_tesp_wifi_80211_tx(wifi_interface_tifx, const void *buffer, int len, bool en_sys_seq)
can also satisfy my need?If so, I'm supposed to learn the format of raw ieee80211 data.SAD!

littlesky
Posts: 51
Joined: Fri Jun 09, 2017 7:49 am

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Postby littlesky » Mon Mar 18, 2019 8:32 am

areguy wrote:
Mon Mar 18, 2019 8:17 am
The CSI is extracted from received packet.
First,thank you for your reply!

I think that's exactly the key of my question.
Now, I think i'd better receive CSI in the softAP, and use another chip as station to connect to this AP.
In this way, I can send UDP data from my station to my softAP, which may let me able to contral the speed of CSI update.

BUT, I dont know the default ip address of the softAP(maybe 192.168.4.1? I've tried,not work), or which port i should should send to.
By the way, whether the function

Code: Select all

esp_err_tesp_wifi_80211_tx(wifi_interface_tifx, const void *buffer, int len, bool en_sys_seq)
can also satisfy my need?If so, I'm supposed to learn the format of raw ieee80211 data.SAD!
The default IP of softAP is 192.168.4.1. You need to bind a UDP socket to a port which you'd like. esp_err_tesp_wifi_80211_tx also works.

areguy
Posts: 4
Joined: Sun Mar 17, 2019 10:12 am

Re: How can I get CSI (channel state information) from my own ESP32 Chip?

Postby areguy » Wed Mar 27, 2019 6:13 am

Any one can give a example using the function esp_wifi_80211_tx to broadcast a kind of frames in one esp32 chip ?

I know there is a examplehttps://github.com/Jeija/esp32-80211-tx on it.
But after trying, it seemed just broadcasting beacon frames didn't work.

OR,
anybody can tell me what kinds of frames AP should send or broadcast to let STA get the CSI

Who is online

Users browsing this forum: No registered users and 148 guests