add wiki pages authored by Thierry's avatar Thierry
# Introduction
LOM2M is a message oriented middleware implementing the oneM2M standard and its REST API. The aim of the platform is to be used as a gateway in an IoT solution deployment. (MN or ASN in oneM2M terminology)
Have a look to LOM2M [technical sheet](uploads/1c68a72e2a18adb196200f3676d3d5fe/LOM2M.pdf).
Most of the acronyms used in this wiki are oneM2M acronyms. To refer to those acronyms cf. oneM2M technical specifications.
Some of them are defined again here:
| Acronym | Definition |
| ------ | ------ |
| IoT | Internet of Things |
| CSE | Common Service Entity |
| IN | Infrastructure Node |
| MN | Middle Node |
**Default configuration**:
| Config | Value |
| ------ | ------ |
| HTTP port | `8282` |
| Originator AE Admin | `admin:admin` |
| Remote CSE ID | `in-cse` |
| Remote CSE Name | `in-name` |
| Remote CSE port | `8080` |
| cse-id | `mn-cse-<MAC:ADDRESS>` or `mn-cse-DEBA7AB1E042` (UNIX) |
| cse-name | `mn-<MAC:ADDRESS>` or `mn-DEBA7AB1E042` (UNIX) |
(These values can be changed at build time or dynamically on UNIX targets)
# Target deployment
The typical target deployment is a power constrained gateway (microcontroller).
Here are some example of memory usage regarding the target:
**MCU ESP8266**:
- ~500KB (sketch)
- ~50KB RAM
**UNIX based systems**:
- at least 5MB storage (executable size)
- at least 3MB RAM
**DOCKER container**:
- at least ~10MB for compressed image (precompiled)
LOM2M Dockerfile is based on alpine to run the compiled executable.
(These sizes may vary regarding to the enabled features)
# Resources
## Global Resources
- [Install & Launch](LOM2M/Install, configure and launch)
- [Features & Capabilities](LOM2M/Features and capabilities)
- [Global behavior](LOM2M/LOM2M-Global-behavior)
- [Documents: Software Design Document, test reports, etc.](LOM2M/project-documents)
## Specific feature documentation
- [Integration with AWS IoT Core device management & provisionning](LOM2M/AWS IoT Core Device provisionning)
- [MQTTS binding](LOM2M/Features-and-capabilities/MQTT-Binding)
Node-RED nodes:
- [Node-RED documentation](LOM2M/Node-RED)
AI works:
- [NVIDIA Jetson Nano DK & GPU](LOM2M/Nvidia Jetson Nano Developer Kit & GPU)
## Gitlab configuration, Continuous Integration (CI)
A continuous integration is enabled on the project.
It is configured to trigger different tasks regarding commits, merge requests, etc.
For more details about this configuration, cf.:
- [Gitlab configuration CI/CD](LOM2M/Gitlab configuration and CI-CD)
## Other information
### Details around LOM2M project
- [External librairies and licenses](LOM2M/Librairies & licenses)
- [ESP8266 Documentation](https://arduino-esp8266.readthedocs.io/en/latest/index.html)
### References to oneM2M specifications
- TS 0001: [oneM2M Architecture](https://onem2m.org/images/files/deliverables/Release3/TS-0001-Functional_Architecture-V3_15_1.pdf)
- TS 0004: [oneM2M Protocol](https://onem2m.org/images/files/deliverables/Release3/TS-0004_Service_Layer_Core_Protocol_V3_11_2.zip)
[Full specifications](https://onem2m.org/technical/partner-transpositions).