Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tibet-peripheral

IP-less peripheral actors for TIBET/AInternet.

This package is a sandbox-born skeleton for devices that cannot, should not, or must not speak IP themselves: Arduino lights, cheap toys, BLE buttons, LoRa sensors, smart devices, RVP peripherals, doorbells, relays, and other physical actuators.

The peripheral is not the root of trust. The box/bridge is the cryptographic and policy authority. The peripheral is a bound executor that must stay in the causal rhythm.

internet / overlay / cmail / local button
  -> box or bridge verifies intent, grant, presence, and relation
  -> tiny peripheral frame over serial / BT / BLE / LoRa
  -> IP-less device acts
  -> ACK returns
  -> bridge emits receipt

Core Rule

The peripheral does not have to calculate trust.
It has to stay in time.

If the tether breaks, the session is dead. When it comes back, it must rebind. That makes uptime and sequence continuity part of the safety model.

What Exists Here

  • tibet_peripheral.protocol — tiny line frame codec and session guard.
  • tibet_peripheral.serial_line — POSIX serial line helper, stdlib only.
  • tibet_peripheral.bridge — local HTTP bridge for light control.
  • examples/arduino/light_node/light_node.ino — Arduino Uno onboard LED sketch.
  • docs/ARCHITECTURE.md — doctrine and binding model.
  • docs/ROADMAP.md — route toward real TIBET overlay integration.

Proof Of Concept

For a classic Arduino Uno R3 / ATmega328P:

python3 -m tibet_peripheral.bridge --serial /dev/ttyUSB0
curl http://127.0.0.1:8765/light/l
curl http://127.0.0.1:8765/light/on
curl http://127.0.0.1:8765/light/off

The Arduino has no IP address. The bridge does.

For an already-flashed sketch that reacts to commands but does not print ACK lines, start in fire-and-watch mode:

python3 -m tibet_peripheral.bridge --serial /dev/ttyUSB0 --no-ack

That proves reachability. For causal receipts, flash the example firmware so the device returns OK ... after each command.

Naming

light.aint or jis:peripheral:light:<hash> names the routed actor. The Arduino itself only sees a short session id and monotonic sequence. The public .aint is a route/identity wrapper owned by the box or app relation, not a claim that an 8-bit MCU runs the whole trust stack.

About

IP-less peripheral actors for TIBET/AInternet (serial/BT/BLE/LoRa executors bound under a box/root)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages