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:
#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
OTA firmware update
This feature uses binary images