Разработчикам
Разработка прямо на устройствах.
Команды, состояние и события устройств разных производителей доступны через один открытый API, без SDK и перепрошивки. Владелец устройства, обслуживающая его нода и параметры лежат в TON — блокчейне, где ничего из этого не подделать и не потерять вместе с чьим-то сервером.
01 · Возможности
Что может разработчик.
События устройства
Любая программа на устройстве сообщает о факте — авторизации, аномалии, показании датчика. Рецепты для Shell, Python и C — в статье «События устройства».
Открыть →Связь через контракты
Контракт одного устройства шлёт сообщение контракту другого, и правило работает в TON без сервера посередине. Код и выкатка — в статье «Связь устройств через контракты».
Открыть →Доступ через API
Команды, состояние и платежи любого устройства идут через один HTTP API, каким бы ни был производитель железа. Чтение открыто, изменение — по подписи владельца.
Открыть →Интеграция с ИИ
Языковая модель работает поверх того же API: устройства, события и платежи читает сама, а любое изменение оформляет как запрос на подпись владельца.
Открыть →02 · Порядок работы
Из чего складывается работа с устройством.
Первые четыре шага не требуют правки контрактов и делаются в день установки. Пятый — работа с кодом на Tact, языке смарт-контрактов TON, и обновлением контракта устройства.
03 · Основы архитектуры
Быстрое идёт через ноду, проверяемое хранится в TON.
Команды, состояние и события любого устройства идут через один API, каким бы ни был производитель железа. Скрипт отправляет команду HTTP-запросом на ноду, та находит устройство даже за файрволом или серым NAT и передаёт команду по CoAP — лёгкому протоколу для устройств. Блокчейн в этом пути не участвует.
Агент subrose хранит ключи устройства, проверяет подпись владельца и только после этого исполняет команду. В TON живёт то, что должно быть проверяемым: владелец устройства, обслуживающая нода, параметры устройства и значимые события вроде регистрации. Собственные события читаются в консоли или через API.
04 · Смарт-контракты
Контракт устройства — открытый код.
Контракт устройства — запись в TON: владелец, права, оплата. Устроена она как программа на Tact, языке смарт-контрактов TON, с открытым исходником, и логику можно заменить: обновление проходит на месте, адрес остаётся прежним, а провести его может только ключ устройства или владелец с полными правами.
Контракты в TON шлют сообщения друг другу. Контракт одного устройства можно научить отправлять сообщение контракту второго — и второе устройство отреагирует: например, сменит настройку. Такие цепочки «устройство → контракт → устройство» собираются прямо в TON и не требуют сервера посередине.
Такую логику пишут сами, на Tact. Исходники всех контрактов открыты — начать можно с контракта нужного устройства, а весь путь от сообщения до реакции железа разобран на странице «Связь устройств через контракты».
05 · Что строить
С чего начать.
Панель для своего парка
Команда уходит curl-запросом, статус приходит одним GET — примеры запросов и формат ответа на странице «События устройства». Из этого собирается панель или бот с правами по ролям.
Свои сценарии
Скрипт читает события одного устройства и отдаёт команду другому — логика остаётся у разработчика, а интерфейс к железу один. То же правило можно перенести в TON: связь устройств через контракты.
Любое железо
Агент собирается для Linux (x86_64), macOS (universal — Intel и Apple Silicon), OpenWrt, Keenetic и Raspberry Pi. Windows — на подходе.
06 · Своя языковая модель
ИИ-чат — обычный клиент поверх открытого API.
В веб-консоли Subrose работает ИИ-чат. Для системы это просто ещё один клиент: модель может сразу читать устройства, события и платежи, а любую операцию записи чат оформляет как запрос на подпись владельца. Ключи устройств модели недоступны.
Тот же API открыт всем: клиент собирается на любом стеке. Модель можно подключить локальную, тогда данные не уходят в чужой API.
07 · Готово и что дальше
Система сегодня.
В TON — по-прежнему владелец устройства, обслуживающая нода, параметры устройства и значимые события. Свои события читаются через API; для истории поглубже их складывают у себя.
Платёж за обслуживание инициирует само устройство, доля ноды и производителя раскладывается автоматически в момент списания — о деньгах подробно на странице «Начать». Готовых блоков для реакции одного устройства на другое пока нет: цепочку контрактов пишут сами на Tact — по разбору с примерами кода — или держат эту логику в своём клиенте.
Роутер на OpenWrt, Raspberry Pi, Linux-сервер или Mac — этому железу Subrose даёт один открытый API.
08 · Операторам нод
Нода приносит долю.
Нода обслуживает устройства и с каждого списания автоматически получает долю. Как это устроено — на странице «Операторам нод».
Стать оператором ноды09 · Вопросы
Вопросы, которые обычно задают разработчики.
subrose emit, без SDK и перепрошивки. Команды, состояние и события устройств разных производителей доступны через один и тот же HTTP API.subrose emit для отправки.Начать
Старт с реального устройства.
Установка агента subrose, привязка устройства в веб-консоли по коду из терминала и первое событие.
Открыть инструкцию