Linux network interface for communication over the ESP-Now broadcast protocol.
Find a file
2024-01-05 13:12:09 -08:00
include still quite broken but a good starting point 2024-01-05 13:12:09 -08:00
src still quite broken but a good starting point 2024-01-05 13:12:09 -08:00
CMakeLists.txt still quite broken but a good starting point 2024-01-05 13:12:09 -08:00
README.md still quite broken but a good starting point 2024-01-05 13:12:09 -08:00

ifnow

A Linux network interface device for communication over the ESP-Now wireless broadcast protocol.

NOTE: This is EXTREMELY work in progress and as it requires root permissions is not recommended to be run unmonitored.

Build

git clone https://git.oit.cloud/morgan/ifnow.git
cd ifnow
mkdir build
cd build
cmake ../
make

This should result in the ifnow binary in the build directory.

Usage

This is two steps, first setting up monitoring mode (using aircrack-ng in this method). You will need to determine your wireless interface name and replace if different from wlp2s0 in the example. You will also want to set the channel to match the ESP32 configuration.

sudo airmon-ng start wlp2s0
sudo iw wlp2s0 set channel 1
./ifnow wlp2s0mon now1 10.10.0.13

The interface is now up as now1 and you should be able to write to this interface. In theory pcap can be used to intercept raw packets but if used with LwIP on the ESP32 end, which can be accomplished with esp_netif_now, any IP stack should work. Has been testing with UDP and some CoAP. There are definitely still issues with parsing some incoming packets.