pamoja

An SDK for IoT, robotics, and drones

pamojaRev 0.2.0MIT licensepamoja.molex.cloud

Examples#

Everything on this page runs in CI on every change, so an example here is never one that worked once. The programs are complete: each has a main, reads top to bottom, and runs with nothing plugged in, since a simulator or a loopback stands in for the hardware.

A guide's example is a different thing: the same program in four languages, spliced into that guide from the test file that runs it, with the line that runs it and what it proves on the guide's own page. The guides are in the sidebar, grouped the way the capability map groups them.

Programs#

Each one is a complete program with a main, written to be read top to bottom and run with nothing plugged in. The line beside it runs it.

Program 1

batched_telemetryexamples/batched_telemetry.rs

Metered-link encoding: pack a batch of readings into a fraction of the bytes.

cargo run -p pamoja-examples --example batched_telemetry

Program 2

brooder_nodeexamples/brooder_node.rs

A poultry brooder, built from a shared profile and run through a cold night.

cargo run -p pamoja-examples --example brooder_node

Program 3

conformanceexamples/conformance.rs

The whole SDK in one run: a cold-chain node from sensor to gateway over loopback.

cargo run -p pamoja-examples --example conformance

Program 4

conformance_vectorsexamples/conformance_vectors.rs

Regenerates the cross-language conformance vectors.

cargo run -p pamoja-examples --example conformance_vectors

Program 6

device_profileexamples/device_profile.rs

A device profile assembled into a ready-to-run cold-chain node, over loopback.

cargo run -p pamoja-examples --example device_profile

Program 7

gateway_fleetexamples/gateway_fleet.rs

A site gateway carrying its nodes upstream, and drawing what it carried on a console.

cargo run -p pamoja-examples --example gateway_fleet

Program 8

lora_budgetexamples/lora_budget.rs

LoRa airtime and duty cycle: what it costs to send a batch over a long-range link.

cargo run -p pamoja-examples --example lora_budget

Program 10

robot_waypointexamples/robot_waypoint.rs

Drive a rover safely, dead-reckon where it is, steer to a waypoint, and speak ROS 2.

cargo run -p pamoja-examples --example robot_waypoint

Program 11

signed_auditexamples/signed_audit.rs

A tamper-evident cold-chain log: signed, hash-chained fridge readings.

cargo run -p pamoja-examples --example signed_audit

Program 12

signed_telemetryexamples/signed_telemetry.rs

Tamper-evident telemetry: a device signs each reading, a gateway verifies it.

cargo run -p pamoja-examples --example signed_telemetry

Program 13

signed_updateexamples/signed_update.rs

Updating a device in the field, including the update that goes wrong.

cargo run -p pamoja-examples --example signed_update

Program 14

store_and_forwardexamples/store_and_forward.rs

Offline-first store-and-forward, end to end, with no hardware and no broker.

cargo run -p pamoja-examples --example store_and_forward

Program 15

telemetryexamples/telemetry.rs

Observability that degrades gracefully on a metered link.

cargo run -p pamoja-examples --example telemetry

Community programs#

Programs people have shared, held to the same bar: complete, run in CI with nothing plugged in, and credited in the file. The community page says how to add one.

None yet. The first one is yours to add.

Edit this page on GitHub