Mantilogs Redesign Testing Phase 1
Welp, I finished the core functionality of the interface and API, it's now in testing.
All the forms I intended and all the endpoints required are implemented and I created a testing release to run on Android, Windows and Web. I would create one for Linux as it is my native OS but the primary tester is using windows and android. If I need a Linux build it would take only a few minutes so I am not worried about it.
Anyway, now all that I need to do for a couple weeks is wait for the bug reports and respond to them. Once I have everything fairly stable I will move on to theming and setting up some way for the application to ping the user to check on things that need doing.
In the meantime, however I have started (finally) the Jake-O-Lantern Lighting System redesign. I had initially planned to upgrade the core node to a Pi Zero 2 W but they are still being scalped for $120, so I will instead be upgrading to one of my extra Pi3 B models.
I will also be completely rebuilding everything from the ground up this time, the old code-base with flask and sqlalchemy was fine but I feel like I can use some more experience with Django, DRF and Godot.
So the core will be our old friend Django with our old enemy DRF on top.
The control Client will be Godot based, I will use it's animation system and a few other built in tools to help me build animations for the lights.
The Nodes that control the lights will probably remain ESP8266, though I will experiment with ESP32s and see if there are any interesting ways I can use their second cores.
I plan to add things like RTC module based animation sync, a calander for setting up scheduled light animations, a more easy to use daily schedule interface, a non-volatile storage system on the nodes to allow them to hold more data and resume from where they left off or catch up to the other nodes via delta from the RTC module. Of course a lot more, but to start out I need to get the foundation laid. This means I need to get a django project started, connect it to a DB, design some models and set up their serializers.
I spent the morning planning, writing out ideas for features and ways I could handle fixing the short-comings of the current version based on notes I took while building the last version and it's use throughout the last 5 or so years. (Wow, that little Pi Zero and them ESP8266s really held out, huh? Not to mention the WS2811s and WS2812s. I never replaced anything the whole time.)
During this project there is another, smaller, but more important project I intend to build that will be monitoring the heat for my geckos and making sure nothing strange happens. I will be adding flame and smoke detection systems as well to the circuit to instantly kill the heating system if anything goes cataclysmic on me.
I will build their whole heating circuit into a main relay that will cut the power if anything is wrong. This system will sound an alarm, send a text and light up big red LEDs if anything is detected to be terribly wrong.
It will also be responsible for logging temperatures around their tanks and informing us to modify anything if need be.
Both of these projects have been a long time coming and will require a certain amount of R&D so the interface updates for mantilogs may be a couple months out from here, but that's fine, I really want to get this tested thoroughly before I start adding more things that could potentially introduce more bugs and obfuscate others.
Anyway, I am going to get lunch and get back to setting up the base Django apps and config.