acknowledgments and references

This commit is contained in:
Morgan 'ARR\!' Allen 2024-01-05 13:29:57 -08:00
parent 2670aeb502
commit d210b60a03
1 changed files with 15 additions and 0 deletions

View File

@ -3,6 +3,11 @@ A Linux network interface device for communication over the ESP-Now wireless bro
NOTE: This is EXTREMELY work in progress and as it requires root permissions is not recommended to be run unmonitored.
This code would not be possible without the groundwork done by the [Linux-ESPNOW](https://hackaday.io/project/161896-linux-espnow)[[github](https://github.com/thomasfla/Linux-ESPNOW)] project. They put in a huge amount of work to reverse engineer the ESP-Now protocol and provided some [example code](https://github.com/thomasfla/Linux-ESPNOW) that this was heavily based on.
Additionally [this article by John Millikin](https://john-millikin.com/creating-tun-tap-interfaces-in-linux)
was an extremely helpful refresher on working with a Tun/Tap interface.
# Build
```
git clone https://git.oit.cloud/morgan/ifnow.git
@ -31,3 +36,13 @@ be used to intercept raw packets but if used with LwIP on the ESP32 end, which c
[esp_netif_now](https://git.oit.cloud/morgan/esp_netif_now), any IP stack should work. Has been testing
with UDP and some [CoAP](https://libcoap.net). There are definitely still issues with parsing some incoming
packets.
# Reference Material
These are resources I relied on during development to help me better understand the
Linux network interface stack. Unfortunately there is not a lot of reference material on ESP-Now,
Espressif only ships a binary blob and header file.
### UDP/IP Stack
* [IPv4 Header](https://en.wikipedia.org/wiki/Internet_Protocol_version_4)
* [UDP Datagram structure](https://en.wikipedia.org/wiki/User_Datagram_Protocol#UDP_datagram_structure)
* [Universal TUN/TAP device driver](https://www.kernel.org/doc/html/latest/networking/tuntap.html)