Автозапуск программ на малинке

Тема в разделе "Raspberry Pi", создана пользователем Meruzhan, 21 янв 2021.

  1. Meruzhan

    Meruzhan Нуб

    Здравствуйте дорогие форумчане. Подскажите пожалуйста как после деплоя с Matlab программы на Raspberry pi, автоматически запустить ее в самостоятельном режиме при старте малинки.Спасибо.
     
  2. Meruzhan

    Meruzhan Нуб

    В Raspberry pi нашел файл blinkLED1 созданный после деплоя с Матлаб. Файл находится в /home/pi/remoteBuildDir/MATLAB_ws/R2020b. Как его запустить на Raspberry? Спасибо.
     
  3. ZAZ-965

    ZAZ-965 Гуру

  4. Meruzhan

    Meruzhan Нуб

    Спасибо дорогой Гуру за ответ. Я, после работы в Matlab-е, сделал деплой на Raspberry pi 3. Там в папке созданной Матлабом, есть файлы в форматах С, h, elf . Tеперь хочу сделать автозагрузку этого алгоритма при запуске Raspberry pi. В инете я нашел указанные Вами методы автозагрузки,но не знаю какой формат файла записать в папку автозагрузки и пока не получается нормально запустить программу.Спасибо.
     
    Последнее редактирование: 22 янв 2021
  5. Un_ka

    Un_ka Гуру

    Это ещё не скомпилированные.
    Скомпилировал МатЛабовским компилятором под архитектуру arm или что?
     
  6. Meruzhan

    Meruzhan Нуб

    да, Скомпилировал МатЛабовским компилятором под архитектуру arm. Сразу после деплоя на распберри, программа запускается.Когда заканчивается выполнение алгоритма, не могу вручную еще раз запустить ее.
     
  7. Igor68

    Igor68 Гуру

    если не затруднит покажите права запуска этой программы типа:
    Код (Bash):
    ls -al <путь к запускаемому файлу>
    или зайдите в ту директорию, где она находиться и:
    Код (Bash):
    ls -al
    сразу станет ясно
     
  8. Meruzhan

    Meruzhan Нуб

    Спасибо всем,кто ответил и захотел помочь мне. Я нашел решение. Опишу,может кому тоже пригодится. В Матлабе, для функции деплоя(развертки скрипта на целевой плате), создаем обьект конфигурации для нашего хардвера
    board = targetHardware('Raspberry Pi')
    В числе пунктов есть и такая
    EnableRunOnBoot: 0 т.е. не запускать при загрузке. Если поменять значение на 1, то все пойдем как я хотел.А это можно сделать командой board.EnableRunOnBoot = true

    Еще раз спасибо всем.
     
  9. a0639

    a0639 Нерд

    В /etc/rc.local прописать запуск программы наверное самое простое. Только нужно полные пути писать.
    Например так, python3 /home/pi/myprog.py &
    Амперсанд - запуск в фоновом режиме, если myprog.py будет выполняться долго.
     
    Andrey12 нравится это.
  10. Prochor

    Prochor Нерд

    ПРИМЕР
    Создаем файл asplashscreen в /etc/init.d/

    Код (Bash):
    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides:          asplashscreen
    # Required-Start:
    # Required-Stop:
    # Should-Start:    
    # Default-Start:     S
    # Default-Stop:
    # Short-Description: Show custom splashscreen
    # Description:       Show custom splashscreen
    ### END INIT INFO


    do_start () {

        /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png  
        exit 0
    }

    case "$1" in
      start|"")
        do_start
        ;;
      restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
      stop)
        # No-op
        ;;
      status)
        exit 0
        ;;
      *)
        echo "Usage: asplashscreen [start|stop]" >&2
        exit 3
        ;;
    esac

    :
    Устанавливаем разрешения и автозагрузку

    Код (Bash):
    sudo chmod a+x /etc/init.d/asplashscreen
    sudo insserv /etc/init.d/asplashscreen
    sudo reboot