Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AVSystem/Anjay
C implementation of the client-side OMA LwM2M protocol
https://github.com/AVSystem/Anjay
c coap device-management embedded iot lwm2m lwm2m-client monitoring notifications
Last synced: 3 months ago
JSON representation
C implementation of the client-side OMA LwM2M protocol
- Host: GitHub
- URL: https://github.com/AVSystem/Anjay
- Owner: AVSystem
- License: other
- Created: 2017-02-07T12:47:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T12:14:22.000Z (3 months ago)
- Last Synced: 2024-04-12T19:37:02.191Z (3 months ago)
- Topics: c, coap, device-management, embedded, iot, lwm2m, lwm2m-client, monitoring, notifications
- Language: C
- Size: 7.26 MB
- Stars: 183
- Watchers: 31
- Forks: 65
- Open Issues: 6
-
Metadata Files:
- Readme: README.Windows.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Lists
- awesome-iot - Anjay ★ 16 ⧗ 23 - is a C library that aims to be the reference implementation of the OMA Lightweight Machine-to-Machine (LwM2M) device management protocol. (Protocol Library / Others)
- awesome-iot-master - Anjay ★ 16 ⧗ 23 - is a C library that aims to be the reference implementation of the OMA Lightweight Machine-to-Machine (LwM2M) device management protocol. (Protocol Library / Others)
- awesome_iot - Anjay ★ 16 ⧗ 23 - is a C library that aims to be the reference implementation of the OMA Lightweight Machine-to-Machine (LwM2M) device management protocol. (Protocol Library / Others)
- awesome-iot - Anjay ★ 16 ⧗ 23 - is a C library that aims to be the reference implementation of the OMA Lightweight Machine-to-Machine (LwM2M) device management protocol. (Protocol Library / Others)
README
# Anjay on Windows
## Limitations
Anjay is currently not supported or regularly tested (which means that builds may break between releases) on Windows. However, there is preliminary support for building and running on Windows - with some limitations:
- Any degree of testing was only performed on Windows 10; the code is theoretically compatible with Windows Vista and up
- Building using MinGW from MSYS shell is currently the only supported toolchain
- Building as a shared library (DLL) is not currently supported
- IP Ping object is not available in the demo application
- Testing frameworks are not supported
- SMS binding (available as a commercial feature) is not supported## Prerequisites
### Installing dependencies
1. Install [MSYS2](http://www.msys2.org/)
2. Install [Git for Windows](https://gitforwindows.org/)**NOTE:** You can also install these using [Chocolatey](https://chocolatey.org/): `choco install git msys2` but please make sure to still follow the instructions to update MSYS2 after installing it.
3. Open the appropriate MINGW shell (e.g., `C:\msys64\mingw32.exe` or `C:\msys64\mingw64.exe`, depending on whether you want to build 32- or 64-bit binaries) and install the compile-time dependencies:
``` sh
pacman -Sy make ${MINGW_PACKAGE_PREFIX}-gcc ${MINGW_PACKAGE_PREFIX}-cmake ${MINGW_PACKAGE_PREFIX}-mbedtls
```## Cloning the repository
Run the following command in a directory of choice **in the Git for Windows bash environment**:
``` sh
git clone --recurse-submodules https://github.com/AVSystem/Anjay.git
```## Compiling the project
Run the following commands **in the MINGW shell**, after navigating to the directory created using Git above:
``` sh
cmake -G"MSYS Makefiles" -DDTLS_BACKEND="mbedtls" .
make
```## Running the demo application
The demo application can be run from the MINGW shell just like on any other Unix system, e.g.:
```
./output/bin/demo --endpoint-name $(hostname) --server-uri coap://eu.iot.avsystem.cloud:5683
```If you want to run the resulting application outside of the MINGW shell, you will likely need to copy the DLL dependencies, such as:
* `libgcc_s_dw2-1.dll`
* `libmbedcrypto.dll`
* `libmbedtls.dll`
* `libmbedx509.dll`
* `libwinpthread-1.dll`