https://github.com/schukark/olts-cam
"Object Location Tracking System with Camera" provides functionlity to deploy a system to observe your belongings at home through a camera and query a telegram bot about it
https://github.com/schukark/olts-cam
camera computer-vision database desktop-application mock-testing object-detection pyside6 python pytorch rest-api rust sqlite3 telegram-bot teloxide tokio-rs
Last synced: about 2 months ago
JSON representation
"Object Location Tracking System with Camera" provides functionlity to deploy a system to observe your belongings at home through a camera and query a telegram bot about it
- Host: GitHub
- URL: https://github.com/schukark/olts-cam
- Owner: schukark
- License: mit
- Created: 2024-12-09T14:47:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-29T01:19:06.000Z (about 1 year ago)
- Last Synced: 2025-06-13T10:48:37.324Z (about 1 year ago)
- Topics: camera, computer-vision, database, desktop-application, mock-testing, object-detection, pyside6, python, pytorch, rest-api, rust, sqlite3, telegram-bot, teloxide, tokio-rs
- Language: Python
- Homepage:
- Size: 13 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Object Location Tracking System
## Описание
Данный программный комплекс является self-host решением, позволяющим при установке и подключении камеры следить за мелкими вещами в помещении (например телефон/ноутбук/кошелек и прочее).
## Установка приложения
```bash
git clone git@github.com:schukark/OLTS-Cam.git
cd OLTS-Cam
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
Далее пути установки разнятся:
1. Если Вы обладатель видеокарты NVidia или AMD с поддержкой от PyTorch, то выполните `pip install -r requirements_torch.txt`
2. Если такой видеокарты у вас нет или Вы не знаете, то выполните `pip install -r requirements_torch_cpu.txt`
## Установка бота
1. Исполняемый файл бота поставляется в корне репозитория (файлы `bot` или `bot.exe` в зависимости от ОС)
2. Иначе, убедитесь, что на вашей системе установлен `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)
Также, части проекта можно запустить отдельно, если такая потребность есть:
1. `python src/main.py` для десктопной части
2. `./bot`/`bot.exe` для бота (или `cargo run --release`, если установлен `rustup`)
## Использованные технологии
- Python
- OpenCV
- PyTorch
- FastAPI
- Rust
- Teloxide
- Telegram API
## Инструкция к репозиторию
Проект разделен на независимые и модульные части:
1. Python Desktop Application - приложение на ПК (написано на Python), содержащее все настройки и связь с камерой
2. Telegram Bot - код для телеграм-бота (написан на Rust)
3. Python API endpoint Server - сервер-приемник запросов от телеграм-бота (написан на Python)
Каждый модуль имеет очень ограчниенный набор публичных методов, чтобы жестко следовать API - это позволяет менять реализацию модулей.
Соответственно, чтобы не смешивать эти независимые модули между собой, код для каждой из них содержится в отдельной ветке репозитория:
1. telegram-bot - ветка телеграм-бота
2. desktop-application - ветка приложения на ПК
3. python-server - API server как часть десктоп приложения
## Значки (интерактивные)
[](https://github.com/schukark/OLTS-Cam/actions/workflows/rust.yml)
[](https://github.com/schukark/OLTS-Cam/)
[](https://coveralls.io/github/schukark/OLTS-Cam?branch=telegram-bot)