This provides a full-function EasyNet Control Console for sending and receiving UDP messages, optionally with history, and a Retry Queue monitor window for testing EasyNet interactive handshaking, including ACKnowledgements and Retries and Time2Live timeouts etc. In short, it offers convenient development and testing of EasyNet nodes. And in the same way that a multimeter is just a tool for doing a job, the EasyNet UDP Console is mainly just an interactive networking tool. It can be used just as a browser-based UDP Console if wished (handy for eg: linux systems where the Annex Toolkit exe may not be available), but there is also a lighter UDP Console offered which may be more suitable. . A companion project Using EasyNet shows how it can be used, and demonstrates Annex interactions on my live real-world system. Another companion project called Using Routers explains how anyone can easily build a network that is best suited to their needs.A flashing tri-state LED indicator was added to show relay status plus at-a-glance indication of device connection and activity. A simple UDP Transmit textbox$ could suffice for sending a UDP message to control the other devices relay without handshaking. But one of the main goals of EasyNet was to offer optional queued transmit Retries of unACKnowledged important messages. Such interactive handshaking needs transmit (TX) and receive (RX) history windows, plus ability to monitor the Retry Queue status. These abilities all require accumulating longish texts in text variables, which can quickly eat up available memory, So an optional development aid was added for monitoring
Ramfree - a preset memory threshold allows the free RAM value to be shown in green if above the threshold, but
changes to red whenever free RAM drops below the threshold level. It quickly showed up a very surprising Sonoff anomaly which could have consequences, and which otherwise may gone unnoticed.Such unnecessary 'frills' might seem wasteful ... but if you don't try pushing the limits, you won't know where the limits are. I mainly use Sonoff S20's for connecting the supply of important devices which might require remote reboot, such as routers. So I had reflashed two Sonoff 1Mb S20's with the same Annex 1.41 beta 7, and pasted the identical EasyNet UDP Console script to both, running them in identical conditions... but they consistently showed about 3Kb or more difference in their available RAMfree. The difference was also apparent in their reliability, because the one with less RAMfree failed with a memory error before the other. Which raises an issue about Sonoff 1Mb flash memory...because although my two S20's have different revisions of PCB and circuit layouts, I would expect 1Mb
to be 1Mb... but it is evident that not all Sonoff 1Mb's are the same. Which raises some points... This is just a tool for development and testing of network interactions, which is knowingly pushing the limits of a 1Mb Sonoff, and it will inevitably hang if left connected. If as a Even squeezing so much into a 1Mb Sonoff is ok... until the text variables start growing and eating up the available memory But this is only a test & development script which is specifically intended to show potential problems, so that's actually great. |