krepton85

 
<<< Назад

Установка Majordomo на Андроид ОС (KSWEB). Решено.

В этом блоге расскажу как установить систему Majordomo на Андроид ОС, в приложении KSWEB. KSWEB - это аналог XAMPP на Windows ОС. Так что эта инструкция пригодится любителям XAMPP, а так же весьма полезна начинающим пользователям системы Majordomo, которые хотят ее попробовать 24/7, но для этого не готовы покупать мини ПК (Raspberry Pi и др. например), а так же устанавливать на свой домашний ПК, который должен работать 24/7 и потреблять не мало электроэнергии. Вам понадобится всего лишь ваш старый, не нужный Андроид дивайс (у всех же они лежат и пылятся до нужных времен? :) ).
Процесс установки будет быстрым и весьма простым, вы всего в пару "правок конфигов" до полноценно работающей системы. Хотя я на изучения этого вопроса потратил кучу времени, даже с помощью ИИ. :)

1. Установка приложения KSWEB.
Скачиваем и устанавливаем приложение по ссылке с Playmarket .
2. Настройка приложения KSWEB
2.1 заходим в вкладку "опции" и отмечаем пункты "Внешние ini", "Выключить функцию сохранения батареи", "Заблокировать сон Wi-Fi";
2.2 переходим во вкладку "LIGHTTPD", далее тапаем кнопку конфигурация "править", и прописываем в самом низу конфига "lighttpd.conf" правила маршрутизации (редиректы):

url.rewrite-if-not-file = (
смотрите у меня в файле : lighttpd_best3.conf, не могу сюда прекрепить код, редактор исправляет его неправильными редиректами :(
)
2.3. Далее распаковываем содержимое папки htdocs с исправленной мною и ИИ системой majordomo из моего архива: google drive в соответствующую папку проекта для KSWEB (обычно точно так же называется, и может находится в корне внутренней или внешней microSD). Советую устанавливать во внутреннюю память Андроид т.к. она быстрее и долговечнее.
2.4 переходим во вкладку "ПЛАНИРОВЩИК" (CRON ), тампаем по "плюсу" и добовляем 1-о единственное правило:

  • выражение cron: "*/30 * * * * ? *" - это запускать каждых 30 секунд;
    • тапаем по кнопке "PHP СКРИПТ", выбираем из папки htdocs скрипт .../htdocs/start.php, в открывшемся файл-мэнаджере;
    • отмечаем "по вкусу" "добавлять задание в лог", "сохранять вывод задания в лог" - это не обязательно, а только для отладки, если все заработало, можно и нужно отключить;
    • тапаем по галке (сохранить и выйти из редактра планировщика) в правом верхнем углу;
    • отмечаем в общем списке заданий, наше созданное задание;
      2.5 переходим во вкладку "инструменты" и устанавливаем "phpMyAdmin" -> lighttpd -> ok.
      2.6 переходи удаленным или локальным (на Андроид) браузером в phpMyAdmin, путь, IP, порт можно узнать на вкладке "СТАТУС". Создаем базу данных с именем "db_terminal", открываем ее (тапнув по ней слева в списке, она будет пуста), далее справа во вкладке "импорт" импортируем дамп вашей или Сергея (находится в папке htdocs) базы данных "db_terminal.sql".
      ВНИМАНИЕ ДЛЯ ТЕХ КТО СОБИРАЕТСЯ ВОССТАНОВИТЬ РЕЗЕРВНУЮ КОПИЮ С ДР. СИСТЕМЫ ОС, ВАМ НЕОБХОДИМО:
      ПРЕДВАРИТЕЛЬНО УДАЛИТЬ ИЗ РЕЗЕРВНОЙ КОПИИ СЛЕДУЮЩИЕ ФАЙЛЫ:
      • cycle.php;
      • lib/threads.php;
      • modules/backup/backup.class.php
      • modules/saverestore/saverestore.class.php
        В ВИДУ ПЕРЕЗАПИСИ МОИХ ОТРЕДАКТИРОВАННЫХ ФАЙЛОВ, ТАК ЖЕ НЕ ОБНОВЛЯЙТЕ СИСТЕМУ MAJORDOMO И МОДУЛЬ BACKUP ИЗ МАРКЕТА ДОПОЛНЕНИЙ!!!
        2.7 настройка .../htdocs/config.php:
        • нужно раздобыть 2 ссылки на файлы php.ini и путь к выбранной версии libphcgi-X-X-X-X.so. путь к php.ini можно подсмотреть в команде планировщика CRON, он начинается с "-c /data/....../php.ini", а путь к libphcgi-X-X-X-X.so переходим во вкладку "PHP" - > "КОНСОЛЬ", далее в открывшемся менеджере видим вывод: PHP version 8.2.29 (путь к libphcgi-X-X-X-X.so);
        • путь php.ini прописываем в Define('PATH_PHP_INI', 'ВАШ ПУТЬ К PHP.INI');
        • путь к libphcgi-X-X-X-X.so прописываем в Define('PATH_TO_PHP', 'ВАШ ПУТЬ К libphcgi-X-X-X-X.so');
          ВНИМАНИЕ ПУТЬ К libphcgi-X-X-X-X.so ЯВЛЯЕТСЯ УНИКАЛЬНЫМ И БУДЕТ ИЗМЕНЕН ПРИ ОБНОВЛЕНИИ KSWEB ДАЖЕ НА ТУ ЖЕ САМУЮ ВЕРСИЮ, ЭТО ПРОДЕЛКИ РАЗРАБОТЧИКОВ АНДРОИД 8+, ПОСЛЕ ОБНОВЛЕНИЯ KSWEB НЕОБХОДИМО ИСПРАВИТЬ ЭТОТ ПУТЬ В ./htdocs/config.php!

3. Запуск всего.
3.1 отмечаем галкой "Вкл. сервер" на следующих вкладках:

  • LIGHTTPD;
  • MYSQL;
  • PHP;

    Установка завершена, наслаждаемся

    Что работает и что было изменено.
    Работают из протестированного:

    • циклы все из папки scripts/cycle_XXX.php
    • модуль mqtt;
    • модуль tuya;
    • модуль magic home;
    • модули backup и saverestore, не работали с базой данных в обоих направлениях, исправлено с помощью библиотеки ifsnop/mysqldump-php по подсказке ИИ :) Установил ее через composer, см. в папке vendor (надеюсь вам не нужно будет устанавливать);
    • запуск метода по ссылке;
    • командная строка;
    • сцена;
    • MajorDroid c TTS, голосовым управлением;
      Изменены следующие системные файлы (старлся не повредить логику для др. ОС для слияния проекта в будущих обновлениях Majordomo):
    • библиотека .../htdocs/lib/threads.php - команда специально для ksweb для запуска в отдельном потоке цикла;
    • модуль .../htdocs/modules/backup/backup.class.php функции восстановления/создания бэкапа базы данных;
    • модуль .../htdocs/modules/saverestore/saverestore.class.php функции восстановления/создания бэкапа базы данных;
      Дабавлен файл .../htdocs/start.php для 1-кратного запуска .../htdocs/cycle.php с помощью cron-а ksweb, файл при каждом старте проверяет жив ли процесс cycle.php, если нет то сново его запустит. Так же измененен сам .../htdocs/cycle.php - создает файл .../htdocs/cycle_cached/cycle.php.lock в который сохраняет свой PID процесса, необходим для start.php

Обсуждение (0) (3)

Смотрите так же:
14.01.2023 Переделка в MQTT Connect/восстановление выключателя Smart Switch на 3 сенсорных кнопки, Wi-Fi, Tuya
01.01.2019 Шлюз MQTT - ИК и RF315МГц на ESP8266

Минск, Беларусь

На форуме: krepton85