Я пишу скрипт, который (в основном) управляет некоторыми моторами с распиновых штифтов. Некоторое время я делал это правильно, и когда я загружаю pi и запускаю программу вручную, она работает просто отлично. У меня также есть часть кода, которая позволяет мне использовать мой телефон для подключения через Bluetooth и отправлять некоторые данные для управления двигателями. Это также отлично работает при ручном запуске программы.
Теперь я пытаюсь заставить программу запускаться автоматически при загрузке, так как в конечном итоге это будет go на большей машине (лодке), и я не буду подключить монитор et c. к этому. В настоящее время я делаю это через работу cron с тегом @reboot. Выглядит примерно так:
#This enables GPIO (as far as I know). The program fails without this command being run first.
@reboot sudo pigpiod
#This runs the python program. ampersand forks the process because it should run continuously.
@reboot python3 /home/pi/Desktop/BoatBrain.py &
#and this lets me connect my phone over bluetooth. The python program has
#a portion takes data from that connection. ampersand forks the process, which
#seems like the right thing to do, since it looks like it blocks other things.
#That is also why it is at the end of the cron table.
@reboot sudo rfcomm watch hci0 &
Когда я перезагружаюсь, все задания запускаются, и я могу подключить свой телефон, поэтому он, должно быть, прошел линию, выполняющую сценарий python, но серво, которое я подключил, просто дрожит на месте неудержимо. Позвольте мне повторить, что, когда я убираю cronjobs и запускаю это вручную, программа работает правильно, практически без дрожания, поэтому не возникает проблем с электричеством ...
Если вам нужна дополнительная информация пожалуйста, дайте мне знать, и я буду рад предоставить это. У меня есть тенденция опускать вещи без понимания XD
Спасибо!