测试了网上找到的三种方法(修改etc/rc.local,创建服务的形式,桌面自启动),最后在一个系统版本上成功了第三种,其它不成功的情况应该属于系统的原因,具体原因根据错误提示都没有解决。最后更换系统版本,第三种方法才成功了,当前系统下前两种方法仍然不行。而且,当前系统下的这种随桌面自启动的方式必须启动系统桌面才行。
系统版本:
具体方法:
1、在/home/pi/.config下创建一个文件夹,名称为autostart,并在该文件夹下创建一个xxx.desktop(本项目创建的时cow.desktop)文件,文件内容如下:
[Desktop Entry]
Name=mpu_sr_udp
Exec=python3 /home/pi/cow/mpu_sr_udp.py
Icon=/home/pi/Robot/Robot.png
Terminal=true
MultipleArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=true
NoDisplay=true
2、保存文件,重启树莓派
说明:
重启后,进入树莓派终端,通过进程查看命令ps u和ps a都看不到和执行文件“mpu_sr_udp.py”的显示信息,但是用ps x,ps aux,ps ax都可以看到。如图:
通过远程客户端程序连接成功,能收到mpu_sr_udp.py程序发送的mpu6050的数据。