{"id":13341736,"url":"https://github.com/namib-project/wot-nodes","last_synced_at":"2026-04-24T12:08:21.531Z","repository":{"id":42464233,"uuid":"372523326","full_name":"namib-project/wot-nodes","owner":"namib-project","description":"RIOT OS applications providing Web of Things Thing Descriptions (WoT TD) and Manufacturer Usage Descriptions (MUD).","archived":false,"fork":false,"pushed_at":"2022-11-17T16:15:49.000Z","size":118,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-04T13:09:00.432Z","etag":null,"topics":["coap","esp32","riot","riot-os","web-of-things","wot"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/namib-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.LGPL-2.1","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-31T13:52:37.000Z","updated_at":"2021-10-21T21:12:11.000Z","dependencies_parsed_at":"2023-01-22T23:45:47.768Z","dependency_job_id":null,"html_url":"https://github.com/namib-project/wot-nodes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/namib-project/wot-nodes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namib-project%2Fwot-nodes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namib-project%2Fwot-nodes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namib-project%2Fwot-nodes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namib-project%2Fwot-nodes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/namib-project","download_url":"https://codeload.github.com/namib-project/wot-nodes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namib-project%2Fwot-nodes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32222572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["coap","esp32","riot","riot-os","web-of-things","wot"],"created_at":"2024-07-29T19:25:43.701Z","updated_at":"2026-04-24T12:08:21.515Z","avatar_url":"https://github.com/namib-project.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/namib-project/wot-nodes/actions/workflows/build.yml/badge.svg)](https://github.com/namib-project/wot-nodes/actions/workflows/build.yml)\n\n# NAMIB MUD and WoT Nodes\n\nThis repository contains RIOT applications which both support the Manufacturer Usage Description (MUD, RFC 8520) and the Web of Things Thing Description (WoT TD).\nThey are designed to be used with ESP32 boards from Espressif but can be easily adapted to other boards supported by RIOT.\nThe applications (an LED controller and a modular sensor node) were developed as part of the bachelor computer science project NAMIB, which is based at the University of Bremen, Germany.\n\nTo realize MUD Support, the nodes use DHCPv6 and include the MUD option that is specified in RFC 8520 in request, renew, and rebind messages.\nTo realize support for the WoT Thing Description, so called Thing Models (TMs) and additional information can be specified during compile time which are then transformed into the needed data structures to create a TD dynamically at runtime.\nA decive's TD can be retrieved using CoAP by either sending a GET request to `/.well-known/wot-thing-description` or by quering `/.well-known/core` and extracting the link which points to the TD resource by its content or resource type.\n\n## Setup\n\nThe repository contains scripts that can be used to set up the ESP toolchain, install the needed dependencies, and flashing an application to an ESP32.\nOn Ubuntu or other systems that support `apt` the `install_dependencies.sh` script in the folder `installer_scripts` can be used to install all of the needed packages (as root).\nThe ESP toolchain from espressif can be installed in the `home` directory by using the `install_esp_toolchain.sh` script provided in the same directory.\nThis second script should not be executed as root.\nHowever, both scripts need to be declared executable by using `sudo chmod +x`.\nFinally, as the actual basis on which the applications will run the RIOT OS submodule has to be retrieved by using `git submodule update --init --recursive`.\n\nAfter installing the needed dependencies, the applications can be compiled by navigating into their respective directory in a terminal and executing `../compile_esp_app.sh`.\nFor compiling and flashing the appplication onto an ESP32 you can run the script with the argument `flash`, i. e. `../compile_esp_app.sh \"flash\"`.\nAn arbitrary number of options like the USB port that should be used for flashing can be specified in the second argument, e. g. `../compile_esp_app.sh \"flash\" \"PORT=/dev/ttyUSB1\"`.\n\n## License\n\nThis work is dual-licensed under LGPL 2.1 and MIT.\nYou can choose between one of them if you use this work.\n\n`SPDX-License-Identifier: LGPL-2.1 OR MIT`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamib-project%2Fwot-nodes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamib-project%2Fwot-nodes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamib-project%2Fwot-nodes/lists"}