Инструкция по подготовке проверочного экземпляра (VPN + SSH)¶
Доступ предоставляется через OpenVPN + SSH к хосту с установленным PRIMO CORE. Веб-интерфейс (http://192.168.1.112/) открыт для пользователя admin с паролем 1111.
Предварительные требования¶
- Файл подключения OpenVPN (
*.ovpn). - SSH-доступ к хосту в VPN.
- Пользователь:
meristem(приложение и сервисы запускаются из его домашней директории), с паролем1111. - Права на чтение
systemd-журналов, проверку сетевых портов и содержимого каталога/home/meristem/primocore.
Подключение¶
1) VPN (OpenVPN)
sudo openvpn --config primo-core.ovpn --auth-user-pass
ip route, ping <vpn-gateway>).
2) SSH
ssh meristem@192.168.1.112
Структура ПО на хосте¶
- Репозиторий:
/home/meristem/primocore - Виртуальное окружение:
/home/meristem/primocore/env(активацияsource env/bin/activate) - Код и сервисы:
service/,modules/,web/,dev/ - Конфигурации:
conf/*.json(режимы, калибровки, подсистемы) - Логи:
logs/*.log - Системные юниты:
__build/*.service(симлинки в/etc/systemd/system/) - Статические файлы и шаблоны:
web/static,web/templates
Контейнеризация не используется; все компоненты работают как отдельные процессы под управлением systemd.
Ключевые сервисы (systemd)¶
pub-meristem.service— публикация данных в MQTT,service/pub.py, окружение/home/meristem/primocore/env.recv-meristem.service— приём команд из MQTT,service/recv.py, то же окружение.web-meristem.service— uWSGI + Flask (uwsgi.ini), фронт через Nginx.light-meristem.service— управление освещением,service/light.py.nutrient-meristem.service— регулировка pH/EC,service/nutrient.py.aqua-meristem.service— подача раствора,service/aqua.py.- Сторонние процессы: Mosquitto (MQTT брокер), Nginx (reverse-proxy).
Быстрая проверка экземпляра¶
cd /home/meristem/primocore
ls conf logs service web modules
systemctl status pub-meristem.service recv-meristem.service web-meristem.service
systemctl status light-meristem.service aqua-meristem.service
journalctl -u web-meristem.service -n 200
sudo ss -lntp | grep 1883 (MQTT) и grep 9001 (WebSocket).
- Проверка веб-фронта: curl -I http://localhost (должен отвечать 200/302). Авторизация в UI: логин admin, пароль 1111.
Критерии готовности проверочного стенда¶
- Все
systemd-юниты в состоянииactive (running)и включены в автозапуск (systemctl is-enabled <service>). - Mosquitto слушает порты 1883 и 9001, Nginx/uWSGI отвечает локально.
- Конфигурации актуальны для сценария проверки (
verification: trueпри необходимости, корректные режимы подсистем). - Логи обновляются и не содержат критических ошибок (
tail -f logs/web-meristem-*.log,tail -f logs/api-meristem-*.log).