GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - aethernetio/aether-client-cpp: Æthernet C++ SDK for secure, low-latency IoT messaging over unstable networks. Supports ESP32, ESP-IDF, PlatformIO, CMake, LTE-M, NB-IoT and LoRa

BranchesTags
Open more actions menu

Latest commit

 

History

2,030 Commits
2,030 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
aether
aether
 
 
cmake
cmake
 
 
config
config
 
 
examples
examples
 
 
projects
projects
 
 
scripts
scripts
 
 
tests
tests
 
 
third_party
third_party
 
 
toolchain
toolchain
 
 
tools
tools
 
 
.clang-format
.clang-format
 
 
.clang-tidy
.clang-tidy
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CPPLINT.cfg
CPPLINT.cfg
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
cppcheck_suppressions.txt
cppcheck_suppressions.txt
 
 
library.json
library.json
 
 
library.properties
library.properties
 
 

Repository files navigation

Æthernet C++ SDK

The Æthernet C++ SDK connects embedded devices and native applications to Æthernet, a managed connectivity layer for secure real-time messaging over unstable or bandwidth-constrained networks.

It supports C++20 builds on Linux, macOS, Windows, and ESP32/ESP-IDF. Dependencies are resolved by CMake through CPM.cmake.

Documentation · Tutorials · Examples

Why Æthernet

  • handshake-free application requests with authentication and encryption data carried per request;
  • automatic endpoint recovery when responses are delayed;
  • self-provisioning for unattended devices;
  • request-response and fire-and-forget messaging;
  • compact binary protocol and specialized types for constrained devices;
  • support for Wi-Fi and cellular IoT deployments, including NB-IoT and LTE-M integrations.

Requirements

  • CMake 3.16 or newer;
  • a C++20 compiler;
  • Git, used by CPM.cmake to retrieve dependencies;
  • platform networking dependencies.

The first configure can take longer because CMake downloads and patches the required third-party libraries.

Build the SDK and included examples

git clone https://github.com/aethernetio/aether-client-cpp.git
cd aether-client-cpp

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel

The root build enables tools, examples, and tests by default. To build only the library:

cmake -S . -B build \
  -DCMAKE_BUILD_TYPE=Release \
  -DAE_BUILD_TOOLS=OFF \
  -DAE_BUILD_EXAMPLES=OFF \
  -DAE_BUILD_TESTS=OFF
cmake --build build --parallel

Add it to another CMake project

CPM.cmake is the dependency mechanism currently used by the SDK:

CPMAddPackage(
  NAME aether
  GITHUB_REPOSITORY aethernetio/aether-client-cpp
  GIT_TAG main
)

target_link_libraries(your_target PRIVATE aether)

For production builds, pin GIT_TAG to a reviewed commit SHA until versioned releases are available.

Important build options

Option Default for a root build Purpose
AE_BUILD_EXAMPLES ON Build bundled examples
AE_BUILD_TESTS ON Build tests
AE_BUILD_TOOLS ON Build SDK tools
AE_DISTILLATION ON Enable distillation build mode
AE_FILTRATION OFF Enable filtration mode
USER_CONFIG empty Path to a user configuration header
FS_INIT empty Path to generated saved-state data

ESP32

ESP32 builds use ESP-IDF components for Wi-Fi, networking, NVS, SPIFFS, and UART. For a complete device project, start with the ESP32 examples or the temperature sensor reference project.

Tests

cmake -S . -B build -DAE_BUILD_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure

Maturity

The current project version is 0.1.0. The API and installation process may change before a stable release. Do not use benchmark or performance claims without the corresponding test methodology and raw results.

License

Apache License 2.0. See LICENSE.

About

Æthernet C++ SDK for secure, low-latency IoT messaging over unstable networks. Supports ESP32, ESP-IDF, PlatformIO, CMake, LTE-M, NB-IoT and LoRa

aethernet.io/tutorial.html#c

Topics

aethernetcellular-iotcppembedded-systemsend-to-end-encryptionesp-idfesp32internet-of-thingsiotiot-platformiot-sdkloralow-latencylte-mmqtt-alternativenb-iotplatformioreal-time-communicationsecure-messagingzero-rtt

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

7 stars

Watchers

2 watching

Forks

0 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.