Передать данные из питон скрипта в МЖД
Модератор: immortal
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Передать данные из питон скрипта в МЖД
Есть питоновский скрипт, результатом которого является число. Мне это число нужно передать в МЖД для обработки. Подскажите как это правильно сделать. Всё что приходит на ум это питоновский скрипт сохраняет число в файл, а потом на пхп читать этот файл. Но возможно есть более элегантное решение. Спасибо.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
Можно url дернуть:
В этом примере вызывается сценарий json_js и ему передаются два параметра. По аналогии можно сразу свойству объекта значение присваивать.
Либо в самом MJD запускать питоновский скрипт через exec():
Код: Выделить всё
import urllib
current_url = 'http://192.168.1.10/objects/?script=json_js&mac=%s&rssi=%s' % (list_beacon[0],list_beacon[1])
urllib.urlopen(current_url)
Либо в самом MJD запускать питоновский скрипт через exec():
Код: Выделить всё
$value = exec('sudo python путь_к_питоновскому_скрипту');
- Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
вы не поняли, мне не надо запускать скрипт средствами МЖД, мне надо в МЖД передать результат работы скрипта.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
Ну а первый вариант чем тогда не устроил?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
пока так и сделал, я не опытный девелопер и мне почему-то показалось что это кривое решение
но если ни у кого не появилось другого решения, то наверно это норм
но если ни у кого не появилось другого решения, то наверно это норм
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
В чем кривость использования штатного api MJD? Или вы сделали по своему, через промежуточный файл? ))
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
да, сделал через промежуточный файл и именно этот способ я назвал "кривым", а не api MJD. Втом то и дело, что я не знаю как использовать api MJD. На сколько я понял, вот в этом примере
в питоноском скрипте вызывается сценарий из МЖД. Тут передаётся 2 параметра, и то что я хочу передать необходимо указать вместо переменной list_beacon ? Если да, то как мне обращаться к ней внутри сценария мжд?
Код: Выделить всё
import urllib
current_url = 'http://192.168.1.10/objects/?script=json_js&mac=%s&rssi=%s' % (list_beacon[0],list_beacon[1])
urllib.urlopen(current_url)
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
Все верно понимаете. Возможно, проще будет не сценарий вызывать, а сразу свойству объекта присваивать значение:ThisComputer это объект, MyValue это его свойство, list_beacon[0] это переменная в питоновском скрипта, которую и нужно передать в мажордомо. Поменяйте их на свои, ну и ip сервера свой подставить.
Код: Выделить всё
import urllib
current_url = 'http://192.168.1.10/objects/?object=ThisComputer&op=set&p=MyValue&v=%s' % (list_beacon[0])
urllib.urlopen(current_url)
- Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Передать данные из питон скрипта в МЖД
skysilver ваш код отлично работает из под админа (у меня win 10), но пхп функция exec() не может запустить питоновский скрипт без админских прав. МЖД я запускаю под админом, но php.exe по какой-то причине запускается под моим локальным пользователем (это я вижу в диспетчере задач) и из-за этого функция exec() не хочет запускать мой скрипт. Подскажите как php.exe заставить запускаться под админом в момент старта всей системы МЖД либо по другому как-то решить эту проблему. Спасибо.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 57
- Зарегистрирован: Ср авг 02, 2017 10:16 pm
- Благодарил (а): 17 раз
- Поблагодарили: 1 раз
Re: Передать данные из питон скрипта в МЖД
shell_exec попробуйте так, у меня так получалось.Gelezako писал(а):skysilver ваш код отлично работает из под админа (у меня win 10), но пхп функция exec() не может запустить питоновский скрипт без админских прав. МЖД я запускаю под админом, но php.exe по какой-то причине запускается под моим локальным пользователем (это я вижу в диспетчере задач) и из-за этого функция exec() не хочет запускать мой скрипт. Подскажите как php.exe заставить запускаться под админом в момент старта всей системы МЖД либо по другому как-то решить эту проблему. Спасибо.