Hello Kelly,
This is an interesting task. I can offer a suggestion on the HTTP Client side of your project.
You can use the Mongoose Networking Library. It's a lightweight library designed for embedded systems, with support for many networking protocols, and is a good fit here because it provides both a simple HTTP client and a built-in JSON parser. This means you don't need to add a separate library just to handle the retrieved objects. Mongoose is well-documented here and has a clean, non-blocking API.
You can use the following resources as a starting point:
- a tutorial showcasing a basic HTTP client
- to give you a working foundation on your specific hardware, here is a complete CubeIDE project for your STM32H573I-DK board running a simple webserver. This is the quickest way to integrate Mongoose with the Ethernet hardware setup to work properly on Cube. Once this base project is running, you can easily adapt it into an HTTP client using the logic from the tutorial above.
As for your other requirements, you can use the standard STM32 HAL functions for the SD card and LCD, and integrate those calls into the Mongoose project.
Heads up: I am part of the Mongoose development team. Hope this helps you get started.