This project is to give me a sandbox platform for developing/experimenting with mesh networking. In particular, the goal is to end up with an uber-cheap, rapidly self-healing, zero-configuration mesh network that is intended to operate in spatially dense physical setting.
In a discussion with some folks on an unrelated topic, I had a stray thought regarding enabling the project with networking capability. Because that project was intended to be a semi-disposable semi-novelty item, I wanted it to be:
- uber cheap
- requiring zero configuration
- able to function effectively with a large number of nodes in close physical proximity. 'Large' equals around 10k min, I think. 'Close' means around 1000 units in a 10x10x10 volume, I think.
- be able to self-organize effectively when the physical relationships between the nodes were frequently and perhaps rapidly changing
I have long been enthusiastic about mesh networking, and years ago had considered designing in some ZigBee modules. It was as IIoT project for a commercial client, so the cost of the ZigBee modules was not much of an issue. It used GSM networking to the Internet, but I was hoping to have the site specific networking to be done via mesh, and just have one device effectively be the 'gateway' for the entire site. In the end, the client didn't care if every node has a GSM modem in it, so we didn't go the ZigBee route, and now I have a little sack of ZigBees waiting for the day they will swarm forth again. But today will not be that day. They're too expensive, and I think they are more intended for ad-hoc networks of semi-stationary nodes.
My first idea was to do InfraRed, but I quickly withdrew from that thinking because I suspected that line-of-site will be a bit awkward to maintain in a rapidly moving environment. So my thoughts then turned to radio. There are some stunningly inexpensive radio modules out there, and I thought I remembered I had a sack of Nordic nRF24L01 modules that I had never used. Those cost USD $1 each, so definitely fit in with the cost objective. If I can use them. But that's my first hypothesis.
Like any project, it behooves one to do some research first. If this has already been done, then why don't I avail myself to that existing work, instead of re-inventing (and quite possibly poorly) the same functional thing. I have a feeling there are a cornucopia of mesh networking projects out there, and maybe even many for the nRF42L01 specifically, since it is such a popular module.
Another task is deciding whether and when to publish the project. In some ways, I'd rather do the feasibility study off-line first. If the project just winds up finding something that already exists, then that's the end of the project, and there's not much to report. On the other hand, if I don't start creating logs immediately, then I'll lose some history and the project documentation will have a sterile, pre-fabricated feel to it, as if it was first born into complete and correct implementation, which as we know projects to not actually evolve that way. At least not interesting ones.
Another vitally critical task to which one must immediately attend is to come up with a project name -- ideally with a corny pun. Because this notional mesh network is intended to be used in a potentially densely populated and changing physical arrangement, this evoked in my mind a 'mosh pit' at a concert. So it was definitely going to be 'mosh networking'. Because one pun is not enough, I punned 'nyetworking', because... Well, I don't really know why other than that I was craving a pun. Maybe I'll wind up jinxing myself with that one, but I suppose I can change it later. So, it is hereby dubbed 'Mosh Nyetworking' until such time as I grow weary of it.
The next most vitally critical task is to have a nifty graphic for the project. I am not graphically inclined, and so I usually just use a stock photo of some representative component. But there isn't really anything of that sort here, so I'm going to annoy a friend to make something for me. There will be much eye-rolling, but I think I can persuade. Maybe beer will help. Maybe beer will help before I ask!
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.