Cool idea, but I believe a WiFi mesh would be untenable under our given power constraints.
Since
we are using the ESP's WiFi antennae for client connections, we would
like to focus the WiFi signal into a building (maybe it could mesh it's
way down from the roof if necessary?). That would leave little signal
left to mesh with neighboring buildings, meaning the nodes would have to
be _very_ high density in order do any sort of valuable meshing.
The
premise of both disaster-ping-pong and painlessMesh (if I understand it
correctly), is that ESPs switch off roles as clients and servers,
temporarily connecting as client of one, exchanging information about
nearby nodes, then disconnecting and connecting to the next nearby node,
so on and so forth until the mesh has converged and each ESP has a
complete psuedo-routing table. This strange client-to-server exchange is
why it is not true ad-hoc TCP/IP networking and why they use chip IDs
(which correspond to the MAC address of the ESP's WiFi interface)
instead of IP addresses. It is a very bizarre and hacky way of building a
mesh and that is part of the reason we've avoided it. Not to say cool
things couldn't be done with it. If we revisit gardenmesh, I would
consider rewriting it in Arduino and use painlessMesh.
Thanks for the thoughts,
-grant