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.
Metadata
Release files for tibet-peripheral 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tibet_peripheral-0.1.0.tar.gz | 12.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tibet_peripheral-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.8 kB
Release files / tibet_peripheral-0.1.0.tar.gz
| Download URL | tibet_peripheral-0.1.0.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a309b2e9be5d52de60fdcd56408e6e0d20be7b21925b9503d4cb32cada8c459
|
|
BLAKE2b-256 checksum How to use checksums |
506659cdf4d8655c4cdaa1725431bfcbb6bf4bf39d60957aa9ffdbab4e9d05e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / tibet_peripheral-0.1.0-py3-none-any.whl
| Download URL | tibet_peripheral-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
72c1e73a29e39762a8457d9cd18a62b6c4c2cd826ef1e552ef04734e116ac5f4
|
|
BLAKE2b-256 checksum How to use checksums |
6995aebbc8648a6439431d9c6a6086542cdf6ee7fd54d900ff391f5e7e961f55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|