mirror of
https://github.com/alexandrebobkov/ESP-Nodes.git
synced 2025-08-08 03:22:21 +00:00
70 lines
2.8 KiB
Markdown
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/)
|