Skip to content

Определения

Micropython

Micropython - это простая и эффективная реализация языка программирования Python 3, включающая небольшое подмножество стандартной библиотеки Python и оптимизированная для работы на микроконтроллерах и в ограниченных средах.

Fediverse

Fediverse - это способ организации взаимодействия сервер - сервер, обеспечивающий децентрализованную схему распространения и обработки информации.

IoT

Ineternet of Things - это обширная сеть устройств-предметов, подключенных к Интернету и способных взаимодействовать друг c другом.

Git

Git - это бесплатная распределенная система контроля версий с открытым исходным кодом, предназначенная для быстрой и эффективной работы с проектами, от небольших до очень крупных.

Interpreterable

Interpreterable - семейство языков программирования, у которых программный код выполняется интерпритатором - бинарной программой читающей программы строчка за строчкой.

Compilable

Compilable - семейство языков программирования, у которых программный код перед исполнением преобразуется в машинный код при помощи компилятора. Сгенерированный машинный код исполняется процессором напрямую.

Git Commit

Commit или Коммит - это зафиксированное во времени состояние кода или иной байтовой структуры в системе контроля версий Git. Каждый коммит имеет свой уникальный идентификатор и обычно имеет description - текстовое описание изменений, которые в него входят.

Git Tag

Tag или Тег - это коммит, помеченный дополнительным свойством - тегом, обычно тег присваивается стабильным-релизным версиям какой-либо программы.

Git Branch

Branch или Ветка - это набор коммитов, расположенных в хронологическом порядке в системе контроля версии Git.

Readme File

Readme - файл документации внутри репозитория Git, по усмотрению создателя репозитория содержит базовую инфорацию о переменных окружения, развёртыванию Unit, нюансах работы, настройки Unit или любую другую информацию, которую автор счёл нужной. Инструкция для авторов по заполнению Readme.

Gitlab

Gitlab - это веб-инструмент жизненного цикла Git репозиториев от компании GitLab Inc. В данной документации под Gitlab подразумевается не только gitlab.com, но и любой другой Узел Gitlab CE или Gitlab EE

Github

Github - это хостинг Git репозиториев от компании Github Inc.

Instance

Instance или Узел - полностью работоспособное, настроенное и запущенное веб приложение - способное отвечать на запросы клиентов.

API

Application Programming Interface - это контракт, проедоставляемый программами и описывающий взаимодействие c ними. Например Backend Pepeunit предоставляет - REST, GQL, MQTT

REST

REST API - контракт описывающий взаимодействие программы с клиентами через HTTP запросы. Pepeunit Backend использует пакет Pydantic и интерфейс Swagger OpenAPI для предоставления REST API.

GQL

GraphQL API - это язык запросов и серверная среда с открытым исходным кодом, использующая HTTP запросы для обмена информацией с клиентами. Pepeunit Backend использует пакет strawberry-graphql для предоставления GraphQL API.

MQTT

MQTT API - упрощённый сетевой протокол, работающий поверх TCP/IP, ориентированный на обмен сообщениями между устройствами по принципу издатель-подпищик. Pepeunit Backend использует пакет fastapi-mqtt как клиент, для взаимодействия c MQTT Broker - EMQX.

MQTT Broker

MQTT Broker - это серверное приложение, которое координирует сообщения между издателями и подпищиками MQTT протокола. В Pepeunit главными подпищиками и издателеми можно считать Unit, а главным руководителем взаимодействия - Backend. Pepeunit использует MQTT брокера - EMQX.

ACL List

ACL List - это файл, определяющий правила авторизации для MQTT Broker

ChatBot

ChatBot - приложение, позволяющее взаимодействовать с Backend через диалог в чате. Pepeunit Backend использует пакет AioGram как клиент, для взаимодействия с Telegram Bot API.

Frontend

Frontend - веб приложение, доступное для скачивания открытым способом и предназаначенное для обеспечения взаимодействия Пользователей c Backend приложением. Pepeunit Frontend Repository

Backend

Backend - приложение размещаемое на сервере, обеспечивающее обработку, хранение и анализ информации, а так же предоставляющее разные API для взаимодействия. Pepeunit Backend Repository

Repo

Repo - это представление Pepeunit о внешнем Git репозитории, например из Gitlab или Github. Данная сущность содержит в себе полный клон репозитория и синхронизирует своё состояние с внешним репозиторием, что позволяет Pepeunit быстро создавать микропрограммы для Unit.

Unit

Unit - это представление о физичеcком IoT устройстве в Pepeunit, данная сущность создаётся на основе Repo и несёт в себе информацию о конкретном физическом IoT устройстве, а так же о версии микропрограммы доступной в Repo.

UnitNode

UnitNode - это предстваление о MQTT топике для Pepeunit, данная сущность описывает точку взаимодействия с Unit. UnitNode может быть двух типов Input и Output. Между UnitNode разных Unit могут быть связи: от одного Output к многим Input.

env_example.json

env_example.json- файл, описывающий переменные окружения нужные для корректной работы Unit, он создаётся разработчиком Unit и помещается в каждую версию Repo. На основе данного файла и ввода Пользователя, Pepeunit может сгенерировать env.json файл для Unit. Более подробная информация о env_example.json.

env.json

env.json- секретный файл, содержащий переменные окружения нужные дла корректной работы Unit. Именно данный файл отличает ваш Unit от других Unit отстыкованных от одного и того же Repo. Он создаётся владельцем Unit совместно с Pepeunit и хранится в шифрованном виде внутри сущности Unit. Более подробная информация о env.json.

schema_example.json

schema_example.json - файл схемы, описывающий MQTT топики нужные Unit. Данный файл создаётся разработчиком Unit и помещается в каждую версию Repo. Благодаря данному файлу Pepeunit создаёт UnitNode сущности, отвечающие за взаимодействие с Unit и регламентирующие политики доступа до топиков Unit. Более подробная информация о schema_example.json.

schema.json

schema.json - готовый файл схемы для Unit генерируемый Pepeunit, содержит в себе ссылки на UnitNode и базовые топики для взаимодействия с Pepeunit. Более подробная информация о schema.json.

.pepeignore

.pepeignore - файл Git репозиториев Unit аналогичный по синтаксису .gitignore, но позволяющий удалить все указанные в нём файлы и дирректории из репозитория в момент генерации архива с программой для Интерпритируемых Unit. Более подробная информация о .pepeignore.