Micronet is a C99 LAN messaging library for embedded nodes and desktop diagnostics.
LAN mode is the default:
- no DNS required
- no cloud required
- no public IP required
- no port forwarding required
- no STUN required
STUN support, if used, is explicit and experimental.
include/public APIsrc/C implementationhal/platform adapterstests/unit testsexamples/ESP32, Arduino, and desktop examplesdocs/technical notes
cmake -S . -B build -DP2P_BUILD_TESTS=ON
cmake --build build --config Debug
ctest --test-dir build -C Debug --output-on-failureFor single-config generators:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DP2P_BUILD_TESTS=ON
cmake --build build
ctest --test-dir build --output-on-failure- Read Quick Start for a first build and first node bring-up.
- Read API Reference for the public entry points.
- Read Cookbook for common patterns and example flows.
- Pick an example from
examples/orarduino/micronet/examples/and configure its local overrides.
The main entry points are declared in include/micronet.h.
- lifecycle:
mnet_init,mnet_tick,mnet_get_node_id,mnet_deinit - peers:
mnet_peer_add_ip,mnet_peer_remove,mnet_peer_list - groups:
mnet_group_create,mnet_group_join,mnet_group_leave,mnet_peer_join_group,mnet_peer_leave_group - data:
mnet_publish,mnet_update,mnet_request,mnet_subscribe,mnet_query,mnet_get_metrics - custom traffic:
mnet_send_custom,mnet_send_group_custom,mnet_broadcast_custom,mnet_register_handler
Please open an issue first for large changes, protocol changes, or behavior changes that affect interoperability.
- Report bugs and regressions in Issues
- Keep pull requests focused and test-backed
- Run the relevant build and test targets before asking for review
Tagged releases are created from the release.yml workflow when a tag like v1.0.0 is pushed.