{"id":37185158,"url":"https://github.com/yplam/lwm2m","last_synced_at":"2026-01-14T21:24:59.612Z","repository":{"id":57622329,"uuid":"341157555","full_name":"yplam/lwm2m","owner":"yplam","description":"A simple and lightweight lwm2m server aim to run on edge router.","archived":false,"fork":false,"pushed_at":"2023-06-30T09:58:56.000Z","size":801,"stargazers_count":18,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-06-20T00:42:45.968Z","etag":null,"topics":["go","golang","lwm2m"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yplam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-22T10:11:56.000Z","updated_at":"2024-06-12T00:10:03.000Z","dependencies_parsed_at":"2024-06-20T00:24:45.923Z","dependency_job_id":"fcb0dd6e-1c15-436c-a55e-24dc9c251750","html_url":"https://github.com/yplam/lwm2m","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yplam/lwm2m","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yplam%2Flwm2m","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yplam%2Flwm2m/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yplam%2Flwm2m/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yplam%2Flwm2m/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yplam","download_url":"https://codeload.github.com/yplam/lwm2m/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yplam%2Flwm2m/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","lwm2m"],"created_at":"2026-01-14T21:24:58.830Z","updated_at":"2026-01-14T21:24:59.584Z","avatar_url":"https://github.com/yplam.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lwm2m\n\n![build](https://github.com/yplam/lwm2m/actions/workflows/go.yml/badge.svg) ![Go Report Card](https://goreportcard.com/badge/github.com/yplam/lwm2m)\n\nA simple and lightweight ( but not full feature ) lwm2m server aim to run on edge router.\n\n## Features\n\n- [ ] Bootstrap Interface\n- [x] Client Registration interface.\n  * [x] Register\n  * [x] Update\n  * [x] Deregister\n- [ ] Device Management and Service Enablement interface.\n  * [x] Read Operation, Read Resource, Read Object\n  * [x] Write Operation, Write Resource, Write Object Instance\n  * [x] Execute Operation\n  * [x] Discover Operation\n  * [x] Create Operation\n  * [x] Delete Operation\n  * [ ] Write-Attributes Operation\n  * [ ] Read-Composite Operation\n  * [ ] Write-Composite Operation\n- [x] Information Reporting interface.\n  * [x] Observe Operation, Observe Resource, Observe Object\n  * [x] Cancel Observation Operation\n  * [ ] Observe-Composite Operation\n  * [ ] Cancel Observation-Composite Operation\n  * [ ] Send Operation\n- [ ] Data formats\n  * [ ] Plain Text\n  * [ ] Opaque\n  * [ ] CBOR \n  * [x] TLV\n  * [ ] SenML JSON\n  * [ ] SenML CBOR\n  * [ ] LwM2M JSON\n- [ ] Security\n  * [ ] DTLS with Certificates\n  * [x] DTLS with PSK, only support DTLS 1.2\n- [x] Transport\n  * [x] UDP transport support.\n  * [ ] TCP transport support.(Some features may not work properly)\n- [ ] Tested with clients\n  * [x] Leshan client: coap, coaps + psk\n  * [x] Anjay client running on ESP32: coap\n  * [x] Anjay client running on Linux: coap, coaps + psk\n  * [x] Zephyr LWM2M client running on nrf52840 with w5500 ethernet: coap, coaps + psk\n  * [ ] Zephyr LWM2M client running on nrf52840 with Openthread\n\n## Installation\n\nYou need a working Go environment.\n\n```\ngo get github.com/yplam/lwm2m\n```\n\n## Getting Started\n\n```go\npackage main\n\nimport (\n  \"github.com/yplam/lwm2m/core\"\n  \"github.com/yplam/lwm2m/registration\"\n  \"github.com/yplam/lwm2m/server\"\n  \"log\"\n)\n\nfunc main() {\n  r := server.DefaultRouter()\n  deviceManager := core.DefaultManager()\n  registration.EnableHandler(r, deviceManager)\n  err := server.ListenAndServe(r,\n    server.EnableUDPListener(\"udp\", \":5683\"),\n  )\n  if err != nil {\n    log.Printf(\"serve lwm2m with err: %v\", err)\n  }\n}\n\n```\n\n## Test Commands\n\nleshan client\n\n```shell\n# coap \njava -jar leshan-client-demo.jar --server-url=localhost:5683\n\n# coaps\njava -jar leshan-client-demo.jar --server-url=localhost:5684 -i 123 --psk-key=000102030405060708090a0b0c0d0e0f\n```\nanjay client\n```shell\n# coap\n./output/bin/demo --endpoint-name $(hostname) --server-uri coap://127.0.0.1:5683\n\n# coap + tcp\n./output/bin/demo --endpoint-name $(hostname) --server-uri coap+tcp://127.0.0.1:5685\n\n# coaps\n./output/bin/demo --endpoint-name $(hostname) --server-uri coaps://127.0.0.1:5684 --security-mode psk --identity 666f6f --key 000102030405060708090a0b0c0d0e0f --ciphersuites 49320 --tls-version TLSv1.2\n```\n\n## License\n\nApache License Version 2.0. See the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyplam%2Flwm2m","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyplam%2Flwm2m","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyplam%2Flwm2m/lists"}