README, комментарии в коде, чистка requirements.txt
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# IoT Producer — эмулятор датчиков «Умного дома»
|
||||
|
||||
Генерирует случайные IoT-события (температура, влажность, энергопотребление) и отправляет их в очередь RabbitMQ.
|
||||
|
||||
## Пайплайн
|
||||
|
||||
```
|
||||
Producer (этот сервис) → RabbitMQ → Consumer → Redis + MongoDB → Dashboard
|
||||
```
|
||||
|
||||
## Датчики
|
||||
|
||||
8 виртуальных датчиков, 3 типа:
|
||||
|
||||
| Тип | Датчики | Единица | Диапазон |
|
||||
|---|---|---|---|
|
||||
| temperature | temp_living, temp_bedroom, temp_office | °C | 16–28 |
|
||||
| humidity | humidity_living, humidity_bed | % | 30–70 |
|
||||
| power_meter | power_kitchen, power_living, power_office | kW | 0.1–4.0 |
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
| Переменная | По умолчанию | Описание |
|
||||
|---|---|---|
|
||||
| `RABBIT_HOST` | `localhost` | Хост RabbitMQ |
|
||||
| `RABBIT_PORT` | `5672` | Порт AMQP |
|
||||
| `RABBIT_USER` | `guest` | Логин |
|
||||
| `RABBIT_PASS` | `guest` | Пароль |
|
||||
| `RABBIT_QUEUE` | `iot-events` | Имя очереди |
|
||||
| `PRODUCE_INTERVAL` | `3` | Интервал между событиями (сек) |
|
||||
| `PORT` | `3000` | Порт HTTP |
|
||||
|
||||
## Эндпоинты
|
||||
|
||||
| Путь | Ответ |
|
||||
|---|---|
|
||||
| `GET /` | `{"service":"iot-producer","events_sent":N,"errors":N}` |
|
||||
| `GET /health` | `{"status":"ok"}` |
|
||||
|
||||
## Локальный запуск
|
||||
|
||||
```bash
|
||||
npm install
|
||||
RABBIT_HOST=localhost node server.js
|
||||
```
|
||||
|
||||
## Деплой на Nubes Cloud
|
||||
|
||||
1. Запушьте этот репо в свой Gitea
|
||||
2. В Terraform-конфиге укажите `git_path` на ваш репо и `git_revision` (коммит или `"main"`)
|
||||
3. Nubes автоматически запустит `npm start`
|
||||
Reference in New Issue
Block a user