Skip to content
Ari Keränen edited this page Nov 17, 2019 · 10 revisions

Logistics

When: November 16th (9:00-22:00) and 17th (9:00-16:00), 2019.

Where: IETF venue

Remote participation: https://meet.jit.si/t2trg-wishi-hackathon-ietf106

Notes: https://hackmd.io/@G-qLhvWWQ5i-HVrfquEHWA/BJzJIC3sS/edit

Planned hacking topics: see hackathon planning page

Proto setups

IPSO to OneDM translator

A simple translator that can generate from IPSO/LwM2M model schema files OneDM Simple Description Format (SDF) files. The translator is currently available as a web service where you can POST a LwM2M/IPSO XML schema file and it returns an SDF description (or error if translation failed).

For example:

curl --data-binary "@3308.xml" http://wishi.nomadiclab.com:8083/ipso2odm

(assuming you have the 3308.xml schema file in your current directory)

Code available in Github.

YOUPI

YOUPI is a way to add information to a yang model in order to be able to parse binary information and to convert it to another type like JSON or CBOR. It is possible to add semantic information as well, so that JSON-LD is generated.

Decoding binary payload

To play with this, you can see the example.json file which contains base64 encoded binary data and base64 encoded yang model. Please refer to device.yang for yang file example.

Example invocation for decompression:

curl -u ietf:t2trg --basic https://youpi-demo.acklio.app:8443/process -d @./examples/youpi/example.json

Encoding

Use encode-example.json, which contains base64 encoded simple-encode.yang to try the example.

curl -u ietf:t2trg --basic https://youpi-demo.acklio.app:8443/encode -d @/tmp/encode-example.json

Latest version of the draft. It is still a bit new, but anyone interested in the idea can contribute there by creating issue or proposing changes.

Common resources

Tiny Thing Directory

TD implementation based on Node-WoT:

http://wishi.nomadiclab.com:8082

Accepts any JSON (e.g., a Thing Description) POSTed to tiny-tdir/actions/td/ over HTTP. Stores the JSON document and returns the new resource's location (path) in payload.

Resource location is created based on the value of the "id" field (if any) in the JSON document. The location is of the form /tiny-tdir/properties/{id}. For example http://wishi.nomadiclab.com:8082/tiny-tdir/properties/urn:dev:ops:32473-WoTLamp-1234.

Web UI for posting Thing Descriptions to Tiny-TDIR:

http://wishi.nomadiclab.com:8084/

Information about things in the Tiny-TDIR: http://wishi.nomadiclab.com:8082/tiny-tdir/

Same with pretty print JSON: https://jsonformatter.org/json-pretty-print/?url=http://wishi.nomadiclab.com:8082/tiny-tdir/