Files
ESP-Nodes/ESP-Mongoose_UI/README.md
2025-03-30 02:37:21 -04:00

70 lines
2.8 KiB
Markdown

# Mongoose Wizard Project
This project is generated by Mongoose Wizard, https://mongoose.ws/wizard/
## Build and flash
### If your target IDE is GCC+Make
**Option 1. Build and flash online**
a) Click on the "build" button, wait for the compiler to finish.
b) Click on the "flash" button; or, click on the "bin" button to download to your workstation
**Option 2. Download generated project to your workstation**
a) Click on the "sync" or ".zip" button to download the project to your workstation
b) Setup your build environment: https://mongoose.ws/documentation/tutorials/tools/
c) Open a terminal/command prompt, go to the destination directory, and type `make`
### Other target IDEs
**Step 1. Download generated project to your workstation**
Click on the "sync" or ".zip" button to download the project to your workstation
**Step 2. Build and run the project**
If your target IDE is CubeIDE, then start Cube IDE (use Cube 1.16.0 or later), then:
a) Choose File / Import
b) Choose "Existing Projects into Workspace", click Next,
c) Click on "Directory", choose dir with generated files, click Finish
If your target IDE is MCUXpresso, follow instructions for Cube IDE above
If your target IDE is Arduino, open `wizard.ino` in the Arduino IDE
If your target IDE is other - follow your IDE's guide
## Copying functionality to an existing firmware
In order to move this functionality to some existing firmware code, copy only
the following ("purple") files:
- mongoose.{c,h} - This is Mongoose Library, a full TCP/IP + TLS stack
- mongoose_config.h - (only if present). Mongoose settings file
- mongoose_fs.c - Embedded filesystem. Contains Web UI files and TLS certs
- mongoose_impl.c - Generated network functionality
- mongoose_glue.{c,h} - A "glue", or "binding" functions for your code
Note, the only file you should edit to integrate with your code, is
`mongoose_glue.c`. That file "glues" your firmware with the networking
functionality generated by the Mongoose Wizard. It contains functions that
return device data. Generated functions use "fake" mock data; you need to
edit those functions and return "real" device data.
Once you copy these files, add the following snippet somewhere in your code:
```c
#include "mongoose_glue.h"
...
run_mongoose(); // This function blocks forever. Call it at the end of main(),
// or in a separate RTOS task. Give that task 8k stack space.
```
For Ethernet hardware details, check [this tutorial](https://mongoose.ws/documentation/tutorials/hardware/)
## OTA firmware update
This feature uses binary images
- [Tutorial](https://mongoose.ws/documentation/tutorials/firmware-update/)
## Documentation and Tutorials
- [Tutorials](https://mongoose.ws/documentation/#tutorials)
- [Mongoose User Guide](https://mongoose.ws/documentation/)