Помогите пожалуйста! Нужно настроить управление raspberry с виджета.

Тема в разделе "Raspberry Pi", создана пользователем Loxnessy, 17 янв 2017.

  1. Loxnessy

    Loxnessy Нуб

    Нашел замечательный виджет на телефон, позволяющий отправлять команды на Расби через сокет.
    В нем я делаю команду например localhost:порт/sudo reboot. Сервер с Гиктаймса или сервер с Хабра со следующим кодом, как пример:

    Код (Python):
    import socket

    sock = socket.socket()
    sock.bind(('', порт))
    sock.listen(1)
    conn, addr = sock.accept()

    print 'connected:', addr

    while True:
        data = conn.recv(1024)
        if not data:
            break
        conn.send(data.upper())

    conn.close()
    получает сообщение, оно отображается в терминале, но не интерпретируется как команда. Требуется настроить скрипт, чтобы команда выполнялась. Помогите пожалуйста!

    ps. этот сервер тоже пробовал, результат одинаковый.
     
  2. CryNET

    CryNET Гик

    Так получить то вы получаете, но вы получаете string. Вам же этот string надо отдать в аргумент методу, который уже исполнит его в системе.
     
  3. CryNET

    CryNET Гик

    Первая ссылка в гугле:

    Код (Python):
    // http://python.su/forum/topic/12358/?page=1#post-76020

    обратитесь к модулю subprocess. Самый простой способ:
    >>> import subprocess
    >>> subprocess.call('uname -a', shell=True)
    Linux krolik-PC 3.0.0-8-generic #11-Ubuntu SMP Fri Aug 12 20:23:58 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
    0
    >>>

    Для большего контроля и обработки потоков ввода-вывода - читайте доку и смотрите в сторону Popen и PIPE.