Close

More testing (with RT-PREEMPT)

A project log for Linux-ESPNOW

An attempt at implementing a direct link between a linux station and an ESP module using ESPNOW protocol for real time robot control

EtienneEtienne 04/24/2019 at 08:060 Comments

I installed (and patched) a real-time Linux on a computer, to do some 'more serious' testing. I chose Ubuntu 16.04 (with 4.14.109 kernel). And I patched it using RT-PREEMPT.

DISCLAIMER: I am no expert! And I probably did a lot of mistakes/inappropriate things. The following paper does not explain a universal method to install a real-time Linux on your machine. It just traces what worked for me.

Here is what I did :

https://github.com/thomasfla/Linux-ESPNOW/blob/master/Misc/RT_Preempt_patch_Linux.pdf

The computer I used was a Dell Precision (with an Intel Xeon).

I tried with 2 different PCIe Wireless Network Interface Cards :

Finally, after tuning these parameters, and modifying a little my ESPNOW code on the computer (to take better advantage of the real-time OS), here is what I got from the testing :

Histos
Histograms of the round trip time. Tested on 'almost-empty' WiFi channel, with 24MBps data rate.

These results show more consistency in the round trip time. In fact, the histogram shows only 1 sharp peak. Moreover, I did this test several times, and each time the average round trip time was very close to the ones I measured earlier (ranging from 1100µs to 1400µs).

Whereas, in my previous post, the average round trip time could vary from 1000µs  to 2100 (or more) within one test...

HistosPcktLoss
Histogram representing the size of the group of packet lost.

I don't notice any big changes, concerning the packet loss, other than it is more consistent over the test (same as for the round trip time).

Discussions