[Приложение] мой MjDM (Android)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Ср мар 11, 2020 4:46 pm

ping добавлен.
viewtopic.php?f=5&t=6737&start=520#p116475

А по разнообразию - я как раз к нему стремлюсь... Почему бы и нет? Кому-то удобнее в своих поделках написать команду "info", а кому-то "getterminalinfo". В первом случае может через полгода кто-то впырится в это и будет думать, нафига я это писал и что оно делает? чо за "инфо" такое? в то время как второй вариант более информативный.
Ты же вот пишешь модуль. Готовый для конечного потребителя. Тебе какая разница, какую ты команду употребишь? Работать будет любая. А 99% конечных пользачей тоже под крышку твоего модуля не смотрят (и вряд ли запутаются в коде).

Да и вообще, Тарас, что касается команд - их можно выдумать до бесконечности... чтобы управлять программой полностью извне. Даже создавать сервера удаленно и виджеты. Почему бы и нет?
Пока сделали самые важные и нужные команды. ДАльше уже потихоньку, по мере необходимости и степени извращенности мышления...

Меня пока больше само ядро приложения беспокоит. Сижу думаю как мне там процессы лучше развязать... Поэтому еще много работы куда более серьезного характера. Сегдня вот уже не успел переписать куски... Завтра, к сожалению не смогу заниматься программой. Буду в пятницу уже "ломать"...
Причем, если начать серьезно ломать код - работы на пару дней. И, соответственно, более очередные хотелки (пусть даже и простые) - сразу встанут колом пока код не допишется :)

---
- это я то понимаю - но ведь локаль то можно использовать как язык распознавания - тогда просто надо переводы добавить.... И все
А ты уверен, что на одной локали пользователю обязательно будет нужен именно язык распознавания этой же локали?
У тебя на планшете может стоять английская локаль, скажем, EN_US. Язык всего интерфейса и самой программы будет английский. При этом в программе ты можешь указать язык распознавания для Сфинкса - русский. Поэтому это разные вещи и деться от этого некуда...
Даже если когда-то "слушалка" будет ориентироваться на локаль девайса, для самой программы это будут 2 разные сущности - какой именно словарь грузить.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 816 раз

Re: [Приложение] мой MjDM (Android)

Сообщение tarasfrompir » Ср мар 11, 2020 5:16 pm

hc2hunter писал(а):
Ср мар 11, 2020 4:46 pm
ping добавлен.
viewtopic.php?f=5&t=6737&start=520#p116475
- это я то понимаю - но ведь локаль то можно использовать как язык распознавания - тогда просто надо переводы добавить.... И все
А ты уверен, что на одной локали пользователю обязательно будет нужен именно язык распознавания этой же локали?
У тебя на планшете может стоять английская локаль, скажем, EN_US. Язык всего интерфейса и самой программы будет английский. При этом в программе ты можешь указать язык распознавания для Сфинкса - русский. Поэтому это разные вещи и деться от этого некуда...
Даже если когда-то "слушалка" будет ориентироваться на локаль девайса, для самой программы это будут 2 разные сущности - какой именно словарь грузить.
За пинг пасибки - а вот за Сфинкса - я думаю его вообще туда не стоит пилить... вещь хорошая - но этот проект на год тебя затянет в работу... А результат будет так себе - сейчас смотрю в сторону нейронных сетей... Сфинкс хоть и тоже своего рода нейронка - но есть проекты которые намного полегче будут для системы да и работоспосбность их на 30% выше... взять хотя бы это - https://voice.mozilla.org/ru/datasets
За это сообщение автора tarasfrompir поблагодарил:
hc2hunter (Ср мар 11, 2020 5:20 pm)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Ср мар 11, 2020 5:20 pm

Сфинкс да... тяжелая штука. Хотя и довольно просто интегрируемая.
SnowBoy интересная вещь, но, к сожалению, у меня пока не заработала. Попробую может действительно сосредоточиться на чем-то другом... сфинкса отложу...
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 816 раз

Re: [Приложение] мой MjDM (Android)

Сообщение tarasfrompir » Ср мар 11, 2020 5:23 pm

hc2hunter писал(а):
Ср мар 11, 2020 5:20 pm
Сфинкс да... тяжелая штука. Хотя и довольно просто интегрируемая.
SnowBoy интересная вещь, но, к сожалению, у меня пока не заработала. Попробую может действительно сосредоточиться на чем-то другом... сфинкса отложу...
вот тут позаглядывай - https://github.com/mozilla/DeepSpeech/t ... ive_client
За это сообщение автора tarasfrompir поблагодарил:
hc2hunter (Ср мар 11, 2020 6:41 pm)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
ZyaK
Сообщения: 417
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 45 раз
Поблагодарили: 71 раз

Re: [Приложение] мой MjDM (Android)

Сообщение ZyaK » Чт мар 12, 2020 8:01 am

Вчера установил приложение, вроде всё настроил, домашний вайфай, всё заходт, работает, но на голосовые команды не реагирует, хотя пишет что команда распознана. в самой системе надо что то править? терминал может какой то другой появляется?
PI2 + MQTT + 5 ESP8266 + Atmega16
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Чт мар 12, 2020 8:46 am

Раз приложение пишет всплывающее сообщение с распознанной командой, значит она 100% распознана, и приложение пытается кинуть её на сервер по пути <текущий_сервер>/command.php?qry=<команда>
Поэтому тут следует проверить следующие моменты:
  1. Вы в программе случайно не указали какой-то другой кустарный скрипт для обработки команд? (там для этого есть специальное поле)
  2. Адрес сервера точно принимает запросы с устройства?
    Поясню.
    Если вы указали в качестве своего сервера какой-то его внешний (публичный) адрес, то нужно обеспечить прохождение пакетов внутрь, т.к. устройство будет стучаться именно на внешний интерфейс вашего пограничного устройства. Даже если само при этом находится внутри сети.
    Если же вы настроили автоматическое переключение на локальный адрес при попадании в зону WiFi, то по идее все должно работать.
Настройка приложения в качестве терминала в данном случае, в сущности, вообще не нужна.
ZyaK
Сообщения: 417
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 45 раз
Поблагодарили: 71 раз

Re: [Приложение] мой MjDM (Android)

Сообщение ZyaK » Чт мар 12, 2020 9:12 am

да нет, никаких скриптов не прописывал, на текстовые команды реагирует, на нажатия кнопок на сцене тоже реагирует
PI2 + MQTT + 5 ESP8266 + Atmega16
Аватара пользователя
buba911
Сообщения: 127
Зарегистрирован: Пт дек 07, 2018 4:57 pm
Благодарил (а): 42 раза
Поблагодарили: 7 раз

Re: [Приложение] мой MjDM (Android)

Сообщение buba911 » Чт мар 12, 2020 12:46 pm

Может не совсем по теме. У меня Majordomo не опознаёт голосовые команды с приложения мой MJDM.
В приложении всё настроено, опознаётся ключевое слово и команды за ним. В majordomo телефон настроен как терминал и находится онлайн.
Что я забыл ещё? Куда копнуть?
Заранее спасибо за советы.
За это сообщение автора buba911 поблагодарил:
IRONDED (Чт мар 12, 2020 4:18 pm)
Рейтинг: 1.16%
Raspberry Pi3B+ v4.44
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Чт мар 12, 2020 4:39 pm

А что значит "не опознает"?
Я на своем телефоне проговариваю команду, он пишет что она распозналась, и потом команда появляется в системной консоли MDM (ну, которую вы видите в админке слева).
Для проверки можете прямо с устройства любым браузером заслать команду <ваш_сервер>/command.php?qry=<команда>
Программа по сути именно это и делает,просто незаметно для пользователя. Ничего нового тут не придумано :)

Чтобы команда что-то выполняла - дальше уже нужно писать логику на стороне MDM (например, в шаблонах).

Ну... еще, возможно, у вас прописана какая-то встроенная безопасность на стороне самого MDM (не путать с basic-авторизацией). Тут уже ничего не поделать. MDM не предусматривает передачу параметров для собственной авторизации. Придется ее отключить или придумать как обойти.

И еще раз повторю - терминал тут совершенно ни при чем. Он и не нужен для отправки текстовой команды на сервер.
ZyaK
Сообщения: 417
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 45 раз
Поблагодарили: 71 раз

Re: [Приложение] мой MjDM (Android)

Сообщение ZyaK » Чт мар 12, 2020 8:14 pm

В том то и дело, что команда в консоли не появляется, если в консоли с приложения напечатать, то работает.
если говорю через приложение majordroid всё опознаётся и работает, а когда подключаюсь по вайфаю, то даже отвечает.
могут ли быть такие проблемы из за не правильной настройки config.php? я в своё время боролся чтоб при заходе с ай пи роутера он спрашивал пароль(для внешнего доступа использую сервер от кееnetic)

Код: Выделить всё

<?php
/**
* Project Config
*
* @package MajorDoMo
* @author Serge Dzheigalo <jey@tut.by> http://smartliving.ru/
* @version 1.1
*/

Define('DB_HOST', 'localhost');
Define('DB_NAME', 'db_terminal');
Define('DB_USER', 'XXXXXXX');
Define('DB_PASSWORD', 'WWWWWW');

Define('DIR_TEMPLATES', "./templates/");
Define('DIR_MODULES', "./modules/");
Define('DEBUG_MODE', 1);
Define('UPDATES_REPOSITORY_NAME', 'smarthome');

Define('PROJECT_TITLE', 'MajordomoSL');
Define('PROJECT_BUGTRACK', "bugtrack@smartliving.ru");

date_default_timezone_set('UTC');

if (isset($_ENV["COMPUTERNAME"]) && $_ENV["COMPUTERNAME"])
{
   Define('COMPUTER_NAME', strtolower($_ENV["COMPUTERNAME"])); 
} 
else 
{
   // Your computer name (optional)
   Define('COMPUTER_NAME', 'mycomp');                       
}

 Define('DOC_ROOT', dirname(__FILE__));              // Your htdocs location (should be detected automatically)

 Define('SERVER_ROOT', '/var/www/html');
 Define('PATH_TO_PHP', 'php');
 Define('PATH_TO_MYSQLDUMP', "mysqldump");

 
if (isset($_ENV["S2G_BASE_URL"]) && $_ENV["S2G_BASE_URL"])
{
   Define('BASE_URL', $_ENV["S2G_BASE_URL"]);
}
else 
{
   // Your base URL:port (!!!)
   Define('BASE_URL', 'http://127.0.0.1:80');              
}

Define('ROOT', DOC_ROOT."/");
Define('ROOTHTML', "/");
Define('PROJECT_DOMAIN', $_SERVER['SERVER_NAME']);

// 1-wire OWFS server
//Define('ONEWIRE_SERVER', 'tcp://localhost:8234');    



//   Define('HOME_NETWORK', '192.168.1.*');                  // home network (optional)
   Define('EXT_ACCESS_USERNAME', 'wwwwww');                  // access details for external network (internet)
   Define('EXT_ACCESS_PASSWORD', 'XXXXXXXX');


/// (Optional)
//Define('DROPBOX_SHOPPING_LIST', 'c:/data/dropbox/list.txt');  

 $restart_threads=array(
                       'cycle_execs.php', 
                       'cycle_main.php', 
                       'cycle_ping.php', 
                       'cycle_scheduler.php', 
                       'cycle_states.php', 
                       'cycle_webvars.php');

 //Define('USE_PROXY', '127.0.0.1:8888');               //PROXY SERVER DETAILS (optional)
 //Define('USE_PROXY_AUTH', 'user:password');           //PROXY SERVER AUTH (optional)

 //Define('HISTORY_NO_OPTIMIZE', 1);


Define('MASTER_UPDATE_URL', 'https://github.com/sergejey/majordomo/archive/master.tar.gz'); // master update URL (https://github.com/sergejey/majordomo/archive/alpha.tar.gz)

Define('WAIT_FOR_MAIN_CYCLE', 1);
//Define('TRACK_DATA_CHANGES', 1);                                   // TRACK EVENTS
//Define('TRACK_DATA_CHANGES_IGNORE', 'cycle_, clockchime, uptime, WSClientsTotal'); // IGNORE

Define('GETURL_WARNING_TIMEOUT',5);                   // TIMEOUT LIMIT FOR getURL function warning

//Define('SEPARATE_HISTORY_STORAGE',1);                 // STORE HISTORY DATA IN DIFFERENT TABLES
//Define('LOG_DIRECTORY', 'c:/temp');                 // PATH TO STORE LOGS
Define('PATH_TO_FFMPEG','avconv');
//Define('DISABLE_PANEL_ACCELERATION', 1);
//Define('VERBOSE_LOG',1); // STORE SYSTEM ACTIVITY IN VERBOSE LOG
//Define('VERBOSE_LOG_IGNORE','.checkstate, ThisComputer.uptime'); // IGNORE SOME DATA
//Define('DISABLE_SIMPLE_DEVICES',1); // disables simple devices behavior
define('WEBSOCKETS_PORT',8001);
PI2 + MQTT + 5 ESP8266 + Atmega16
Ответить