I'm making a device that monitors and logs if my kids have done their chores and daily tasks. If not their devices won't have access to the internet.
The idea is simple. Every 3 hours the internet for the devices of my kids will get cut off. For them to reconnect they need to use this device where they will be reminded of their individual tasks and chores. They need to complete them first before marking them as complete. When all tasks are done their internet will automatically get reconnected.
The tasks that are mark completed will automatically get logged and sent to my control panel. I can double check if they really did do them. From here I can also change the settings and schedule tasks.
As an added bonus, I'll throw in some trivia questions that they need to answer correctly. Haha
Note: I love my kids and they do do their chores. However, sometimes they forget. This is my automated solution so they are reminded so I don't have to.
I have started integration of my script that handles the actual locking down of the internet to the control panel of my device. I've had this script way before and I am just modifying the code so it can be triggered from the hardware. Just a bit more and I'm almost done with the software part.
I have improved the client server code communications as the previous iteration was unreliable.Now, instead of both being connected all the time, the server just waits for the client to connect. There are now also timeouts which are handled at both ends.I am actually not sure if what I did is correct. Socket communcations are new to me. It works reliably though.
It took some time to wrap my head around how to structure my program for back and forth serial communication between my device and my control panel Python script. I'm mostly used to using high level packages that does these kinds of things for me but for this ptlroject I really forced myself to try abd be as low level as possible without relying too much on external libraries. It's mostly for the sake of learning.It's working now. Now the device can request for updated versions of the task list. This way I can edit the task lists from my computer and the device will automatically retrieve them.
The different functionalities I have in mind for the project have already been coded and tested in different shapes and form. I did this because I wanted to see first if what I wanted to do was feasible. Luckily, they are.
What I have so far:
Can now connect to local network WiFi
Can now display text on the ST7735 LCD screen
Can now communicate and send commands to and from the Python script control panel running on my computer(This script handles the integration with my router. I'm using my net parental control script to do this.)
Can now accept button inputs using my tried and tested resistor ladder circuit