✅ MVP ЗАВЕРШЕН - Backend готов к тестированию на реальном железе!
/api/v1/superadmin/*)/api/v1/client/*)/api/v1/device/*)POST /api/v1/auth/register - User registration
POST /api/v1/auth/login - Login (returns JWT tokens)
POST /api/v1/auth/refresh - Refresh access token
GET /api/v1/auth/me - Get current user info
GET /api/v1/superadmin/organizations - List all organizations
POST /api/v1/superadmin/organizations - Create organization
GET /api/v1/superadmin/organizations/:id - Get organization
PATCH /api/v1/superadmin/organizations/:id - Update organization
DELETE /api/v1/superadmin/organizations/:id - Delete organization
GET /api/v1/superadmin/users - List all users
POST /api/v1/superadmin/users - Create user
GET /api/v1/superadmin/users/:id - Get user
PATCH /api/v1/superadmin/users/:id - Update user
DELETE /api/v1/superadmin/users/:id - Delete user
POST /api/v1/superadmin/users/:id/change-password - Change user password
GET /api/v1/superadmin/devices - List all devices
POST /api/v1/superadmin/devices - Register device
GET /api/v1/superadmin/devices/:id - Get device
PATCH /api/v1/superadmin/devices/:id - Update device
DELETE /api/v1/superadmin/devices/:id - Delete device
GET /api/v1/client/organization/me - Get own organization
GET /api/v1/client/users - List users in own org
POST /api/v1/client/users - Create user in own org (owner/admin only)
GET /api/v1/client/users/:id - Get user from own org
PATCH /api/v1/client/users/:id - Update user in own org (owner/admin only)
DELETE /api/v1/client/users/:id - Delete user from own org (owner/admin only)
POST /api/v1/client/users/:id/change-password - Change password (owner/admin only)
GET /api/v1/client/devices - List devices in own org
GET /api/v1/client/devices/:id - Get device from own org
POST /api/v1/device/auth - Authenticate device by MAC address
GET /api/v1/device/config - Get device configuration (requires device token)
POST /api/v1/device/heartbeat - Send heartbeat with metadata (requires device token)
POST /api/v1/device/events - Send events batch (requires device token)
Superadmin:
superadmin@mybeacon.comAdmin123!superadminOrganization Owner:
admin@mybeacon.comAdmin123!ownerOperator (только что создан):
operator@mybeacon.comOperator123!operatorAA:BB:CC:DD:EE:02onlinecd /home/user/work/luckfox/alpine/mybeacon-backend/backend
poetry run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Сервер доступен по адресу: http://192.168.5.4:8000
API документация (Swagger): http://192.168.5.4:8000/docs
Зарегистрировать устройство через superadmin API:
curl -X POST http://192.168.5.4:8000/api/v1/superadmin/devices \
-H "Authorization: Bearer YOUR_SUPERADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mac_address": "REAL_DEVICE_MAC",
"organization_id": 4
}'
Обновить MAC-адрес в демо-скрипте:
nano /tmp/demo_hardware.sh
# Изменить DEVICE_MAC на реальный MAC устройства
Запустить демо на железке (192.168.5.244):
# Скопировать скрипт на железку
scp /tmp/demo_hardware.sh root@192.168.5.244:/tmp/
# Запустить на железке
ssh root@192.168.5.244 'bash /tmp/demo_hardware.sh'
Демон настроен в /home/user/work/luckfox/alpine/overlay/etc/init.d/S98mybeacon:
http://192.168.5.4:8000 ✅ (обновлен)Запуск демона на железке:
ssh root@192.168.5.244 '/etc/init.d/S98mybeacon start'
Проверка логов:
ssh root@192.168.5.244 'tail -f /var/log/mybeacon.log'
bash /tmp/test_client.sh
bash /tmp/test_device_api.sh
bash /tmp/demo_hardware.sh
Исправлено:
TODO:
Разработчик: Claude Sonnet 4.5 Проект: MyBeacon Backend MVP Дата: 2025-12-27