Данный программный комплекс является self-host решением, позволяющим при установке и подключении камеры следить за мелкими вещами в помещении (например телефон/ноутбук/кошелек и прочее).
git clone [email protected]:schukark/OLTS-Cam.git
cd OLTS-Cam
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Далее пути установки разнятся:
- Если Вы обладатель видеокарты NVidia или AMD с поддержкой от PyTorch, то выполните
pip install -r requirements_torch.txt
- Если такой видеокарты у вас нет или Вы не знаете, то выполните
pip install -r requirements_torch_cpu.txt
- Исполняемый файл бота поставляется в корне репозитория (файлы
bot
илиbot.exe
в зависимости от ОС) - Иначе, убедитесь, что на вашей системе установлен
rustup
и выбранRust 1.89.0-nightly
. Далее, находясь в корне проекта запуститеcargo build --release
. После выполнения команды, исполняемый файл бота будет лежать по путиtarget/release/bot
.
Для проверки md5 получившегося исполняемого файла, прилагаются md5 под некоторые архитектуры:
-march | md5 |
---|---|
x86_64-unknown-linux-gnu | 45d5e9b4977174c19a39e4e431ef1d60 |
x86_64-pc-windows-gnu | e7185d58f7323d231b86b4439d448325 |
Приложение запускается с помощью файла launch.sh
(*nix системы) /launch.bat
(Windows)
Также, части проекта можно запустить отдельно, если такая потребность есть:
python src/main.py
для десктопной части./bot
/bot.exe
для бота (илиcargo run --release
, если установленrustup
)
- Python
- OpenCV
- PyTorch
- FastAPI
- Rust
- Teloxide
- Telegram API
Проект разделен на независимые и модульные части:
- Python Desktop Application - приложение на ПК (написано на Python), содержащее все настройки и связь с камерой
- Telegram Bot - код для телеграм-бота (написан на Rust)
- Python API endpoint Server - сервер-приемник запросов от телеграм-бота (написан на Python)
Каждый модуль имеет очень ограчниенный набор публичных методов, чтобы жестко следовать API - это позволяет менять реализацию модулей. Соответственно, чтобы не смешивать эти независимые модули между собой, код для каждой из них содержится в отдельной ветке репозитория:
- telegram-bot - ветка телеграм-бота
- desktop-application - ветка приложения на ПК
- python-server - API server как часть десктоп приложения