mongoose/tutorials
2025-06-06 18:26:27 -03:00
..
arduino fix Arduino tests 2025-03-04 16:20:18 -03:00
core bring mg_strdup() back 2024-05-31 17:45:53 -03:00
http Unbreak MbedTLS (#3148), rollback debugging leftovers 2025-06-04 09:05:27 -03:00
infineon keep up with Wizard dir structure 2025-03-12 17:08:36 -03:00
micropython move MicroPython and dashboards -> tutorials 2025-02-26 11:31:01 -03:00
mqtt set is_tls at mg_listen and mg_connect level 2025-05-26 09:42:48 -03:00
nxp Add Wi-Fi example for RW-612 2025-06-06 18:26:27 -03:00
pico-sdk Add support for RM2 with STM32F (429, 746) 2025-04-11 09:20:40 -03:00
renesas/ek-ra6m4-make-baremetal-builtin move vendors -> tutorials 2025-02-28 10:01:51 -03:00
smtp fix built-in TLS not calling MG_EV_TLS_HS; uniformize mg_tls_init() 2025-01-27 10:54:56 -03:00
stm32 fix duplicates 2025-05-30 10:03:01 -03:00
tcp set is_tls at mg_listen and mg_connect level 2025-05-26 09:42:48 -03:00
tcpip Unbreak MbedTLS (#3148), rollback debugging leftovers 2025-06-04 09:05:27 -03:00
ti keep up with Wizard dir structure 2025-03-12 17:08:36 -03:00
tls start moving to new skeleton 2024-04-24 11:57:53 -03:00
udp check null pointer 2025-05-07 08:40:07 -04:00
wch/ch32v307-make-baremetal-builtin move vendors -> tutorials 2025-02-28 10:01:51 -03:00
websocket set is_tls at mg_listen and mg_connect level 2025-05-26 09:42:48 -03:00
webui move to new skeleton 2024-04-29 13:45:20 -03:00
zephyr set is_tls at mg_listen and mg_connect level 2025-05-26 09:42:48 -03:00
device-dashboard move MicroPython and dashboards -> tutorials 2025-02-26 11:31:01 -03:00
README.md move examples -> tutorials 2025-02-28 13:55:57 -03:00

Mongoose Network Library tutorials and example code

The fastest way to quickly get Mongoose running on your hardware is to follow our Tutorials:

  • Browse for your desired protocol and function, read the tutorial
  • For embedded hardware specifics, browse to your desired board, or the closest one. You'll find links to different IDE, RTOS, and TCP/IP stack options, and a link to our Wizard, a tool that generates UI code for you.

Navigating this tree

Steps to get the most out of this code base:

  • Most code here has a README.md file that points to a verbose tutorial describing how to get the intended functionality out of Mongoose Network Library. Code there runs as is in Windows, Ubuntu Linux, and Mac (very few cases don't run in Windows).
    • Navigate your way to the desired protocol or function, read the README.md file
    • Follow the linked tutorial
    • In cases were there is no tutorial:
      • Follow the Build Tools tutorial to setup your development environment.
      • run make all
  • Embedded hardware tutorials are conveniently linked from OS tutorials, or grouped by vendor and board.
    • Navigate your way to the desired board or the closest one, read the README.md file. In most cases you'll find a link to our Wizard; for others, there is a link to a Tutorial, as described at the top of this text. The Wizard will also link you to the tutorials you'll need.
    • In cases were there you don't find a link to a tutorial:
      • Follow the Build Tools tutorial to setup your development environment.
      • run make build
  • Once you have a running example close to your needs, you can start developing your application

Contributing

Rules for creating a new example:

  • Makefile golden reference for desktop/server examples: http-server
  • Makefile golden reference for embedded examples: stm32/nucleo-f746zg-baremetal-builtin-rndis
  • Examples must build on Windows, Mac and Ubuntu Linux systems
  • Assume that users installed their tools according to the Build Tools tutorial
  • Makefiles must not include other Makefiles
  • Use CFLAGS for system-specific compilation options
  • Use CFLAGS_MONGOOSE for Mongoose-specific compilation options
  • Use $(CFLAGS) $(CFLAGS_MONGOOSE) $(CFLAGS_EXTRA) to compile
  • If an external repository is required, download it on demand using git shallow clone. See the embedded examples golden reference
  • Keep Makefiles as short as possible, but verbose to understand them easily
  • Symlink files when required, like mongoose.c, ca.pem, etc. Make no copies
  • Examples README.md files should contain only the title and the link to the corresponding mongoose.ws tutorial page