Need guidance in making a ESP32 custom mesh network
Posted: Mon Apr 22, 2019 8:10 am
I am trying to make a static mesh network based on my research paper.
I intend to develop a home automation solution using the mesh network once it is complete.
https://www.collaborizm.com/project/nAhvWcJ48
https://github.com/ThinkalVB/AirMesh
Initially, a flooding approach based on MAC to identify nodes will be used for configuring and assigning IP addresses and range. After the initial phase, all the packets will be routed according to the scheme described in the research paper. It must be totally compatible with TCP/IP and must route using IP addresses. Gateway is the responsible node for setting up the network. Mesh network is administered purely by MAC-based flooding. IP is only used for routing the regular packets, IP address 192.168.0.0 is for the gateway and 192.168.255.255 is for broadcast.
Note: MAC packet in the sense a special protocol encapsulated in TCP/IP packet used to configure and control the mesh network.
In short, I want the ESP32 to act as a router with a DHCP. I am planning to use class c address space for every static node and class d for dynamic nodes under them.
Ex 192.168.x.0 ( where x= 0 to 250 ) will be the address of static nodes. A static node with an address 192.168.1.0 can use dynamic address range for DHCP ranging from 192.168.1.1 to 192.168.1.255.
Can anyone suggest me how exactly can I implement it using Arduino IDE? I am good with C++ and have little knowledge of embedded systems and Arduino boards.
What I want help with is -
1) How to connect an ESP32 to multiple ESP32's (for MAC based flooding)
2) How to receive a packet and simply route them without any delays
I intend to develop a home automation solution using the mesh network once it is complete.
https://www.collaborizm.com/project/nAhvWcJ48
https://github.com/ThinkalVB/AirMesh
Initially, a flooding approach based on MAC to identify nodes will be used for configuring and assigning IP addresses and range. After the initial phase, all the packets will be routed according to the scheme described in the research paper. It must be totally compatible with TCP/IP and must route using IP addresses. Gateway is the responsible node for setting up the network. Mesh network is administered purely by MAC-based flooding. IP is only used for routing the regular packets, IP address 192.168.0.0 is for the gateway and 192.168.255.255 is for broadcast.
Note: MAC packet in the sense a special protocol encapsulated in TCP/IP packet used to configure and control the mesh network.
In short, I want the ESP32 to act as a router with a DHCP. I am planning to use class c address space for every static node and class d for dynamic nodes under them.
Ex 192.168.x.0 ( where x= 0 to 250 ) will be the address of static nodes. A static node with an address 192.168.1.0 can use dynamic address range for DHCP ranging from 192.168.1.1 to 192.168.1.255.
Can anyone suggest me how exactly can I implement it using Arduino IDE? I am good with C++ and have little knowledge of embedded systems and Arduino boards.
What I want help with is -
1) How to connect an ESP32 to multiple ESP32's (for MAC based flooding)
2) How to receive a packet and simply route them without any delays