[DisasterRadio] Using ESP32 WiFi mesh as local 'backbone' of preference?

G Gallo ggallo102 at gmail.com
Wed Jan 3 16:19:53 PST 2018


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.

We did play around with WiFi meshing on the ESP8266 here,
https://github.com/sudomesh/disaster-ping-pong, which was intended to be
part of the garden mesh project, https://github.com/sudomesh/gardenmesh/.
Essentially, it would have been a reimplementation of BlackEdder's
painlessMesh written in Lua for the nodeMCU firmware.

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

On Tue, Jan 2, 2018 at 2:22 PM, <samuk at disroot.org> wrote:

> So thinking about the limitations of mesh networks in general, and
> wondering how your LoRa network would scale.
>
> I'm guessing that in common with WiFi mesh reducing the traffic would
> help, particularly if you ended up with a fairly high node density and a
> well-used & congested network.
>
> So I was wondering if it would be possible to pass off local traffic to a
> WiFi mesh? (Run on the same hardware) So if I want to communicate with my
> neighbour two streets away it goes over WiFi, if it's someone on the other
> side of town it would go over LoRa?
>
> In this implementation: https://gitlab.com/BlackEdder/
> painlessMesh/wikis/home
> "painlessMesh does not create a TCP/IP network of nodes. Rather each of
> the nodes is uniquely identified by its 32bit chipId which is retrieved
> from the esp8266/esp32 using the system_get_chip_id() call in the SDK.
> Every node will have a unique number.  Messages can either be broadcast to
> all of the nodes on the mesh, or sent specifically to an individual node
> which is identified by its `nodeId."
>
> So could the node could look in its list of connections:
> https://gitlab.com/BlackEdder/painlessMesh/wikis/home
>
> If it has a route over WiFi then send the packet that way, if there is no
> route over WiFi (Or it's more than X hops away) then broadcast it over the
> LoRa interface instead.
>
> I'm guessing this long range mode is incompatible with the 'Painless mesh'
> but it could be interesting to look at that too.
> https://blog.honzamrazek.cz/2017/08/testing-the-wifi-range-of-esp32/
>
>
> I guess using wifi & LoRa would have power implications?
>
> Thanks
>
> Sam
> _______________________________________________
> DisasterRadio mailing list
> DisasterRadio at lists.sudoroom.org
> https://sudoroom.org/lists/listinfo/disasterradio
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sudoroom.org/pipermail/disasterradio/attachments/20180103/9f8a0fbf/attachment.html>


More information about the DisasterRadio mailing list