|
|
# 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). |