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: 4 days 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 (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-11-13T11:37:20.000Z (about 1 month ago)
- Last Synced: 2024-12-16T06:03:01.836Z (11 days ago)
- Topics: c, coap, device-management, embedded, iot, lwm2m, lwm2m-client, monitoring, notifications
- Language: C
- Size: 7.46 MB
- Stars: 191
- Watchers: 29
- Forks: 70
- Open Issues: 8
-
Metadata Files:
- Readme: README.Windows.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
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`