Nothing is ever easy. I spent about 3 hours setting all of this up (not to mention the several hours of prep work to get it all ready) to test 8 nodes in a square formation with test points at 1m intervals:
It turns out there are a few issues:
- The length of the cables don't allow some of the Nodes to pull enough current (the voltage is fine), causing them to reset constantly.
- Since the Nodes are connected to a common power supply (I used 2 batteries, one for each side), they all turn on at the same time and effectively start transmitting their beacons at the same time, causing a bunch of collisions (this isn't so much of a problem with frequency shifting, but I will add in some startup randomness).
- Changing the channel on startup doesn't work straight away, so it starts with the default channel. I need a longer delay.
- I was relying on the status LEDs to make sure they were programmed correctly. The status LEDs indicate issues with the ESP module and the like. Some of these Nodes appeared to be working, when they in fact weren't (more thorough testing required for each Node).
- Each Node has the same MAC address by default, I will need to change the firmware to adjust the MAC address based on position parameters and ID. This isn't a major issue, except that some SSID viewing software sorts/replaces based on MAC address (this doesn't affect the Android API).
So back to development... At least I got a neat animated gif: